我将通过一个例子提出这个问题。
假设我有一个数据集,例如波士顿房价数据集,其中有连续变量和分类变量。在这里,我们有一个“质量”变量,从 1 到 10,以及销售价格。我可以通过(任意)为质量创建截止值,将数据分为“低”、“中”和“高”质量的房屋。然后,使用这些分组,我可以绘制销售价格的直方图。像这样:
这里,“低”是,而“高”是关于“质量”分数。现在,我们得到了三个组中每个组的销售价格分布。很明显,中高档住宅的选址中心存在差异。现在,完成所有这些之后,我想“嗯。位置中心似乎有所不同!为什么我不对均值进行 t 检验?”。然后,我得到一个似乎正确拒绝均值没有差异的原假设的 p 值。
现在,假设在绘制数据之前我没有任何想法来检验这个假设。
这是数据疏浚吗?
如果我想:“嗯,我打赌质量更高的房子成本更高,因为我是以前住过房子的人。我要绘制数据。啊哈!看起来不一样!时间进行 t 检验!”
当然,如果收集数据集的目的是从一开始就测试这个假设,这不是数据挖掘。但通常必须使用给我们的数据集,并被告知“寻找模式”。考虑到这个模糊的任务,人们如何避免数据挖掘?为测试数据创建保留集?可视化是否“算作”窥探以测试数据提出的假设的机会?