2016-10-05 4 views
0

私はsklearnとpandasで作業しています。私の予測はインデックスとして設定された正しいIDのない配列として出てきます。私の出力で正しいIdをプリントアウトするには

マイコード:私は彼らが右ACTIVITY_IDリストをプリントアウトして取得することができますどのように

train = train.set_index('activity_id') 
test = test.set_index('activity_id') 

y_train = train['outcome'] 
x_train = train.drop('people_id', axis=1) 
x_test = test 

model = DecisionTreeClassifier(min_samples_leaf=100) 

model.fit(x_train,y_train) 


scores = cross_val_score(model, x_train,y_train, cv=10) 
print('mean: {:.3f} (std: {:.3f})'.format(scores.mean(), scores.std()), end='\n\n') 
print(model.score(x_train,y_train)) 
#make predictions 
y_pred = model.predict(x_test) 

任意の考え?ありがとう!

+0

あなたが予測値の隣に正しい値を見たいですか?使用しているデータの例もあります。例えば'y_train.head()'と 'x_train.head()'です。 – josh

+0

これは私のコード全体ではなく、質問に関連していると思う部分ですが、チップに感謝します。 – Bolajio

答えて

1

あなたが書いたことから、x_testによって生成されたy_pred値の横にx_testのインデックスを表示しようとしていると思います。

これは、numpy配列の出力をmodel.predict(x_test)からDataFrameに変換することで実行できます。次に、新しいDataFrameのインデックスをx_testのインデックスと同じに設定できます。ここで

は一例であり、

df_pred = pd.DataFrame(y_pred, index=x_test.index, columns=['y_pred']) 
+0

これは、y_pred(予測値)の隣にあるx_testインデックスですが、列車ではありませんが、ほとんどの要点です。私はあなたの事例でモデルを呼び出すのが効果的だと思います。ありがとう! – Bolajio

関連する問題