ScikitlearnのPolynomialFeaturesは、多項式フィーチャの生成を容易にします。scikitlearnのフィーチャのサブセットに多項式変換を適用する方法
import numpy as np
import pandas as pd
from sklearn.preprocessing import PolynomialFeatures
# Example data:
X = np.arange(6).reshape(3, 2)
# Works fine
poly = PolynomialFeatures(2)
pd.DataFrame(poly.fit_transform(X))
0 1 2 3 4 5
0 1 0 1 0 0 1
1 1 2 3 4 6 9
2 1 4 5 16 20 25
質問:のみの機能の特定のリストに適用される多項式変換を持っているすべての機能があります。ここ
は簡単な例ですか?# Use previous dataframe
X2 = X.copy()
# Categorical feature will be handled
# by a one hot encoder in another feature generation step
X2['animal'] = ['dog', 'dog', 'cat']
# Don't try to poly transform the animal column
poly2 = PolynomialFeatures(2, cols=[1,2]) # <-- ("cols" not an actual param)
# desired outcome:
pd.DataFrame(poly2.fit_transform(X))
0 1 2 3 4 5 'animal'
0 1 0 1 0 0 1 'dog'
1 1 2 3 4 6 9 'dog'
2 1 4 5 16 20 25 'cat'
特徴生成し、モデルのトレーニングコードの長いシリーズを組み合わせることPipeline機能を使用するときに特に有用であろう。
1つの選択肢は、自分自身のロール(great example、Michelle Fullwood)ですが、他の誰かがこのユースケースを偶然見つけたと思いました。
これは素晴らしいです。私は追加のライブラリに頼っていないので、私はこの答えを受け入れています。 – Nelson