scikit-learnでカテゴリ変数の相互作用を準備する方法は?


9

scikit-learnでフィッティングする前に、カテゴリ特徴の相互作用を準備する最良の方法は何ですか?

statsmodels私はRスタイルで便利に言うことができましたsmf.ols(formula = 'depvar ~ C(var1)*C(var2)', data=df).fit()(とスタタで同じですregress depvar i.var1##i.var2)。

sklearn.preprocessing.PolynomialFeatures(v0.15では、現在開発中)カテゴリ変数を使用できますか?

回答:


8

確かに、Patsyをscikit-learnと組み合わせて使用​​すると、Rを使用した場合と同じ結果を得ることができます。以下のコードを参照してください。

from patsy import dmatrices

# create dummy variables, and their interactions
y, X = dmatrices('depvar ~ C(var1)*C(var2)', df, return_type="dataframe")
# flatten y into a 1-D array so scikit-learn can understand it
y = np.ravel(y)

Xを独立変数、yを従属変数とする通常の表記法でscikit-learnに実装された任意のモデルを使用できるようになりました。


空のLHSが必要な場合はどうしますか?(~var1*var2RHSマトリックスを構築するためのRでは完全に問題あり
ません

(言及する必要がありますdmatrix
MichaelChirico 2017

8

Patsyを使用します。

Patsyは私のお気に入りのPythonライブラリの1つです。1つだけ、そして1つだけ、本当にうまくいきます。

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