Python数据挖掘实战(微课版)
上QQ阅读APP看书,第一时间看更新

1.2 数据挖掘的一般流程

我们已经知道,数据挖掘是从各种数据中提取隐含在其中的有用信息和知识的过程。一般来说,数据挖掘的过程可以分为以下7个阶段,如图1-3所示。

图1-3 数据挖掘的一般流程

(1)需求分析:从业务、生产、财务等部门了解数据挖掘任务的准确需求,确定挖掘的目标,完成后能够达到的效果,因此,必须了解相关的应用背景知识,熟悉业务情况,弄清楚具体的业务需求。对业务需求做清晰的定义是数据挖掘能够取得成功的前提。

(2)数据获取:在对数据挖掘的需求和目标有了清晰的定义后,接下来需要选取与挖掘目标相关的数据集,这些数据可能源于数据库中的历史数据、实时数据、利用爬虫获得的网络数据。选取数据时需要遵循时效性、可靠性和相关性三大原则,即必须保证选取的样本数据是最新的、真实的、可靠的,并且与挖掘目标是高度相关的,而不必是全部的业务数据。

(3)数据探索:获取样本数据之后,需要对数据进行进一步分析、探究,包括数据之间是否存在易被察觉的规律或者趋势,其统计意义上的集中度和发散度趋势是怎样的,数据属性之间的相关性如何,是否存在异常值、缺失值等。在此过程中,可以使用可视化技术更直观地观察数据的分布特点,从而弄清楚所获取的数据是否能够满足数据挖掘模型的需要。

(4)数据预处理:数据预处理的目的是提高数据的质量,保证数据的准确性、完整性和一致性,通常包括数据集成、数据清洗、数据变换、数据规约等处理步骤。其中,数据集成是指将多个来源的数据组合在一起,并去除冗余数据;数据清洗是指消除数据中的不一致、噪声、缺失值等情况;数据变换是对数据进行规范化、属性构造、离散化、数值化等操作,以满足数据挖掘模型的要求;数据规约的目的是对数据进行简化,降低数据挖掘的复杂度,涉及特征提取、特征选择、数据压缩等技术。

(5)数据挖掘模型:数据预处理之后,就可以开始构建数据挖掘模型,并考虑本次建模是数据挖掘的哪一类任务(分类、回归预测、聚类分析、关联分析、时间序列分析和异常检测等),针对具体的任务类别选取合适的算法进行模型构建。这一阶段是数据挖掘的核心工作,通常,我们将样本分为训练样本和测试样本,训练样本用来构建模型,测试样本用来评价模型在新数据上的性能。

(6)模型评价与优化:选用合适的性能评价指标,在测试集上对数据挖掘结果进行客观评价。通常,在建模过程中会得到一组模型(由不同的算法、参数或实验方法得到的结果),模型评价阶段会从这些模型中选择一个性能最佳的模型作为数据挖掘的最终结果。另外,如果模型的性能无法满足需求,还需要通过参数优化、算法改进等方法对模型进行优化,以达到更好的效果。

(7)部署:模型的构建和评价工作的完成,并不代表整个数据挖掘流程的结束,往往还需要最后的应用部署,在业务系统、生产系统、财务系统中进行实际检验,并判断是否真正达到了预期的目标。