首页 > 解决方案 > sklearn 验证分数含义

问题描述

每当我在 sklearn 上训练 MLP 模型时,我都会在这里得到以下输出:

from sklearn.neural_network import MLPClassifier


clf_mlp = MLPClassifier(random_state=1,\
                        max_iter=200,\
                        hidden_layer_sizes=(256,256,256),\
                        early_stopping = True,\
                        verbose=True).fit(X, pdf_train["label"])

Iteration 1, loss = 1.23744239
Validation score: 0.649914
Iteration 2, loss = 1.07239263
Validation score: 0.652249
Iteration 3, loss = 0.99360697
Validation score: 0.652205
Iteration 4, loss = 0.90097632
Validation score: 0.646963
<And it goes on...>

我对如何阅读此日志感到困惑:“损失”是否存在训练损失或验证损失?“验证分数”值是准确性还是验证损失?

如果您能指出在 sklearn 文档中对此进行了解释,我也将不胜感激。

标签: pythonscikit-learn

解决方案


看起来loss打印的是源代码证明的训练损失(默认值:log-loss)。

打印的Validation score确实是验证数据上的分数(默认值:准确性),源代码中的这个函数就是证明。

这绝对应该有更好的记录,请随时提交问题


推荐阅读