首页 > 解决方案 > 初学者问题,使用 sklearn,保存模型并测试单个数据框

问题描述

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")

如何对单个数据框 ea 执行单独的测试:

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

标签: pythonscikit-learnsklearn-pandas

解决方案


关于保存模型的状态:您可以使用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)

推荐阅读