AttributeError:“numpy.ndarray”对象没有属性“predict”

数据挖掘 Python scikit-学习
2021-09-25 11:04:00

我已经训练并保存了一个模型:

import numpy as np

# load the dataset
dataset = np.loadtxt("modiftrain.csv", delimiter=";")

# split into input (X) and output (Y) variables
X_train = dataset[:,0:5]
Y_train = dataset[:,5]

from sklearn.naive_bayes import GaussianNB

# create Gaussian Naive Bayes model object and train it with the data
nb_model = GaussianNB()

nb_model.fit(X_train, Y_train.ravel())

# predict values using the training data
nb_predict_train = nb_model.predict(X_train)

# import the performance metrics library
from sklearn import metrics

# Accuracy
print("Accuracy: {0:.4f}".format(metrics.accuracy_score(Y_train, nb_predict_train)))
print()

# import the lib to load / Save the model
from sklearn.externals import joblib  

# Save the model
joblib.dump(nb_predict_train, "trained-model.pkl")

然后,我正在加载模型并尝试对新数据集进行预测:

# import the lib to load / Save the model
from sklearn.externals import joblib  

import numpy as np 

# Load the model
nb_predict_train = joblib.load("trained-model.pkl")

# load the test dataset
df_predict = np.loadtxt("modiftest.csv", delimiter=";")

X_train = df_predict

nb_predict_train.predict(X_train)

print(X_train)

错误来了:

  File "predict01.py", line 14, in <module>
    nb_predict_train.predict(X_train)
AttributeError: 'numpy.ndarray' object has no attribute 'predict'
1个回答

您不想挑选预测,而是挑选合适的。

更改joblib.dump(nb_predict_train, "trained-model.pkl")joblib.dump(nb_model, "trained-model.pkl")