PCA (HD)
直交変換を使用して、相関している可能性がある変数の一連の観測値を、相関していない変数 (主成分) の値のセットに変換します。
情報一覧
|
パラメーター |
説明 |
|---|---|
| カテゴリー | モデル |
| データ ソース タイプ | HD |
| 出力を他のオペレーターに送信 | はい |
| データ処理ツール | インメモリ: MapReduce または Spark (入力構成に応じて) |
アルゴリズム
PCA (主成分分析) は、データを新しい座標系に変換する直交線形変換であり、データの投影による最大の分散が最初の座標 (第 1 主成分と呼ばれる) に位置し、2 番目に大きい分散が 2 番目の座標に位置するようになります。 2 番目の座標、3 番目の座標、3 番目の座標は、座標の数に達するか、事前に設定された最大主成分しきい値に達するまで続きます。
アルパイン PCA オペレーターは、データ共分散行列 Σ (または相関行列 R) の固有値分解を実装します。
- 各主成分は元の変数の線形結合です。
- 係数 (負荷) は、単位長の共分散行列 Σ (または相関行列 R) の固有ベクトル (v1、v2、...vp) です。
- 固有値 (λ1、λ2、...λp) は、それに関連付けられた主成分の寄与を示します。
- 主成分は、分散の寄与に応じて降順で並べ替えられます。
- ユーザーは累積寄与度に応じて主成分の数を選択できます (∑ij=1λj/∑pK=1λK)。
詳細については、『Principal Component Analysis、(1986)、Joliffe、I.T. 』を参照してください。
追加の参考資料:
- Jerome Friedman, Trevor Hastie, Robert Tibshirani (2008), The Elements of Statistical Learning Data Mining, Inference and Prediction Chapter 3: "Linear Methods for Regression"
- Joliffe, I.T. (1986), Principal Component Analysis, New York, Springer
- Wu, W., Massart, D.L., and de Jong, S. (1997), "The Kernel PCA Algorithms for Wide Data. Part I: Theory and Algorithms" Chemometrics and Intelligent Laboratory Systems, 36, 165-172.
入力
前のオペレーターからのデータセット。
構成
| パラメーター | 説明 |
|---|---|
| ノート | このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。 |
| カラム | [カラム] をクリックすると、変数の削減されたセットを作成するために、PCA アルゴリズムによる変換に使用可能な変数カラムを選択するためのダイアログが開きます。 |
| センター | [はい] (デフォルト) の場合、PCA 行列変換アルゴリズムが実行される前に、各変数カラムの平均値が 0 に設定されます。 [スケール] と組み合わせると、次のことが適用されます。
通常、PCA アルゴリズムはデータが最初に中央に配置される場合にのみ意味を持ちます。そのため、デフォルトは [はい] に設定されます。 [Spark を使用する] が [はい] に設定されている場合、このパラメーターはグレー表示になります。 |
| スケール | スケール オプションが選択されている場合、各変数のデータ値は標準偏差で除算され、すべてのカラムのデータの広がりが同じになります (つまり、互いに等しいスケールになります)。 アルゴリズムへの影響の詳細については、「センター」を参照してください。 デフォルト値: はい。標準偏差がゼロの変数は PCA に入力しないでください。 [Spark を使用する] が [はい] に設定されている場合、このパラメーターはグレー表示になります。 |
| メモリ内しきい値 | PCA を Hadoop MapReduce ジョブによって計算するか、メモリ内 SVD (分散モードではなく単一マシン) によって計算するかを決定します。 トレーニング データセット内の行数がしきい値よりも少ない場合、PCA アルゴリズムはメモリ SVD で実行されます。それ以外の場合は、MapReduce ジョブによって計算されます。 入力パラメータ [Spark を使用する] が [はい] に設定されている場合、ジョブはこのパラメーターの値に関係なく Spark で実行されます (グレー表示されます)。 ノート: MapReduce オプションは現在非推奨です。 |
| 出力するコンポーネントの最大数。 | 上位の分散成分から計算する主成分の上限数を決定します。次元の削減を支援するために、この値はトレーニング データセットの列数と同じか、通常はそれより少ない値にする必要があります。 この値の選択は、カバーしたい累積分散に応じて異なります。この数値が十分なコンポーネントを返すかどうかを確認するには、出力タブ 分散 ([Spark の使用] が [はい] に設定されている場合) または出力タブ 累積分散 ([Spark を使用する] が [いいえ] に設定されている場合)。 |
| 分散モードの追加実行 | インメモリ SVD を計算するときに実装するアルゴリズムの必要な追加パスの数を指定します。通常、数または行がメモリ内しきい値よりも小さい場合は、単一パスの結果で十分です。 デフォルト値: 0 (追加の実行なし)。 [Spark を使用する] が [はい] に設定されている場合、このパラメーターはグレー表示になります。 |
| 最大 JVM ヒープ サイズ (MB) (-1=自動) | Hadoop 用の Java 仮想マシン データ ストレージ設定。 (Spark オプションのみ)
[Spark を使用する] が [はい] に設定されている場合、このパラメーターはグレー表示になります。 |
| Spark を使用 | [はい] (デフォルト) の場合、Spark を使用して計算時間を最適化します。 |
| 高度な Spark 設定の自動最適化 |
|
出力







次の例は、Hadoop ワークフロー内の PCA および 予測器 オペレーターを示しており、その出力は 相関オペレーターに渡され、追加された変換された変数に相関がないことが確認されます。
詳細については、「予測器 (HD)」オペレーターを参照してください。
例