scikit-learn PCAを使用して、約20000個のフィーチャと400個以上のサンプルを持つデータセットの主成分を見つけています。オレンジPCAとscikit-learn PCAの結果が異なる
しかし、scikit-learn PCAを使用するOrange3 PCAと比較すると、私は異なる結果を得ています。 Orange3 PCAが提案した正規化オプションもチェックしなかった。
scikit-learnで、最初の主成分は〜14%の割合を占め、2番目の主成分は〜13%を占めるようになります。
私は(第一主成分などのための分散の〜65%)を非常に異なる結果を得るOrange3で:
scikit学習を使用して私のコードは次のとおりです。
import pandas as pd
from sklearn.decomposition import PCA
matrix = pd.read_table("matrix.csv", sep='\t', index_col=0)
sk_pca = PCA(n_components=None)
result = sk_pca.fit(matrix.T.values)
print(result.explained_variance_ratio_)
Orange3では、ファイルブロックを使用してcsvをロードしました。次に、このブロックをPCAブロックに接続しました。このブロックでは、正規化オプションがチェックされていません。
2つの方法の違いはどこですか?
データポイント(またはサンプル)を表す行とフィーチャを表す列を持つ機械学習の*標準*です。将来の参照のために:P –
合意しました、これはSQL、pandas、およびRデータフレームも同様です。 –