私は2つのカテゴリ変数とID変数とターゲット変数(分類用)を持つPandas Dataframeを持っています。私はOneHotEncoder
でカテゴリ値を変換することができました。この結果、疎な行列が得られます。SklearnでOneHotEncoderの出力を使用するにはどうすればよいですか?
ohe = OneHotEncoder()
# First I remapped the string values in the categorical variables to integers as OneHotEncoder needs integers as input
... remapping code ...
ohe.fit(df[['col_a', 'col_b']])
ohe.transform(df[['col_a', 'col_b']])
しかし、私はDecisionTreeClassifierにこのスパース行列を使用することができますか見当もつかない?特に、後でデータフレームに他の非カテゴリ変数を追加したいとき。ありがとう!
EDIT miraculixxのコメントへの返信で :私もsklearn-パンダにDataFrameMapperを試してみました
mapper = DataFrameMapper([
('id_col', None),
('target_col', None),
(['col_a'], OneHotEncoder()),
(['col_b'], OneHotEncoder())
])
t = mapper.fit_transform(df)
しかし、私はこのエラーを取得する:
TypeError: no supported conversion for types : (dtype('O'), dtype('int64'), dtype('float64'), dtype('float64')).
[sklearn-pandas](https://github.com/paulgb/sklearn-pandas)は、データフレームとSklearnを扱うときに本当に役に立ちます。 – miraculixx