Como preparar interações de variáveis ​​categóricas no scikit-learn?


9

Qual é a melhor maneira de preparar interações de recursos categóricos antes de se adaptar ao scikit-learn?

Com statsmodelseu poderia dizer convenientemente em estilo R smf.ols(formula = 'depvar ~ C(var1)*C(var2)', data=df).fit()(o mesmo em Stata com regress depvar i.var1##i.var2).

Pode sklearn.preprocessing.PolynomialFeatures(na v0.15, atualmente dev) ser usado com variáveis ​​categóricas?

Respostas:


8

De fato, você pode usar o Patsy com o scikit-learn para obter os mesmos resultados que obteria com R ou com a notação de fórmula nos modelos de estatísticas. Veja o código abaixo:

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)

agora você pode usar qualquer modelo implementado no scikit-learn com as notações usuais tendo X como variáveis ​​independentes e y como dependente.


e se quisermos ter um LHS vazio? ( ~var1*var2É perfeitamente bem em R para a construção da matriz de RHS)
MichaelChirico

(você deve mencionar dmatrix) #
1933 MichaelChirico

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.