关于学习曲线的具体形状

我的模型生成的学习曲线如图所示。这些曲线正常吗?我是初学者,在网上看到随着训练样本的增加,训练分数应该先下降然后趋于稳定。但在这里,训练分数是增加enter image description here然后趋于稳定的。因此我想知道这是否表明我的代码有bug或者我的输入数据有问题?

我已经找出了我的代码的问题所在。

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)

我之前没有为逻辑回归输入正则化参数。

但现在,

train_sizes , train_accuracy , cv_accuracy = lc(linear_model.LogisticRegression(C=1000,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)

学习曲线看起来正常了。

enter image description here 有人能告诉我这是为什么吗?即使用默认的正则化项时训练分数增加,而使用较低的正则化时分数减少?

数据详情:10个类别。不同大小的图像。(数字分类 – 街景数字)


回答:

基于Alex的回答来看,你的模型默认的正则化参数可能导致数据有些欠拟合,因为当你放松正则化后,你看到了更合适的学习曲线。对于欠拟合的模型,增加样本数量并没有用。

至于你担心为什么在第一种情况下训练分数增加而不是减少——这可能是你使用的多类别数据的结果。在训练样本较少的情况下,每个类别的图像数量也较少(因为lc尝试在交叉验证的每折中保持相同的类别分布),所以在有正则化的情况下(如果你把C=1称为正则化的话),你的模型可能更难准确地猜出某些类别。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注