首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用随机森林显示一个预测?

如何使用随机森林显示一个预测?
EN

Stack Overflow用户
提问于 2021-12-07 01:24:04
回答 1查看 392关注 0票数 0

我的样本数据看起来是这样的-

我的X_train特性是'Gender', 'Age', 'Leisure', 'Married', 'Division' & y_train是'Online Shopping'

我的最后一部分代码看起来是这样的-

代码语言:javascript
复制
from sklearn.ensemble import RandomForestClassifier
#rfc_100 = RandomForestClassifier(n_estimators=100, random_state=0)

rfc = RandomForestClassifier(random_state=0)

# fit the model

rfc.fit(X_train, y_train)

# Predict the Test set results

y_pred = rfc.predict(X_test)

# Check accuracy score 

from sklearn.metrics import accuracy_score

print('Model accuracy score with 10 decision-trees : {0:0.4f}'. format(accuracy_score(y_test, y_pred)))

现在我的问题是如何使用这个已经建立的模型并检查预测?例如,我想提供类似于这个'Son 19-30 Games Yes C'的输入&我想看看在线购物interest.Output的预测应该是是还是否。

编码过程-

代码语言:javascript
复制
#Labeling
import category_encoders as ce
encoder1 = ce.OrdinalEncoder(cols=['Gender', 'Age', 'Leisure', 'Married', 'Division'])


X_train = encoder1.fit_transform(X)

X_test = encoder1.transform(X)

encoder2= ce.OrdinalEncoder(cols=['Online Shopping'])

#y_test is True Online Shopping labels
#y_pred is predicted Online Shopping label in test set

y_train = encoder2.fit_transform(y)

y_test = encoder2.transform(y)

标签输出-

EN

回答 1

Stack Overflow用户

发布于 2021-12-07 02:24:26

试试这个:

代码语言:javascript
复制
d = {'Gender': ['Son'], 'Age': ['19-30'], 'Leisure': ['Games'], 'Married': ['Yes'], 'Division': ['C']}
df_dp = pd.DataFrame(data=d)
x_dp = encoder1.transform(df_dp)
print(encoder2.inverse_transform(rfc.predict(x_dp)))

其中df_dp是单个数据点的熊猫数据,我们对其进行编码,然后使用rfc.predict()显示预测。

我还从您的代码中注意到,X_trainX_test来自同一个数据集。情况不应该是这样的:培训数据用于训练模型,而测试数据则用于查看模型在推广到未见数据方面有多好。这就是为什么您的培训数据和测试数据应该是不同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70253894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档