【发布时间】:2020-12-25 00:19:11
【问题描述】:
我已经运行我的代码来加载我由 pickle 保存的变量。这是我的代码
import pickle
app = Flask(__name__)
nb_model = pickle.load(open('model_pickle.pkl', 'rb'))
这是一个对象
class NaiveBayesSentiment():
def __init__(self, datasentimen, stopword, norm, datatest):
self.datasentimen = datasentimen
self.stop_word = stopword.T.values
self.norm_words = pd.Series(norm['kata kbbi'].values,index=norm['kata singkatan']).to_dict()
self.datatest = pd.DataFrame([datatest], columns=['comment'])
def cleansing_data(self, datasentimen):
datasentimen = datasentimen.replace('\n', ' ',regex = True)
datasentimen = datasentimen.str.replace("[^a-zA-Z]+", " ", regex = True)
datasentimen = datasentimen.str.replace('\s{2,}', ' ', regex=True)
datasentimen = datasentimen.str.lower()
return datasentimen
cleanposdata = cleansing_data(datasentimen[datasentimen['class sentiment'] == 'positif']['comment'])
cleannegdata = cleansing_data(datasentimen[datasentimen['class sentiment'] == 'negatif']['comment'])
if __name__ == "__main__":
app.run(debug=True)
我得到这样的错误:
nb_model = pickle.load(open('model_pickle.pkl', 'rb'))
AttributeError: Can't get attribute 'NaiveBayesSentiment' on <module '__main__' from 'app.py'>
这是我在 python 中泡菜时的代码
nb_model = NaiveBayesSentiment(datasentimen, stopword, norm, datatest)
with open('model_pickle.pkl', 'wb') as pickle_out:
pickle.dump(nb_model, pickle_out)
with open('model_pickle.pkl', 'rb') as pickle_in:
unpickled_nb_model = pickle.load(pickle_in)
print(unpickled_nb_model.finalclassification())
我该怎么办,请帮帮我
【问题讨论】: