文字分类:值错误无法将str转换为float

时间:2019-03-28 16:26:26

标签: scikit-learn word-embedding

用于随机森林分类器训练的文本分类模型的输入

从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   证人承认并非所有对警车造成的损害都是   造成

1 个答案:

答案 0 :(得分:1)

您需要将文本编码为数字。没有机器算法可以直接处理文本。

更准确地说,您需要使用词嵌入(用于训练模型的词嵌入)。常见单词嵌入的示例是Word2vec,TF-IDF。

我建议您使用sklearn.feature_extraction.text.CountVectorizersklearn.feature_extraction.text.TfidfTransformer来熟悉嵌入的概念。

但是,如果您不使用与用于训练加载模型的嵌入相同的嵌入,则您将无法获得良好的结果。