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)出錯
:參考
主要是工具包版本更新造成的,面對上面問題,我們根據上面錯誤的提示相應的找出出錯的那行代碼:
#修改前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))#修改後
再運行程式,錯誤消除。