我在社区中看到了这段代码,使用MLPClassifier绘制损失与时期。我认为代码中有一些错误,因为验证曲线看起来很奇怪。有人能给予我一个关于如何修复下面代码的建议吗?
X_train,X_test,y_train,y_test = train_test_split( X,y,test_size=0.2)
mlp=MLPClassifier( validation_fraction=0.2, early_stopping=True, warm_start= True)
mlp.fit(X_train,y_train)
plt.figure()
plt.plot (mlp.loss_curve_, label='Training')
plt.plot(mlp.validation_scores_, label='Validation')
plt.xlabel('Epochs')
plt.ylabel("Classification score")
plt.grid()
plt.show()
1条答案
按热度按时间ut6juiuv1#
是的,你正在绘制
loss_curve_
,这是损失(错误),而validation_scores_
是每个训练时期的验证分数(准确性)-参见the documentation。如果您想要1-1比较,可以使用
partial_fit
比较每个epoch的训练和验证分数,但这可能需要额外的努力。请参阅:Is it possible to get test scores for each iteration of MLPClassifier?