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

我的X_train特性是'Gender', 'Age', 'Leisure', 'Married', 'Division' & y_train是'Online Shopping'
我的最后一部分代码看起来是这样的-
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的预测应该是是还是否。
编码过程-
#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)标签输出-

发布于 2021-12-07 02:24:26
试试这个:
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_train和X_test来自同一个数据集。情况不应该是这样的:培训数据用于训练模型,而测试数据则用于查看模型在推广到未见数据方面有多好。这就是为什么您的培训数据和测试数据应该是不同的。
https://stackoverflow.com/questions/70253894
复制相似问题