2017-12-19 37 views
1

enter image description here私は画像に示すようなデータを持っている月のような複数の入力と固定値列

に基づいて複数の出力を予測します。それは約25,000行です。データには、過去4年間の約12ヶ月の詳細が含まれています。私は特定の月と特定の求人情報のために開かれたクライアントとポジションを予測したい。

from sklearn.cross_validation import train_test_split 
from sklearn import preprocessing 
le = preprocessing.LabelEncoder() 
df_final['Clientname_numeric'] = le.fit_transform(df_final['ClientName']) 
X = df_final[['MONTH','JobTitleID']] 
y = df_final[['PositionsOpened','Clientname_numeric']] 
x_train,x_test,y_train,y_test = train_test_split(X,y,test_size = 0.05) 
from sklearn.ensemble import RandomForestClassifier 
from sklearn.metrics import accuracy_score 
from sklearn.metrics import confusion_matrix 
clf = RandomForestClassifier() 
clf.fit(x_train, y_train) 
predictions = clf.predict(x_test) 
predictions = predictions.astype(int) 
accuracy = accuracy_score(y_test,predictions) 

私は、コードの上に使用して、エラー とValueErrorを取得しています:マルチクラス・マルチ出力が

答えて

1

がサポートされていません。あなたは、パッケージscikit learnrandom forest classifierを使用することができます。私は機械学習の非常に表面的な知識しか持っていないことを指摘しなければならないので、あなたの特定の場合には間違っているかもしれません。しかしながら、RandomForestClassifierは、同時に複数の出力を予測することを可能にする。一般的に

、あなたのデータを与え、あなたはこの(学習Scikitを使用)のようにそれに近づくでしょう:

  • スプリット入力列と出力列にテーブル。これは、便宜上、pandasパッケージを使用して最も簡単に行うことができます。その後、それらをトレーニングとテストのサブセットに分割します。 Scikitはoff-the-shelf solution for thisを提供しています。
  • 出力(classifier.predict(inputs_predict))を予測、テストデータの入力を考えると
  • classifier.train(inputs_train, outputs_train)RandomForestClassifierのような分類子のインスタンスを作成し、トレーニングセットからの入力 - 出力データを使用して、それを訓練します。分類子の予測品質に満足しているかどうかを決定します。複数の出力を分類するため
+0

私はそれが0.27です良い精度を得ていません。適用できる他のモデルはありますか?企業ごとに異なるグラフがありますので、何を適用するのか理解できません。私は上記のコードを更新し、そこにコードが掲載されています –

0

、sklearnはthisライブラリを有し、それはランダムフォレストのような塩基の推定を期待、昇圧勾配等

ライブラリは、複数の出力回帰と分類を可能にします。

希望すると便利です。

関連する問題