scikitlearn:添加clf.预测()到不同的数据帧

2024-04-18 17:40:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经训练了我的RandomForestClassifier(),现在正在寻找将我的预测添加到我新导入的测试DF中,我称之为DF_test。在

我已经将我的特性列添加到df_test dataframe中,用于clf.预测要使用的方法。在

我不知道怎么用我的clf.预测()方法,以向df_test添加新列。在

在我的培训资料上:

clf = RandomForestClassifier()
clf.fit(df3[features], df['rounded_score'])
pd.crosstab(clf.predict(df3[features]), df3['rounded_score'])

准备好测试数据:

^{pr2}$

我已经尝试了十几次类似以下代码的迭代:

df_test['prediction'] = df_test[something].apply(lambda x: clf.predict(x))

但是predict方法一直告诉我它在寻找一个numpy数组。所以,我尝试了以下方法,效果很好:

mat = df_test[['match_ratio', 'partial_match_ratio', 'tsort_match_ratio']].as_matrix()
for x in mat[:10]:
    print clf.predict(x)

但我不知道如何将这些数据作为一个新列放入df_test dataframe中。我最后考虑的是将预测附加到一个常规的python列表中,然后以某种方式将其添加到数据帧中……但这看起来有点混乱。在


Tags: 方法testdataframedfmatchpredictscorefeatures