我开始涉足数据科学和机器学习。当我试图解释我的问题时,请耐心等待。我无法找到有关此方法的任何信息,但我怀疑我正在尝试做的事情有一个简单的名称。为了了解我的知识水平,我在大学学习(社会科学)中接受了一些基本的统计培训,目前我是一名程序员。因此,当谈到统计数据时,我不是一个完全的外行,但我的理解还有很多不足之处。
我需要对某个数据集进行预测。所有特征和目标都是连续变量(间隔/比率级别),我使用的是带有单个隐藏层的回归多层感知器。这在拟合整个数据集时相对较低,因此我希望通过进行聚类分析并分别在每个聚类上拟合多个回归器来提高预测能力。这对我不起作用。最高的集群和整个系列一样,所以我放弃了这种方法。我尝试了多种聚类算法,并没有注意到它们之间有太大的区别;但是,我没有进行详尽的搜索,所以我可能错过了一些东西。
我最终做的是在训练子集上拟合模型,识别测试子集中预测误差最大的数据点,然后删除那个数据点。训练测试拆分是随机进行的,因此偶然保留一些“坏”数据点的概率非常低。我重复了这个过程,直到我得到一个我很满意,之后我将剩余的数据点指定为属于例如“第 1 组”。然后在减去第 1 组的整个数据集上重复整个过程,最终所有数据都应该分成可以做出合理可靠预测的组。给出关于数据的想法:在大约 11000 个数据点的整个集合上徘徊在 0.7 左右。在第 1 组中,我保留了 7000 个数据点,最多可以得到 0.9。其余组也可以接受(以我的标准)s。
以这种方式将所有数据分组后,我希望能够在特征上训练分类器,预测某个数据点所属的组,并使用该组的适当回归模型来预测最终结果目标变量。我的问题是,这种方法是否存在一些方法学缺陷,特别是基于预测错误删除某些数据点?我是否在数据中引入了一些人工制品或类似的东西?据我所知,没有关于目标的信息泄露。在我看来,这是一种迂回的聚类分析方式,因为它似乎在某种意义上排除了“异常值”,但我不能更精确,而且可能根本不是这样。
注:所有提及的 指预测,即我在测试集上得到的分数,而不是训练。
编辑:我只从测试子集中删除了数据点(在每次迭代中随机变化),但现在我想起来了,我想没有理由将排除限制在测试子集中,因为在训练子集中可能会发生更糟糕的预测。我会在尝试时更新。另外,我还没有尝试拟合分类器,所以我想我可能不会用这个最终模型得到更好的结果。不管我得到什么结果,我都对这种方法的有效性感兴趣。另外,如果有人知道这里的理论限制,如果有一个原因我不能在原则上用这种方法获得更好的结果,我想知道。