如何从经过训练的随机森林模型中获取预测



我有一个数据集,有两列用户帖子(帖子)和个性类型(类型),我需要根据使用此数据集的帖子进行个性类型,所以我使用随机森林回归进行预测这是我的代码:-

df = pd.read_csv('personality_types.csv')
count_vectorizer = CountVectorizer(decode_error='ignore')
X = count_vectorizer.fit_transform(df['posts'])
y = df['type'].values
Xtrain, Xtest, Ytrain, Ytest = train_test_split(X, y, test_size=0.33)
random_forest = RandomForestClassifier(n_estimators=100)
random_forest.fit(Xtrain, Ytrain)
Y_prediction = random_forest.predict(Xtest)

准确性:

random_forest.score(Xtrain, Ytrain)
acc_random_forest = round(random_forest.score(Xtrain, Ytrain) * 100, 2)
print(round(acc_random_forest,2,), "%")
100%

现在我想从自定义文本中获取预测,我该如何实现?如何使用此模型单独获取帖子的个性类型。

在同一数据集中创建一个新列,即 df 。将其命名为 custom_text 或 user_text 或其他任何名称。将输入存储在该列中,以便该列的所有行都包含相同的值

custom_text = input("Enter Text")
custom_text = count_vectorizer.transform(df['custom_text'])
value_predicted = random_forest.predict(custom_text)
print(value_predicted[0])

因为value_predicted的所有值都包含相同的值

如果有一个

df的自定义文本格式与posts 相同,您可以执行以下操作:

custom_text = count_vectorizer.transform(df['custom_text'])
value_predicted = random_forest.predict(custom_text)

value_predicted包含结果。当然,count_vectorizerrandom_forest应该是示例中训练的模型。

另外,您的示例中可能存在拼写错误,您应该检查测试的性能,而不是火车:

random_forest.score()
acc_random_forest = round(random_forest.score(Xtest, Ytest) * 100, 2)
print(round(acc_random_forest,2,), "%")
Out:
<Some score>

100% 准确率分数看起来像是过度拟合。

相关内容

  • 没有找到相关文章

最新更新