将随机森林预测作为列添加到测试文件中

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 中的建议可以正常工作。

【讨论】:

以上是关于将随机森林预测作为列添加到测试文件中的主要内容,如果未能解决你的问题,请参考以下文章

Python Scikit 随机森林回归器错误

将条件变量添加到 R 中的随机森林模型

在 R 中使用随机森林预测的不同结果

如何使用随机森林做出(是/否或 1-0)决定?

随机森林在训练和测试中获得 98% 的准确率,但总是预测相同的类别

机器学习第一步——用逻辑回归及随机森林实现泰坦尼克号的生存预测