【发布时间】:2014-02-08 10:30:51
【问题描述】:
我在一个可用的 .tsv 文件中有一组数据 here。我已经编写了几个分类器来确定给定网站是短暂的还是常青的。
现在,我想让它们变得更好。我从与人交谈中得知我的分类器“过度拟合”了数据;我正在寻找一种可靠的方法来证明这一点,以便下次我编写分类器时,我将能够运行测试,看看我是过拟合还是欠拟合。
这样做的最佳方法是什么?我愿意接受所有建议!
我已经花了数周时间在谷歌上搜索这个主题,但没有发现任何规范或可信的方法可以有效地做到这一点,因此我们将不胜感激。我会悬赏这个问题。
编辑:
假设我的分类器吐出一个 .tsv 包含:
the website UID<tab>the likelihood it is to be ephemeral or evergreen, 0 being ephemeral, 1 being evergreen<tab>whether the page is ephemeral or evergreen
【问题讨论】:
-
只需收集足够多的数据(高达原始数据的 30%)并在其上运行分类器。如果性能明显低于您的训练集,则表示过度拟合
-
@VsevolodDyomkin 谢谢!因此,在我的测试数据上运行分类器,如果它得到 70% 的正确率并且它对我的训练数据得到 90% 的正确率,我是否过度拟合?抱歉,在我运行之前先澄清一下:)
-
任何分类器都会在训练数据上表现得非常好。您应该关注的是测试数据的准确性。通常,n 折交叉验证是确保没有过度拟合的好方法。
-
利用简单的内核,比如线性内核。
-
过拟合的简单定义是训练误差(基本上)低于测试误差。答案试图告诉你如何处理它
标签: python machine-learning artificial-intelligence classification scikit-learn