AttributeError: dense not found

任务:使用CountVectorizerTfidfTransformer结合SVC进行文档分类。

我已经训练了模型,测试并使用pickle保存了模型以及CountVectorizerTfidfTransformer

现在当我加载并使用它进行预测时,出现了AttributeError: dense not found的错误。

我检查了训练和测试阶段的输入形状,它们是相同的。但我认为形状不是问题所在。

在训练和加载使用之间没有进行版本更新。所有操作都在同一版本scikit-learn==0.23.2下进行。

这是我的代码:

#训练X_train = train["Text"]Y_train = train["Class"]count = CountVectorizer(lowercase=False)X_count_vector = count.fit_transform(X_train)tfidf = TfidfTransformer(smooth_idf=True, use_idf=True)X_train = tfidf.fit_transform(X_count_vector)classifier = SVC()classifier.fit(X_train.todense(), Y_train) #训练为密集矩阵#测试cvec = count.transform(test["Text"])predable = tfidf.transform(cvec)pred = classifier.predict(predable.todense()) #这一行有效,它给出了预期的预测值。#保存模型pickle.dump(classifier, open("classifier.txt", 'wb'))pickle.dump(count, open("countVec.txt", 'wb'))pickle.dump(tfidf, open("tfidf.txt", 'wb'))#加载模型classifiernew = pickle.load(open("classifier.txt", 'rb'))countVectornew = pickle.load(open("countVec.txt", 'rb'))tfidfnew = pickle.load(open("tfidf.txt", 'rb'))#使用加载的模型newInp = test["Text"]countVec = countVectornew.transform(newInp)X_test = tfidfnew.transform(countVec)#预测,这里是错误发生的地方predd = classifiernew.predict(X_test.todense()) #导致错误的行

这是完整的错误追踪信息:

res = clf.predict(testable.dense())Traceback (most recent call last):  File "<ipython-input-74-d4714966beb3>", line 1, in <module>    res = clf.predict(testable.dense())  File "...\env\lib\site-packages\scipy\sparse\base.py", line 687, in __getattr__    raise AttributeError(attr + " not found")AttributeError: dense not found

回答:

好吧,在重新开启这个问题后,我能够为这个问题提供一个解决方案。不知为何.dense()方法不起作用,取而代之的是我使用了.toarray(),对我来说效果很好。

祝模型训练愉快。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注