2

特定のデータセットに対してプリンシパルコンポーネント分析を実行し、主成分をLogisticRegressionクラシファイアにフィードします。PCAを適用して分散の割合を維持する

具体的には、computePrincipalComponentsAndExplainedVarianceを使用して、PCAを適用し、合計分散の90%を維持したいと考えています。

は、ここでデータセットを読み込むためのコードです:

// Load the data 
val text = sparkSession.sparkContext.textFile("dataset.data")   
val data = text.map(line => line.split(',').map(_.toDouble)) 
// Separate to label and features 
val dataLP = data.map(t => (t(57), Vectors.dense(t.take(57)))) 

私は全分散の90%が維持されるようにPCAを実行するかどうかはかなりわかりません。

答えて

2

関数computePrincipalComponentsAndExplainedVarianceを使用すると、戻り値は各主成分ごとに説明された分散を示す値を持つベクトルと同様に行列になります。

戻り値:サイズn行K列の主成分であり、マトリックス、および各主成分が使用することにより

を説明どのくらいの分散を示す値のベクトルdocumentationから入力として十分な大きさのkは、ベクトルの数値を90%以上になるまで単純に合計してから、行列のその列を使用します。

関連する問題