【发布时间】:2018-12-15 09:28:30
【问题描述】:
我正在尝试使用 sklearn kneighborsclassifier 在葡萄酒质量数据上训练一个简单的模型。这是我的代码:
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
import numpy as np
dataframe = pd.read_csv("winequality-white.csv")
dataframe = dataframe.drop(["fixed acidity", "pH", "sulphates"], axis=1)
test = dataframe[110:128]
train = dataframe[15:40]
Y = train["quality"]
X = train.drop(["quality"], axis=1)
#print(X)
#print(Y)
knn = KNeighborsClassifier()
knn.fit(X, Y)
testvals = np.array(test.loc[110, :])
testvals = testvals.reshape(1, -1)
print(knn.predict([[testvals]]))
我收到错误“ValueError: Found array with dim 4. Estimator expected
我相当确定它与我的阵列的形状有关,我试图重塑它,但没有运气。我该怎么办?
【问题讨论】:
-
哪一行引发了 ValueError?
-
这是最后一行,因为我的 testvals 数组是一个 4-D 数组。当我将目标从测试中弹出并通过预测传递数组的一个条目时,问题就解决了,我根本不需要重塑它。如@Tgsmith61591所示
标签: python scikit-learn knn