以下に、特徴削減のいくつかの一般的な方法とそのコード例を紹介します。
-
フィルタ法による特徴選択: フィルタ法は、特徴とターゲット変数の間の統計的な関係を使用して特徴を選択する手法です。主な手法には、相関係数や情報利得などがあります。
例:
from sklearn.feature_selection import SelectKBest, f_regression # 特徴選択器の初期化 selector = SelectKBest(score_func=f_regression, k=10) # データに適用して特徴選択を実行 X_selected = selector.fit_transform(X, y)
-
ラッパー法による特徴選択: ラッパー法は、特徴の組み合わせを探索することで、最適な特徴の部分集合を選択します。交差検証を使用してモデルのパフォーマンスを評価し、特徴の重要性を決定します。
例:
from sklearn.feature_selection import RFE from sklearn.linear_model import LinearRegression # 特徴選択器の初期化 estimator = LinearRegression() selector = RFE(estimator, n_features_to_select=5) # データに適用して特徴選択を実行 X_selected = selector.fit_transform(X, y)
-
主成分分析 (PCA) による特徴抽出: PCAは、多次元データを低次元の新しい特徴空間に射影することで、情報の損失を最小限にしながら特徴量の次元を削減します。
例:
from sklearn.decomposition import PCA # PCAの初期化 pca = PCA(n_components=10) # データに適用して特徴抽出を実行 X_transformed = pca.fit_transform(X)
これらは特徴削減の一部の一般的な手法ですが、他にもさまざまな手法があります。データセットや問題に応じて最適な手法を選択することが重要です。