1

最初の X が 36 個の機能である一連の機能 X から変数 y を予測しようとしています。これに関して 2 つの質問があります。

  1. 多項式機能の作成中にブール属性 (0,1) を処理する方法は? たとえば、それらを二乗しても意味がありません。

私がこれまでに持っているコード:

poly = PolynomialFeatures(degree=2)
X_ = poly.fit_transform(X_train)
  1. 多項式回帰の特徴選択を行う方法は? 36 個の変数に対して次数 2 の多項式機能を作成すると、X のサイズが大幅に増加するためです。たとえば、MSE に基づいて最適なモデルを返す選択を実行する方法はありますか?
4

1 に答える 1

0
  1. 確かに、ブール機能の二乗を取ることに意味はありません。1 つの解決策は、PolynomialFeatures をオプション interactive_only=True と共に使用して、それらの製品のみを取得することです。ブール値の場合の積は、実際には AND です。OR や XOR などの他の組み合わせを取得する独自の関数を作成することもできます。

  2. 元の機能の数に応じて、すべての可能な機能の組み合わせに対して徹底的な検索を実行するのに時間がかかる場合とそうでない場合があります。後者の場合だと思います。次に、次のことができます。

a)変数選択を自動的に実行するLASSO回帰(またはエラスティックネット)を使用します

b)同じ理由でツリーベースの方法を試してください(例:ランダムフォレスト

c) いくつかの特徴選択方法を試す (例:カイ 2 乗)

于 2016-03-09T16:46:31.460 に答える