10章特徴量選択による次元削減

レシピ10.0 はじめに

 9章 特徴量抽出による次元削減では、少ない数で(理想的には)良質のモデルを作ることができる特徴量集合を新たに作ることで、特徴量行列の次元を削減する方法を説明した。この方法は、特徴量抽出(feature extraction)と呼ばれる。本章ではもう1つの方法を説明する。質の高い、多くの情報を持つ特徴量を選択し、あまり有用でない特徴量を捨てる方法だ。この方法は特徴量選択(feature selection)と呼ばれる。

 特徴量選択には3つのタイプがある。フィルタ型、ラッパ型、埋め込み型だ。フィルタ型は、最良の特徴量を統計的な性質を確認して選択する。ラッパ型は、試行錯誤して最良の予測を実現するモデルを生成する特徴量のサブセットを選択する。埋め込み型は、機械学習アルゴリズムの訓練過程の一部として最良の特徴量サブセットを選択する。

 理想的にはこの3つすべてを説明したいところだが、埋め込み法は特定の学習アルゴリズムと密接に絡み合っているため、アルゴリズムを説明する前に詳しく解説することが難しい。したがって本章では、フィルタ型とラッパ型の選択手法だけを説明し、個々の埋め込み型選択手法については、学習アルゴリズムを説明する際に詳しく述べることにする。

レシピ10.1 数値特徴量の分散による閾値処理

問題

 数値特徴量の集合に対して、分散の小さい(すなわちおそらくはあまり情報を持たない)特徴量を取り除きたい。

解決策

 指定した閾値を超える分散を持つ特徴量だけを選択する。

# ライブラリをロード from sklearn import datasets from sklearn.feature_selection import ...

Get Python機械学習クックブック now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.