回帰木(またはランダムフォレスト回帰)でカテゴリインパクトを使用しようとしていますが、sklearnはエラーを返して数値入力を求めています。回帰木または無作為のフォレスト回帰器(カテゴリ入力あり)
import sklearn as sk
MODEL = sk.ensemble.RandomForestRegressor(n_estimators=100)
MODEL.fit([('a',1,2),('b',2,3),('a',3,2),('b',1,3)], [1,2.5,3,4]) # does not work
MODEL.fit([(1,1,2),(2,2,3),(1,3,2),(2,1,3)], [1,2.5,3,4]) #works
MODEL = sk.tree.DecisionTreeRegressor()
MODEL.fit([('a',1,2),('b',2,3),('a',3,2),('b',1,3)], [1,2.5,3,4]) # does not work
MODEL.fit([(1,1,2),(2,2,3),(1,3,2),(2,1,3)], [1,2.5,3,4]) #works
私の理解では、これらの方法では、どのような変換(例えばWOE置換)もせずにカテゴリ入力が可能でなければなりません。
誰にもこの問題がありましたか?
ありがとうございました!
ありがとうございます。私はそれが問題を解決するとは思わない。 「数値ラベル」は、あなたが予測しようとしているものに真実でない可能性が高い線形進行の仮定を作成します。決定木ノードを想像し、例えば '<2 and > = 2'を使用して次のカットオフスプリットを決定するときは、「if( 'a'、 'c')」と同じ意味を持ちません。 – jpsfer
質問が間違っています。私はちょうどあなたがすべてをカテゴリー的なものとして扱いたいと思っていました。私はそれに応じて例を更新します... – Matt
多くのありがとうマット! – jpsfer