私は次のタスクを与えられました:
フィールドセンサーの量を20に減らしたいと思います。前の質問から、すべてのロードベクトル(pca.components_)主成分ごとに1つのベクトル、137個の要素(各センサごとに1つ)。クラスタリングを使用して、同じように動作するセンサーをグループ化します。Kはクラスタの列を意味します
私のデータ: は、137の異なるセンサーと8784行で構成されています。
私は私のデータを標準化した後、私は次のコードを実行
(これは、彼らが同じに右毎回、計測意味でしょうか?)16個の列が0の標準偏差を有しているので、それらを削除することを参照してください。
from sklearn.decomposition import PCA
# Do your PCA here.
pca = PCA(n_components=120)
pca.fit(data['std'])
from sklearn.cluster import KMeans
X_pca = pca.transform(data['std'])
# Apply your clustering here
km = KMeans(n_clusters=20, init='k-means++',n_init=10, verbose=0);
km.fit(X_pca);
cluster_pred = km.predict(X_pca);
plt.figure(figsize=(10,5))
plt.scatter(X_pca[:,0], X_pca[:,1], c=cluster_pred, s=20, cmap='viridis')
plt.show()
ここではすべての行がクラスタ化されてしまいます。私はどのようにこれを変更して各列をクラスタ化するので、各クラスタからセンサーを選択できますか?
選択のために、私はちょうど各クラスタの中心を取るべきですか?
データマトリックス – GWW