用于文本分类的随机森林分类器训练模型的输入
从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:无法将字符串转换为浮点数:'RT @ScotNational证人承认并非所有对警车造成的损害都是由此引起的
您需要将文本编码为数字。没有机器算法可以直接处理文本。
更确切地说,您需要使用单词嵌入(用于训练模型)。常用字嵌入的示例是Word2vec,TF-IDF。
我建议你和sklearn.feature_extraction.text.CountVectorizer
和sklearn.feature_extraction.text.TfidfTransformer
一起玩,以熟悉嵌入的概念。
但是,如果您不使用与用于训练加载模型的嵌入相同的嵌入,则无法获得良好的结果。