Data Science Academy · レッスン

まずスケーリングしてからPCAを適用する

ここで標準化が重要な理由

レッスン 3/413 ステップ

「まずスケーリングしてからPCAを適用する」はCoddyKit上の無料Data Science Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはData Science Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Data Science Academyコースには全4レッスンが含まれています。

PCAはスケールを重視する

PCAは最大の分散を追いますが、分散は単位によって変わります。値の大きい特徴量は、単にscaleが大きいというだけで支配的になることがあります。

単位による落とし穴

給与をドル、年齢を年で並べる場合を考えてみましょう。給与は数千単位で変動するため、PCAは不公平にも給与をはるかに重要だと判断します。

最初に標準化する

解決策はstandardizationです。すべての特徴量を平均0、分散1になるよう再スケーリングし、同じ条件から始められるようにします。

StandardScalerを使う

scikit-learnのStandardScalerは、PCAに渡す前に列を中心化してスケーリングします。

from sklearn.preprocessing import StandardScaler
Xs = StandardScaler().fit_transform(X)

その後でPCAをfitする

PCAは生のデータではなく、スケーリング済みのデータに適用します。これで各成分は偏ったunitsではなく、実際の構造を反映します。

from sklearn.decomposition import PCA
scores = PCA(n_components=2).fit_transform(Xs)

中心化も重要

PCAは、データが0を中心としていることを前提にします。標準化では各列の平均を引くため、軸がデータの中心を通るようになります。

パイプラインにつなぐ

scalerとPCAをPipelineにまとめ、常にスケーリングが先に行われるようにします。これにより、データ分割間のリークも防げます。

from sklearn.pipeline import make_pipeline
pipe = make_pipeline(StandardScaler(), PCA(2))

学習データだけでfitする

scalerは学習データでfitし、その後テストデータで再利用します。すべてのデータでfitすると情報が漏れ、スコアが不当に高くなります。

省略してもよい場合

すべての特徴量が同じ単位と範囲を持つ場合、スケーリングの重要性は低くなります。迷ったときは、念のためstandardizeしてください。悪影響はほとんどありません。

違いを確認する

単位が混在するデータに対して、スケーリングありとなしの両方でPCAを実行します。説明されたvarianceと上位成分は、はっきり異なる結果になります。

頑健な選択肢もある

外れ値が強い場合はRobustScalerを検討しましょう。中央値と四分位数を使うため、極端な点がPCAに与える影響を抑えられます。

from sklearn.preprocessing import RobustScaler

クイックチェック

PCAの直前には、ほぼ必ず行うステップが1つあります。

まとめ

PCAはスケールの影響を受けるため、最初にstandardizeし、学習データだけでfitします。パイプラインを使えば順序も安全に保てます。🎯

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「まずスケーリングしてからPCAを適用する」レッスンは無料ですか?

はい。「まずスケーリングしてからPCAを適用する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Data Science Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Data Science Academyコースには全4レッスンが含まれています。

「まずスケーリングしてからPCAを適用する」で何を学びますか?

ここで標準化が重要な理由 ブラウザで直接実行するハンズオンコードでData Science Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Data Science Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのData Science Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「まずスケーリングしてからPCAを適用する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このData Science Academyレッスンでコードを書いて実行できますか?

はい。すべてのData Science Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 特徴量が多すぎる問題
  2. PCAが成分を見つける仕組み
  3. まずスケーリングしてからPCAを適用する
  4. スクリープロットで成分を選ぶ
← Data Science Academyに戻る