我已成功培训了7个不同班级的SVM。我用另一种方法训练clf然后我进入测试。什么测试是接受一个网站,从网站上提取主要文章,然后使用火车的clf对该文章进行分类。然后我继续清理整篇文章,一旦它被清理,我尝试适应变换并对其进行分类,但它不能正常运行和预期我不断得到不同的错误,我一直试图修复,但最新的错误让我觉得我可能会从根本上以错误的方式接近这个。
def test(text_clf_svm):
print "Analysing Webpage"
#Gets the URL from the extension
url = "https://www.theguardian.com/commentisfree/2018/feb/15/corbyn-mcdonnell-tax-radical-labour"
#Goose loaded
g = Goose()
#Extract the text and feed it to the classifier
article = g.extract(url=url)
article = article.cleaned_text
article = clean(article)
article =str(article)
print "Vectorising Text"
print "Predicting Political Bias"
vect = CountVectorizer(min_df=0., max_df=1.0)
predicted_svm = text_clf_svm.predict(vect.fit_transform([article]))
print predicted_svm
这是我得到的最新错误:
(fyp)Lucass-MacBook-Pro:fyp lucasbenitez $ python final_fyp.py培训分析网页清理文章矢量化文本 预测政治偏见追溯(最近一次调用最后一次):文件 “final_fyp.py”,第114行,in train()文件“final_fyp.py”,第66行,在火车上 test(text_clf_svm)测试中的文件“final_fyp.py”,第38行 predict_svm = text_clf_svm.predict(vect.fit_transform([article]))文件 “//anaconda/envs/fyp/lib/python2.7/site-packages/sklearn/utils/metaestimators.py” 第54行,在 out = lambda * args,** kwargs:self.fn(obj,* args,** kwargs)File“//anaconda/envs/fyp/lib/python2.7/site-packages/sklearn/pipeline.py”, 第326行,预测 Xt = transform.transform(Xt)File“//anaconda/envs/fyp/lib/python2.7/site-packages/sklearn/feature_extraction/text.py”, 第893行,在变换中 _,X = self._count_vocab(raw_documents,fixed_vocab = True)文件“//anaconda/envs/fyp/lib/python2.7/site-packages/sklearn/feature_extraction/text.py”, 第762行,在_count_vocab中 对于分析中的功能(doc):文件“//anaconda/envs/fyp/lib/python2.7/site-packages/sklearn/feature_extraction/text.py”, 第241行 tokenize(preprocess(self.decode(doc))),stop_words)文件“//anaconda/envs/fyp/lib/python2.7/site-packages/sklearn/feature_extraction/text.py”, 第207行,在 return lambda x:strip_accents(x.lower())File“//anaconda/envs/fyp/lib/python2.7/site-packages/scipy/sparse/base.py”, 第576行, getattr 引发AttributeError(attr +“not found”)AttributeError:lower not found
关于我如何评估单个语料库的任何想法,单独检索?
PD:我已经在25%的数据上测试了SVM的准确性,它给我80%的准确率,因此SVM肯定不是问题