2017-02-27 19 views
0

私は、特徴ベクトルにPCAを適用し、その後、私は、次のように、クラスタリングを行う場合は、次のPCA K-平均クラスタリング前

reduced_data = PCA(n_components=2).fit_transform(data) 
kmeans = KMeans(init='k-means++', n_clusters=n_digits, n_init=10) 
kmeans.fit(reduced_data) 
  1. 縮小データがなる後のでPCAコンポーネントの観点から、 kmeanでクラスタリングすると、各点のラベルを得ることができます (reduced_data)、どのように起源データから知るには?

  2. クラスタの数に関するいくつかのPCAコンポーネントの再生方法は?ありがとう。

答えて

0
  1. PCAは、ラベルは変更されませんn_components = 2にnを(あなたの質問では不明)から指定された次元の数を減らし、データ行列の行は切り替えません。結果のクラスタを元のデータに直接マッピングできます。

  2. n_componentsの選択は、元のデータと比較して保持される分散に依存します。まず、k-meansは堅牢ではないので、複数回初期化し、その結果を指定されたn_componentsと比較する必要があります。次に、プロットできる関連する固有値に基づいて変数n_componentsを選択します。 さらに、PCAはスケーリングに対して敏感なので、PCAの前に正規化を検討する必要があります。 したがって、あなたの質問に答えるために、n_componentsの選択は、保持する分散に関する考え方と、達成したいクラスタの数に起因するものではないはずです。

もう一つの思考:代わりにK-手段を使用して、あなたは、このようなDBSCANなどの入力としてクラスタのターゲットnumbnerを必要としないクラスタリングアルゴリズムを使用することができます。

関連する問題