初学者问题,使用sklearn,保存模型并测试单个数据框

时间:2018-10-17 09:07:16

标签: python scikit-learn sklearn-pandas

Python神经网络和sklearn的新手,我编写了以下神经模型。在火车上,它可以很好地达到98%的精度。 现在我有一些问题。

from sklearn.ensemble import GradientBoostingClassifier
model = GradientBoostingClassifier(learning_rate=0.99,max_depth=3)
model.fit(X_standardized, y)
predictions = model.predict(X_standardized)

from sklearn.metrics import confusion_matrix, classification_report
print(confusion_matrix(y, predictions))
print ()
print(classification_report(y,predictions))

是否可以保存和加载神经网络的状态。
ea存储权重梯度。

#something like:
Model.save("c:\neural\testnet.xml")

如何在单个数据帧上执行单独的测试:

print ("answer =" ,Model.TestSample(test_data_frame))  # single input
   >>> answer = 0.78     ...estimated accuracy 97%  # or so

1 个答案:

答案 0 :(得分:1)

关于保存模型的状态:您可以使用pickle包保存模型,例如:

import pickle
pickle.dump(model, open('model.sav', 'wb'))

不确定“在单个数据帧上进行单独测试”是什么意思,但是如果您想在一些不同的(测试)数据上测试模型,则可以创建类似这样的内容:

import sklearn
df_predictions = model.predict( *input X data* )
accuracy = sklearn.metrics.r2_score(*target (y data)*, df_predictions)