我正在從Python中的scikit-learn庫中使用KNeighborsClassifier算法。我遵循了基本的說明將我的數據和標籤分成訓練和測試數據,然後在訓練數據上訓練我的模型。現在我正試圖預測測試數據的準確性,但是會出現錯誤。這是我的代碼:KNeighborsClassifier .predict()函數不起作用
from sklearn.neighbors import KNeighborsClassifier
from sklearn.cross_validation import train_test_split
from sklearn.metrics import accuracy_score
data_train, data_test, label_train, label_test = train_test_split(df, labels,
test_size=0.2,
random_state=7)
mod = KNeighborsClassifier(n_neighbors=4)
mod.fit(data_train, label_train)
predictions = mod.predict(data_test)
print accuracy_score(label_train, predictions)
錯誤我得到:
ValueError: Found arrays with inconsistent numbers of samples: [140 558]
140的訓練數據的所述部分和558是基於所述test_size測試數據= 0.2(我的數據組是698個樣本)。我驗證了標籤和數據集的大小是698,但是,我得到這個基本上試圖比較測試數據和訓練數據集的錯誤。
有沒有人知道這裏有什麼問題?我應該使用什麼來訓練我的模型和我應該用什麼來預測分數?
謝謝!
謝謝@Igaud!它確實有用!現在,當我在查看文檔時,它很明顯。我碰巧遇到了教程中所犯的錯誤。 – semenoff