ValueError Expected 2D array got 1D array instead

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

1.你也可能是这种

修改前 test_prediction = svc.predict(hog_features.reshape) 修改后 test_prediction = svc.predict(hog_features.reshape(1,-1)) 


2.这种可能

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import stylestyle.use("ggplot")from sklearn import svmx = [1, 5, 1.5, 8, 1, 9]y = [2, 8, 1.8, 8, 0.6, 11]plt.scatter(x,y)plt.show()X = np.array([[1,2],             [5,8],             [1.5,1.8],             [8,8],             [1,0.6],             [9,11]])y = [0,1,0,1,0,1]X.reshape(1, -1)clf = svm.SVC(kernel='linear', C = 1.0)clf.fit(X,y)print(clf.predict([0.58,0.76]))
就是没有满足2D都不涉及reshape

修改为

print(clf.predict([[0.58,0.76]]))


3.自己遇到的情况.fit_transform(dataset3_preds.label)出错

参考

ValueError Expected 2D array got 1D array instead

主要是工具包版本更新造成的,面对上面问题,我们根据上面错误的提示相应的找出出错的那行代码:

#修改前dataset3_preds.label = MinMaxScaler(copy=True,feature_range=(0,1)).fit_transform(dataset3_preds.label)

例如数据格式为[1,  2, 3, 4]就会出错,如果把这行数据转换成[[1], [2], [3], [4]]

dataset3_preds.label = MinMaxScaler(copy=True,feature_range=(0,1)).fit_transform(dataset3_preds.label.reshape(-1,1))#修改后


再运行程序,错误消除。




           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

ValueError Expected 2D array got 1D array instead