将随机森林预测作为列添加到测试文件中
Posted
技术标签:
【中文标题】将随机森林预测作为列添加到测试文件中【英文标题】:add random forest predictions as column into test file 【发布时间】:2016-09-02 06:14:48 【问题描述】:我正在使用 python pandas
(在 Jupyter
笔记本中),在那里我为泰坦尼克号数据集创建了一个随机森林模型。
https://www.kaggle.com/c/titanic/data
我读入测试和训练数据,然后清理它并添加新列(两列相同)。
在拟合和重新拟合模型并尝试提升等之后;我决定一个模型:
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
添加到测试文件中?
【问题讨论】:
这不就是X_test['Prediction'] = preds['Survivied']
吗?
【参考方案1】:
自从
rfc_model_3 = RandomForestClassifier(n_estimators=200)
rfc_model_3.predict(X_test)
返回y : array of shape = [n_samples]
(see docs),你应该可以将模型输出直接添加到X_test
,而无需创建中间DataFrame
:
X_test['survived'] = rfc_model_3.predict(X_test)
如果您仍然想要中间结果,@EdChum 在 cmets 中的建议可以正常工作。
【讨论】:
以上是关于将随机森林预测作为列添加到测试文件中的主要内容,如果未能解决你的问题,请参考以下文章