機能選択に投げ縄を使う理由


9

高次元のデータセットがあり、特徴選択を実行したいとします。1つの方法は、このデータセットで最も重要な機能を特定できるモデルをトレーニングし、これを使用して最も重要でない機能を破棄することです。

実際には、これにsklearnのSelectFromModelトランスフォーマーを使用します。ドキュメントによると、feature_importances_またはcoef_属性のいずれかを持つ任意の推定量はそうするでしょう。

ほかになげなわ、他の多くの線形モデルは、この属性を持つ(線形回帰リッジElasticNetは少数を示すために)との識別のために使用することができる最も重要な機能を。

Lassoがデータセットの最も重要な特徴を特定するための最も人気のあるモデルになっている理由は何ですか?

回答:


9

まず、データセットで「最も重要な機能」が何を意味するかを指定する際は注意してください。この問題に関するさまざまな見方については、このページを参照してください。たとえば、他の機能に基づいて予測を改善するために、個別に「重要でない」と見なされた機能が必要になる場合があるため、それらを破棄したくない場合があります。

LASSOがうまく機能しているのは、モデル内の機能の数を減らすための原則的な方法を提供することです。対照的に、段階的な選択による標準線形回帰に基づく自動化された特徴選択、または最も低いp値を持つ特徴の選択には、多くの欠点があります。ここでは、他の回帰ベースのアプローチに対するLASSOの利点を具体的に説明します。LASSOには、保持する機能の数を決定するペナルティファクタが含まれます。交差検証を使用してペナルティファクターを選択すると、モデルが将来のデータサンプルに適切に一般化されるようになります。

リッジ回帰は、特徴をまったく選択しようとせず、代わりに、すべての回帰係数の二乗の合計に適用されるペナルティを使用します。この場合も、交差検証によるペナルティの選択は、一般化を確実にするのに役立ちます。弾性ネットはLASSOとリッジを組み合わせたものと考えることができます。参照このページをこれら罰せ方法の違いの詳細については。主な関心が予測にあり、すべての特徴に関する情報を収集するのにそれほど費用がかからない場合は、特徴選択をまったく行う必要がなく、代わりにリッジ回帰を使用してモデル内のすべての予測子に関する情報を保持する必要があります。

実用的な理由で予測子の数を減らす必要がある場合は、LASSOが適しています。しかし、それが行うすべては、選択された有用な予測子のセットを提供することであり、必ずしも一般的な意味で最も重要ではありません。機能が相関している場合、LASSOは、特定のデータサンプルでのパフォーマンスに基づいて、どちらか一方を選択します。別のサンプルを使用すると、相関する機能のセットから別の機能を選択できます。通常、これはLASSOモデルの予測パフォーマンスに影響を与えませんが、「最も重要な機能」が何を意味するかについては一時停止します。LASSOモデリングにおけるこのような不安定性については、このページを参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.