Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ スケーリングと正規化 | セクション
データ前処理と特徴量エンジニアリング

bookスケーリングと正規化

メニューを表示するにはスワイプしてください

データ内の数値特徴量は、しばしば非常に異なるスケールを持っており、これは機械学習アルゴリズムの性能に悪影響を及ぼすことがあります。特に距離計算を利用するアルゴリズムや正規分布を仮定するアルゴリズムでは顕著です。スケーリングは、すべての特徴量がモデル学習に均等に寄与することを保証します。

主なスケーリング手法は次の2つです:

  • 正規化(Normalization):特徴量を固定範囲、通常は0から1の間に再スケーリングします;
  • 標準化(Standardization):特徴量を平均0、標準偏差1となるように変換します。

それぞれの手法はデータの範囲を異なる方法で変更し、特定の状況に最適です。

1234567891011121314151617181920212223242526272829
import pandas as pd from sklearn.preprocessing import StandardScaler, MinMaxScaler # Load Titanic dataset from seaborn import seaborn as sns titanic = sns.load_dataset('titanic') # Select numerical features for scaling features = ['age', 'fare', 'sibsp', 'parch'] df = titanic[features].dropna() # Standardization scaler_standard = StandardScaler() df_standardized = pd.DataFrame( scaler_standard.fit_transform(df), columns=df.columns ) # Normalization scaler_minmax = MinMaxScaler() df_normalized = pd.DataFrame( scaler_minmax.fit_transform(df), columns=df.columns ) print("Standardized Data (first 5 rows):") print(df_standardized.head()) print("\nNormalized Data (first 5 rows):") print(df_normalized.head())
copy
Note
各スケーリング手法の利用タイミング

**標準化(Standardization)**は、データがガウス分布(正規分布)に従う場合や、linear regressionlogistic regressionk-means clusteringのように中心化されたデータを前提とするアルゴリズムで最適です。

**正規化(Normalization)**は、すべての特徴量を同じスケールに揃えたい場合、特にk-nearest neighborsneural networksのような距離尺度を利用するアルゴリズムで推奨されます。

question mark

特徴量の範囲が大きく異なり、k近傍法分類器を使用する場合、どのスケーリング手法を選択すべきですか

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  5

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  5
some-alt