問題タブ [pca]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 信頼区間にホテリングの T2 を使用した R PCA プロット
私のテスト データでは、関数を使用して最初の 2 つの主成分を計算しましたprcomp。次に、プロット関数を使用して最初の 2 つのコンポーネントをプロットしました。
ここで、ホテリングの T2 統計を使用して 95% の信頼区間を表すデータの周りに楕円を配置したいと思います。
SensoMineRパッケージ、特にpanellipse機能は、私が探しているもののようです。ただし、私の R の知識はまだかなり限られているため、そのような信頼区間を構築するために正しい方向に向けていただけないでしょうか。
どうもありがとう!ジャッキー
r - RのPCAプロットに複数の信頼楕円を追加するには?
私は一般的にRと統計に非常に慣れておらず、複数の信頼楕円をPCAプロットに追加するのに苦労しています。
私の関心は、PCA プロットで潜在的なグループ化/クラスターを 95% 信頼楕円で強調表示することです。R で dataEllipse 関数を使用してみましたが、中心が異なる複数の楕円を PCA プロットに追加する方法がわかりません (中心は、クラスターを含むように見えるさまざまなポイントにあります。この場合、石のソースと石のツール)そのソースから作られている可能性があります)。
これについて助けてくれてありがとう!{
r - NA が許可されているにもかかわらず、R 関数 prcomp が NA の値で失敗する
この関数prcompを使用して、最初の 2 つの主成分を計算しています。ただし、私のデータにはいくつかの NA 値が含まれているため、関数はエラーをスローします。ヘルプ ファイルに記載されているにもかかわらず、定義された na.action が機能しないようです?prcomp
これが私の例です:
Mac OS X 用の最新の R バージョン 2.15.1 を使用しています。
失敗している間に誰かが理由を見ることがprcompできますか?
これが私の新しい例です:
PC1 と PC2 で行 5 を保持することは可能ですか? 私の実際のデータセットには、もちろん 2 つ以上の変数の列があり、それらの一部のみが欠落しており、他の値に隠されている残りの情報を失いたくありません!
python - Python での PCA と上位 2 つのコンポーネントを相互にグラフ化する
各列が異なる時点を表し、各行が特徴を表す行列 (C) で PCA を実行しようとしています。上位の主成分を見つけて、それらを互いにグラフ化しようとしています。私は mdp モジュールを使用していますが、このモジュールが、各行が最も重要な成分を降順に並べた主成分を表す行列を返す場合、混乱します。
ありがとうございました!
dataset - データセットの次元を減らすためのPCAの簡単な説明
PCAは、データセットのどの機能が最も重要であるかを教えてくれませんが、どの機能の組み合わせが最も分散を維持しているかを教えてくれません。
PCAがデータセットを回転させて、データセットの次元を減らすために、最初の次元に沿って最も分散が大きく、2番目に最も分散が大きいという事実をどのように使用できますか?
つまり、より詳細には、特徴ベクトルを分散の大部分を保持する低次元表現に変換するために最初のN個の固有ベクトルをどのように使用するのでしょうか。
matlab - 非常に大きなデータセットで潜在的意味分析を行う方法
ドキュメントを 2 次元でグラフ化できるように、次元を削減するために、約 50,000 のドキュメントと 300,000 の単語/用語を含む非常に大きなデータセットに対して LSA または主成分分析を実行しようとしています。
Python と MATLAB で試しましたが、データセットのボリュームが原因で、どちらのインスタンスでもシステムがメモリ不足になり、クラッシュします。負荷を軽減する方法や、より迅速かつ効率的に実行できる近似 LSA/PCA を実行する方法を知っている人はいますか? 私の全体的な目標は、300k ワードを大幅に次元削減することです。
python - openCVによる固有顔
の顔をいくつか認識しましcv2.createEigenFaceRecognizerた。しかし、私が知りたいのは、入力された顔が計算された固有顔にどの程度似ているかを知ることです。アイデアは、データベースにない人を再認識できるということです。
編集:
例: モデルで顔 A、B、C をトレーニングすると、顔 C と D が表示されます。顔 C と D を区別できるようにしたいと考えています。
ありがとう!
python - 多数の3次元配列の空間グリッドのセット全体のPCA...固有ベクトルの順序付け?
numpy配列に読み込まれた一連の空間グリッドでPCAを実行しようとすると、混乱します。配列としては次のようになります。ここで、mdata [0]は単一グリッド内の行と列のセットを表し、各値はグリッドセルを表します。
次に、配列をフラット化して、セット全体で共分散を適切に計算できるようにします。これにより、入力配列は次のようになります。
主成分を表す一連の出力配列(最終的にはグリッドに変換されます)を生成する必要があります。出力配列は、入力グリッドのセット(つまり、入力配列)全体の各配列要素に対して固有ベクトルを乗算し、それらを合計した結果です。各出力グリッドは、説明された分散の降順で主成分を表します。
したがって、最終的な方程式は次のようになります。
私の質問は...numpy.linalg.eigを介して固有ベクトルを生成した後、それらの順序がわかりません。evec [0]の値(以下の出力を参照)は、最初の主成分出力配列を計算するために使用する必要がある固有ベクトルを表していますか?または、一番下の行(つまり、下のevec [11])から開始する必要がありますか?または、固有ベクトルはnumpy.linalg.eigからの出力で列方向に配置されていますか?
助けてくれてありがとう、そして私はこれの長さをお詫びします。
これが私が使用しているいくつかのサンプルコードと結果の出力です:
python - 共分散行列の計算-numpy.covとnumpy.dotの違いは?
私は3次元のnumpy配列を使用しており、最終的にPCAを実行します。最初に3次元配列を2次元に平坦化して、共分散(次に固有値と固有ベクトル)を計算できるようにします。
共分散行列の計算では、numpy.covとnumpy.dotを使用して異なる結果が得られます。2次元配列が(5,9)の場合、最終的に5x5(つまり、NxN)の共分散行列になります。これは私がnumpy.dotを使って得たものです。numpy.covを使用すると、9x9の共分散行列になります。これは私が必要とするものの形には合いませんが、正直なところ、どちらが正しいかわかりません。私が研究した例では、共分散の計算に使用される両方のアプローチを見てきました。
numpy.dotとnumpy.covをnumpy.linalg.eigの計算で実行すると、明らかに異なる答えが得られます(出力例ではすべて以下に印刷されています)。ですから、この時点で、どちらのアプローチが正しいのか、どこが間違っているのかについて、私はかなり混乱しています。
これが出力付きのテストコードです。助けてくれてありがとう。
r - RでPCAを適用した後に元のデータ行列を再構築する方法
prcompRの関数を使用して、データに PCA を適用しました。
この関数は以下を返します。
- 変化
- 回転行列
- 標準偏差
- スコア (X)
私の質問は次のとおりです。たとえば、2 つの主成分を選択した後、データの縮小バージョンを再構築するにはどうすればよいですか?