私は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)
Iを取得エラー:
ValueError: Found arrays with inconsistent numbers of samples: [140 558]
140は、トレーニングデータの一部であり、558はtest_size = 0.2に基づいてテストデータである(私のデータセットは698個のサンプルであります)。ラベルとデータセットのサイズが同じであることを確認しました。しかし、このエラーは、基本的にテストデータとトレーニングデータセットを比較しようとしています。
ここで何が間違っているのですか?どのように私のモデルを訓練するために使用する必要がありますと私はスコアを予測するために使用する必要がありますか?
ありがとうございます!
@Igaudありがとうございました!それはうまくいった!今私はドキュメントを見ているとき、それは一種のものです。私はチュートリアルで行われた間違いに従うことがあります。 – semenoff