我面临着一个问题,将ML模型(ML模型)装入烧瓶。 我试过两个库joblib和pickle都生成相同的错误
model = pickle.load(f)
File "sklearn\tree\_tree.pyx", line 606, in sklearn.tree._tree.Tree.__cinit__
ValueError: Buffer dtype mismatch, expected 'SIZE_t' but got 'long long'
这是我的烧瓶应用程序
# all necessary libraries are imported
# Use pickle to load in the pre-trained model.
with open(f'model/model_2.pkl', 'rb') as f:
model = pickle.load(f)
# model = load('model/model.joblib')
app = flask.Flask(__name__, template_folder='templates')
我的Jubyter笔记本:
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import numpy as nm
import pandas as pd
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
df = pd.read_csv('phishing _urls_v2.csv')
columns = ['No_of_dots','Length_of_host','contains (exe)','redirect (//)',]
labels = df['malicious'].values
features_2 = df[list(columns)].values
X_train_2, X_test_2, y_train_2, y_test_2 = train_test_split(features_2, labels, test_size=0.30)
model = RandomForestClassifier(n_estimators=52)
model.fit(X_train_2,y_train_2)
model_predict_2 =model.predict(X_test_2)
accuracy = confusion_matrix(y_test_2, model_predict_2)
print (accuracy)
from joblib import dump, load
dump(model, 'model.joblib')
import pickle
pickle.dump(model, open('model_2.pkl','wb'))
我把模型放在Jubyter笔记本上,效果非常好
model = pickle.load(open('model_2.pkl','rb'))
print(model.predict([[1,10,0,0]]))
[0]
我搞不懂这个问题。你知道吗
谢谢梅奥斯滕的提示。 问题是Jubyter笔记本中使用的python版本是32位的,而Pycharm中使用的是64位的。你知道吗
要验证,请使用此命令
相关问题 更多 >
编程相关推荐