繁体   English   中英

加载pickle文件时出现python错误消息

[英]python error message when loading pickle file

我有以下代码:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import re
import nltk
from nltk.corpus import stopwords
from nltk.stem.porter import PorterStemmer
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.utils import shuffle
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import confusion_matrix
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from nltk.tokenize import sent_tokenize, word_tokenize
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
import sklearn.metrics as metrics
import pickle

#%matplotlib inline
import warnings
warnings.filterwarnings('ignore')

stemmer = PorterStemmer()
words = stopwords.words("english")

from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer_tfidf = TfidfVectorizer(stop_words='english', max_df=0.7)

# call and load pickle here
content = pickle.load(open("vectorizer.pk",'rb'))

vectorizer_tfidf = [vectorizer_tfidf]
test_tfIdf = vectorizer_tfidf.transform('processedtext')
test_tfIdf2 = vectorizer_tfidf.transform('processedtext2')

testdata = pd.read_csv('C:\\Users\\joyce\\Desktop\\CR_Summary 08052020.csv', delimiter = ',')
content = pickle.load(open("Pickle_RL_Model.pkl",'rb'))
 
##print (content)    
testdata=testdata.fillna(value='test')

#Array to return prediction
content.predict(testdata)

错误信息:

文件“C:/Users/joyce/nltk CR 数据 v3.py”,第 42 行,在 test_tfIdf = vectorizer_tfidf.transform('processedtext') AttributeError: 'list' 对象没有属性 'transform'

我该如何纠正这个错误?

错误意味着转换函数不能应用于列表。
在您的情况下vectorizer_tfid是一个 list ,这就是显示错误的原因。

vectorizer_tfidf = [vectorizer_tfidf]

此行创建列表。
尝试删除它。

请参阅python 文档,您将看到您正在对不支持它的列表对象调用transform()方法。 请访问sklearn 文档以了解有关正确用法的更多信息。

至少,您可以删除此调用:

vectorizer_tfidf = [vectorizer_tfidf]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM