1.2.3 数据项目的分析流程
数据项目的分析流程是:从数据开始,通过一连串的过程发现隐藏在数据中的规则,利用这些规则完成一些有趣的应用,大致概括为取得数据—数据预处理—数据转换—数据分析—数据解释—发现知识。
图1.4所示为乌萨马·菲亚德在The KDD Process for Extracting Useful Knowledge from Volumes of Data中提到的数据项目的分析流程。这个看似单一的流程,其实需要相关人员不断重复地尝试,一层一层探索,最终才能找到真正具有价值的数据。
图1.4 数据项目的分析流程
取得数据是指从原始数据到决定存放数据库的过程,一般来说会涉及数据获取、数据爬虫、数据管理、数据仓储等内容。
数据预处理是指根据规则(API、SQL)从数据库中取出数据集,进行数据清理,处理数据中的噪声或错误信息,或进行多个数据集的整合。
数据转换是指在取得数据集之后,我们经常需要针对分析的具体用法进行调整,将原始数据转换成适合分析模型的格式,如筛选栏位、长宽表转置等。
数据分析可以分为两个阶段,即探索性数据分析(Exploratory Data Analysis)与数据挖掘/机器学习。我们可以把探索性数据分析视为一种前期的观察,再经由数据挖掘进行进一步挖掘。
数据解释指人们通常会通过数据可视化的方式及图表方式呈现前述的结果,运用一些可能的原因对数据进行解释,然后把这一整套数据联系起来。
人们一般在数据分析的范畴中把数据清理和特征工程放在数据预处理环节一起讨论,但是在kaggle竞赛中,通常会把数据清理视为“处理遗失值”这个动作,也把特征工程视为一个独立过程。常见的特征工程包括特征编码(Categorical Encoding)、特征选取(Feature Selection)、特征降维(Dimensionality Reduction)、正规化(Normalization)/标准化(Standardization),如图1.5所示。
图1.5 特征工程