【问题标题】:AttributeError : lower not foundAttributeError : 未找到下限
【发布时间】:2018-02-13 17:52:32
【问题描述】:

我正在做文档分类,并获得了高达 76% 的准确率。在预测文档类别时,我确实关注了一个

doc_clf.predict(tf_idf.transform((count_vect.transform([r'document']))))

我收到以下错误:

File "/usr/local/lib/python3.5/dist- packages/sklearn/utils/metaestimators.py", line 115, in <lambda>
  out = lambda *args, **kwargs: self.fn(obj, *args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/sklearn/pipeline.py", line 306, in predict
  Xt = transform.transform(Xt)
File "/usr/local/lib/python3.5/dist-packages/sklearn/feature_extraction/text.py", line 923, in transform
  _, X = self._count_vocab(raw_documents, fixed_vocab=True)
File "/usr/local/lib/python3.5/dist-packages/sklearn/feature_extraction/text.py", line 792, in _count_vocab
  for feature in analyze(doc):
File "/usr/local/lib/python3.5/dist-packages/sklearn/feature_extraction/text.py", line 266, in <lambda>
  tokenize(preprocess(self.decode(doc))), stop_words)
File "/usr/local/lib/python3.5/dist-packages/sklearn/feature_extraction/text.py", line 232, in <lambda>
  return lambda x: strip_accents(x.lower())
File "/usr/local/lib/python3.5/dist-packages/scipy/sparse/base.py", line 647, in __getattr__
  raise AttributeError(attr + " not found")

我该如何纠正这个错误?还有其他方法可以进一步提高准确率吗?

我分享链接以查看完整代码 Full Code

【问题讨论】:

    标签: python-3.x scikit-learn stochastic


    【解决方案1】:

    在您的代码中,doc_clf 是一个管道。所以tf_idf.transform()count_vect.transform()会被管道自动处理。

    你应该只调用

    category = doc_clf.predict([r'document'])
    

    当这个文档通过管道时,它将被 CountVectorizer 和 TfidfTransformer 自动转换。

    【讨论】:

    • 感谢@Vivek Kumar 成功了。有什么提高分类准确性的建议吗??
    猜你喜欢
    • 2018-10-15
    • 2017-03-24
    • 2022-08-24
    • 2016-02-09
    • 2021-12-20
    • 2021-02-28
    • 1970-01-01
    • 2021-10-27
    • 2019-06-08
    相关资源
    最近更新 更多