CountVectorizer不适用于sklearn中的测试字符串

2024-09-29 20:32:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在用sklearn做情绪分析。我有一个3000多个评论的csv文件,我正在训练我的分类器60%的评论。 当我尝试为分类器提供自定义检查以预测标签时,使用CountVectorizer.transform()它引发以下错误:

    Anaconda\lib\site-packages\sklearn\feature_extraction\text.py", line 864, in transform
    raise ValueError("Vocabulary wasn't fitted or is empty!")
    ValueError: Vocabulary wasn't fitted or is empty!

请帮帮我,这是安装训练套件的代码:

^{pr2}$

这是预测定制评论情绪的代码:

    def customQuestionScorer(question, clf):
        X_new_tfidf = vectorizer.transform([question]).toarray()
        print (clf.predict(X_new_tfidf))
    q = "I really like this movie"
    customQuestionScorer(q,classifier)

Tags: or代码分类器is评论transformsklearnempty
1条回答
网友
1楼 · 发布于 2024-09-29 20:32:54
  1. 我在这里没有看到分类器,您只使用了transformers(CountVectorizer,tfiddTransformer)。要获得预测-必须在tfiddtransformer的输出上训练分类器。在
  2. 目前还不清楚您是使用相同的CountVectorizer和tfiddTransformer(它们以前在训练集上培训过)来转换测试集文本,还是一些新的。要为之前安装的分类器提供正确的输入-必须从以前安装的变压器(非新的)中输入。在

这里是文本处理的好例子http://scikit-learn.org/stable/auto_examples/model_selection/grid_search_text_feature_extraction.html#example-model-selection-grid-search-text-feature-extraction-py

相关问题 更多 >

    热门问题