我有一个大数据集(大约样本)和一个肯定会扼杀这么多数据的算法。
假设我已经删除了重复项和接近重复项。有哪些众所周知的技术可以在不丢失初始数据集中可能编码的太多信息的情况下减少样本量?
我考虑过使用一些聚类算法(它可以很好地扩展集群的数量,可能是BIRCH)并使用生成的集群来查找离聚类中心最近的点。然而,这感觉有点不对劲。
我有一个大数据集(大约样本)和一个肯定会扼杀这么多数据的算法。
假设我已经删除了重复项和接近重复项。有哪些众所周知的技术可以在不丢失初始数据集中可能编码的太多信息的情况下减少样本量?
我考虑过使用一些聚类算法(它可以很好地扩展集群的数量,可能是BIRCH)并使用生成的集群来查找离聚类中心最近的点。然而,这感觉有点不对劲。
一种方法是获取数据集的许多子集,即 引导、构建模型、执行交叉验证并计算平均性能。这是对数据量如何影响模型结果的一个很好的解释:https ://stackoverflow.com/questions/25665017/does-the-dataset-size-influence-a-machine-learning-algorithm
玩弄你的子集的大小,直到你开始得到稳定的结果。
这取决于:一些算法会从近似重复中受益(例如 kNN),而其中一些算法会使用集群的异常值来构建其规则(例如 SVM)。
根据我的经验,在确定下采样方法之前,了解数据的结构以及实际尝试学习的概念非常重要。
我最近遇到了一个问题,我想及时预测某种行为,但是局部依赖(特别是在 x,y 中)一直使算法处于局部最优状态。在 x,y 上最大化分布的下采样实际上提高了几乎所有训练模型的性能。