首页 文章

这个学习曲线显示了什么?以及如何处理样本的非代表性?

提问于
浏览
0

==> to see learning curves

我正在尝试一个随机的森林回归器来解决机器学习问题(空间点的价格估算) . 我有一个城市的空间点样本 . 样本不是随机抽取的,因为市中心的观察数量非常少 . 我想估算一下这个城市所有地址的价格 .

我有一个很好的交叉验证分数(绝对均方误差),并且在分割训练集后也是一个很好的测试分数 . 但预测非常糟糕 .

What could explain this results ?

  • 我绘制了学习曲线(上面的链接):交叉验证分数随实例数增加(听起来合乎逻辑),训练分数仍然很高(应该减少吗?)......这些学习曲线显示了什么?一般来说我们如何学习曲线?

  • 此外,我认为样本不具代表性 . 我试图根据训练集的每个区域中观察的比例,通过绘制whitout替换来使我想要预测的数据集在空间上类似于训练集 . 但这并没有改变结果 . 我怎么能处理这种非代表性?

在此先感谢您的帮助

1 回答

  • 2

    在查看培训和交叉验证分数时,会出现一些常见情况:

    • 过度拟合:当您的模型具有非常高的训练分数但交叉验证分数较差时 . 通常,当您的模型过于复杂时,会发生这种情况,从而使其能够非常好地拟合训练数据,但对验证数据集的概括性较差 .

    • 欠负荷:当训练和交叉验证分数都不高时 . 当您的模型不够复杂时会发生这种情况 .

    • 理想拟合:当训练和交叉验证得分都相当高时 . 您的模型不仅可以学习表示训练数据,还可以很好地概括新数据 .

    这是一个很好的图形,来自this Quora post,显示模型复杂性和错误如何与模型展示的拟合类型相关 .
    enter image description here

    在上图中,给定复杂度的误差是在 balancer 时发现的误差 . 相比之下,学习曲线显示了整个训练过程中得分的进展情况 . 一般来说,您永远不希望在训练期间看到分数下降,因为这通常意味着您的模型正在发散 . 但是,随着时间的推移(朝向 balancer ),训练和验证分数之间的差异表明您的模型的拟合程度 .

    请注意,即使您有一个理想的拟合(复杂度轴的中间),通常会看到一个高于交叉验证分数的训练分数,因为模型的参数是使用训练数据更新的 . 但是由于你的预测结果很差,并且由于验证得分比训练得分低10%(假设得分超过1),我猜你的模型过度拟合,并且可以从较低的复杂性中受益 .

    为了回答第二点,如果训练数据更好地表示验证数据,模型将更好地概括 . 因此,在将数据拆分为训练集和验证集时,我建议找到一种随机分离数据的方法 . 例如,您可以生成城市中所有点的列表,列表的迭代,以及来自统一分布的每个点绘制,以确定该点属于哪个数据集 .

相关问题