2016-05-07 5 views
1

私はPython pandasJupyterノートブック内)で作業しています。そこで、Titanicデータセットのランダムフォレストモデルを作成しました。 https://www.kaggle.com/c/titanic/dataPython/Pandas:テストフォルダーにランダムフォレストの予測を追加します。

私はテストと列車のデータを読んだ後、それをきれいにして、新しい列(両方に同じ列)を追加します。

モデルをフィッティングして再フィットし、ブーストなどを試した後。私は1つのモデルを決定:

X2 = train_data[['Pclass','Sex','Age','richness']] 
rfc_model_3 = RandomForestClassifier(n_estimators=200) 
%time cross_val_score(rfc_model_3, X2, Y_target).mean() 
rfc_model_3.fit(X2, Y_target) 

その後、私は誰かが生き残ったか

X_test = test_data[['Pclass','Sex','Age','richness']] 
predictions = rfc_model_3.predict(X_test) 
preds = pd.DataFrame(predictions, columns=['Survived']) 

なら、私はテストファイルにcolumnとして予測を追加するための方法はあり、予測しますか?

+0

これはちょうど 'X_test ['Prediction'] = preds ['Survivied']'ですか? – EdChum

+0

ああうわー、素晴らしい、それを試してみましょう - 私はマージする必要があると思った – jeangelj

答えて

1

rfc_model_3 = RandomForestClassifier(n_estimators=200) 
rfc_model_3.predict(X_test) 

戻りy : array of shape = [n_samples]see docs)ので、あなたは中間DataFrameを作成せずX_testに直接モデル出力を追加することができるはずです。

X_test['survived'] = rfc_model_3.predict(X_test) 

とにかく中間結果をしたい場合コメントの中の@EdChumの提案はうまくいくはずです。

+0

完璧に働いた!ありがとうございました – jeangelj

関連する問題