为什么要进行数据采样？
作为一个快速发展的领域，数据挖掘的目的是从数据中抽取有效的模式或者是有用的规则。数据挖掘的任务一般分为关联规则、分类及聚类。这些任务通常涉及到大量的数据集，在这些数据集中隐藏着有用的知识。称一个数据集是大的，数据集要么有大量的记录，要么有大量的属性，或者是两者的组合。具有大量的记录将使与模型匹配所花费的时间变长，而具有大量的属性将使模型占用的空间变大。大数据集对数据挖掘的算法来说是一个主要的障碍，在算法进行模式搜索及模型匹配的过程中，经常需要在数据集上遍历多遍，而将所有的数据集装入物理内存又非常困难。当数据集越来越大时，数据挖掘领域有面临着开发适合大数据集的算法，因此，一个简单有效的方法就是利用采样来缩减数据的大小(即记录的数量)，即取一个大数据集的一个子集。 在数据挖掘的应用中，存在两种方法进行采样:一种方法是某些数据挖掘算法在算法执行过程中并不是使用数据集中的所有数据:另一种方法是在部分数据上运行算法的结果与在整个数据集上得到的结果是相同的。这与在数据挖掘中使用的两种采样基本方法是不谋而合的。一种方法是将采样嵌入到数据挖掘的算法中;而另一种方法是采样与数据挖掘算法分别运行。但是，利用采样可能带来一个问题:在小概率的情况下其结果不准确，而在大概率的情况下其结果的相似性是非常好的.。其原因是，运行在整个数据集的子集上可能破坏了属性间的内在相关性，这种相关性在高维数据问题中是非常复杂而且难以理解的。