質問
Python で K-Means アルゴリズムを実装しました。まず、入力データに PCA とホワイトニングを適用します。次に、k-means を使用して、データから k 個の重心を正常に減算します。
これらのセントロイドを使用して、学習した「機能」を理解するにはどうすればよいですか? 重心はすでに特徴ですか (私にはこのようには見えません)、それとも再び入力データと組み合わせる必要がありますか?
いくつかの答えのために:K-meansはクラスタリングの「単なる」方法ではなく、ベクトル量子化方法です。つまり、k-means の目標は、特徴ベクトルの数を減らしてデータセットを記述することです。したがって、潜在的な結果に関しては、Sparse Filtering/Learning などの方法に大きな類似点があります。
コード例
# Perform K-means, data already pre-processed
centroids = k_means(matrix_pca_whitened,1000)
# Assign data to centroid
idx,_ = vq(song_matrix_pca,centroids)