我的模型抛出学习曲线,如下所示。这些好吗?我是一个初学者,在互联网上我看到,随着训练实例的增加,训练分数应该降低,然后趋于一致。但是这里的训练分数是增加然后收敛。因此,我想知道这是否表明我的代码有缺陷/我的输入有问题吗?在
好吧,我知道我的代码出了什么问题。在
train_sizes , train_accuracy , cv_accuracy = lc(linear_model.LogisticRegression(solver='lbfgs',penalty='l2',multi_class='ovr'),trainData,multiclass_response_train,train_sizes=np.array([0.1,0.33,0.5,0.66,1.0]),cv=5)
我没有输入Logistic回归的正则化参数。在
但现在
^{pr2}$学习曲线看起来不错。在
谁能告诉我为什么会这样吗?i、 e.使用默认reg术语时,培训分数增加,reg较低时降低?在
资料明细:10个班。大小不一的图像。数字分类.街景数字
根据Alex的答案,模型的默认正则化参数似乎有点不符合数据,因为当您放松正则化时,您会看到“更合适”的学习曲线。不管你给一个不合身的模型投多少个例子。在
至于你对为什么培训分数在第一种情况下增加而不是减少的担忧,这可能是你使用的多类数据的结果。使用较少的训练示例,每个类的图像数量就更少(因为
lc
试图在cv的每个折叠中保持相同的类分布),因此使用正则化(如果您调用C=1正则化,也就是说),您的模型可能更难准确地猜测某些类。在看看scipy的相关网页: http://scikit-learn.org/stable/modules/learning_curve.html 分数通常是一些需要最大化的指标(ROCAUC,准确度,…)。直观地说,你可以期望你看到的训练例子越多,你的模型就越好,因此得分就越高。不过,你应该记住一些关于过度和不合身的微妙之处。在
你需要对你的指标更加精确。这里使用什么指标?在
损失一般指:越低越好,得分通常意味着:越高越好。在
这也意味着,在培训和交叉验证期间,图的解释取决于使用的指标。在
相关问题 更多 >
编程相关推荐