私は2つのクラスターを持つ30個のサンプルのセットに対してk-meansクラスタリングを行っています(私は既に2つのクラスがあることを知っています)。データをトレーニングとテストセットに分け、テストセットの精度スコアを計算しようとします。しかし、2つの問題があります。まず、k-meansクラスタリングのために実際にこれを実行できるかどうかはわかりません(テストセットの精度スコア)。第二に、もし私がこれを行うことが許されていれば、私の実装が苦労しているか間違っているか。sklearn:テストデータセットのk-meansの精度スコアを計算する
df_hist = pd.read_csv('video_data.csv')
y = df_hist['label'].values
del df_hist['label']
df_hist.to_csv('video_data1.csv')
X = df_hist.values.astype(np.float)
X_train, X_test,y_train,y_test = cross_validation.train_test_split(X,y,test_size=0.20,random_state=70)
k_means = cluster.KMeans(n_clusters=2)
k_means.fit(X_train)
print(k_means.labels_[:])
print(y_train[:])
score = metrics.accuracy_score(y_test,k_means.predict(X_test))
print('Accuracy:{0:f}'.format(score))
k_means.predict(X_test)
print(k_means.labels_[:])
print(y_test[:])
しかし、私は、印刷時にテストセットのラベル(k_means.predict(X_test)プリント(k_means.labels_の[:])を)kは、意味:ここで私が試したものですし、最後の3行にy_testのラベル(print(k_means.labels_ [:]))を貼り付けたとき、X-train用に作成されたラベルではなく、テスト。私がここで間違っているかもしれないどんな考え? k-meansのパフォーマンスを評価するために私がやっていることはまったく正しいですか? ありがとうございました!
あなたはlejlotありがとうございます! – Miranda