我有一个回归模型。我写了这个算法的代码:
将 10 个训练数据随机拆分为训练数据和验证数据。从以下集合中选择最佳 alpha 值:{0.1, 1, 3, 10, 33, 100, 333, 1000, 3333, 10000, 33333}。
要选择最佳 alpha 超参数值,您必须执行以下操作:
• 对于超参数的每个值,如上所述将训练数据随机拆分为 10 次,分为训练数据和验证数据。
• 对于超参数的每个值,使用其 10 个随机分割并找到平均训练和验证准确度。
• 在图表上,绘制每个超参数设置的平均训练准确度(红色)和平均验证准确度(蓝色)。通过识别过拟合和欠拟合的区域来评论该图。
• 打印 alpha 超参数的最佳值。
2- 评估测试数据的预测性能并报告以下内容: • 最终模型中非零特征的总数。• 混淆矩阵 • 每个类别的精度、召回率和准确度。
最后,通过适当的推理讨论是否有任何欠拟合或过拟合的迹象
我写这段代码:
print('Accuracy of logistic regression classifier on test set: {:.2f}'.format(Newclassifier.score(X_test, y_test)))
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred))
我的问题是: 1- 为什么每次迭代的准确性会降低?2- 我的模型是过拟合还是欠拟合?3- 我的模型工作正常吗?
没有官方/绝对的衡量标准来决定您是欠拟合还是过拟合。在实践中
在你的情况下,你的训练和测试错误似乎是并行的,所以你似乎没有过度拟合的问题。您的模型可能欠拟合,因此您可以尝试使用更复杂的模型。但是,这可能就是该算法在此特定训练集上的表现。在大多数实际问题中,没有算法可以达到零错误。
至于为什么你的错误会增加,我不知道这个特定的算法是如何工作的,但由于它似乎依赖于随机方法,它似乎是合理的行为。有一点起起落落,但并没有稳步增加,所以看起来没有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句