用于随机森林分类器训练的文本分类模型的输入
从pickle文件中打开模型后,我不知道训练后的模型应该输入什么。
with open('text_classifier', 'rb') as training_model:
model = pickle.load(training_model)
for message in text:
message1 = [str(message)]
pred = model.predict(message1)
list.append(pred)
return list
预期产量:非政治性
实际输出:
ValueError:无法将字符串转换为float:'RT @ScotNational The 证人承认并非所有对警车造成的损害都是 造成
答案 0 :(得分:1)
您需要将文本编码为数字。没有机器算法可以直接处理文本。
更准确地说,您需要使用词嵌入(用于训练模型的词嵌入)。常见单词嵌入的示例是Word2vec,TF-IDF。
我建议您使用sklearn.feature_extraction.text.CountVectorizer
和sklearn.feature_extraction.text.TfidfTransformer
来熟悉嵌入的概念。
但是,如果您不使用与用于训练加载模型的嵌入相同的嵌入,则您将无法获得良好的结果。