数据发掘入门指南(白送)
作者头像
  • 马田嫄
  • 2020-04-23 06:55:32 0

数据分析

探求性数据分析(Exploratory Data Analysis,EDA)是一种数据分析方法,旨在通过作图、制表、拟合方程和计算特征量等方式,在尽量少的假设前提下探索数据的结构和规律。

常用工具

数据科学库 - Pandas:用于数据分组、筛选和整合,支持时间序列分析。 - Numpy:处理大型多维数组和矩阵。 - Scipy:处理线性代数、概率论、积分计算等任务。

数据可视化库 - Matplotlib:创建各类图表,如直方图、散点图等。 - Seaborn:提供丰富的可视化选项,包括时间序列图、联合图和小提琴图等。

基本操作

数据初步观察 - 使用 head() 查看数据准确性,通常查看前五行数据。 - 使用 shape 获取数据集的维度。

数据概览 - describe() 提供统计数据,包括计数、平均值、方差、最小值、中位数和最大值等。 - info() 了解每列的数据类型,检查是否存在特殊符号或异常值。

数据检查

缺失值检查 - 使用 isnull() 查看每列的缺失情况。 - 利用 sort_values() 对数据集进行排序,以便查看缺失值和异常值。

异常值检查 - 应用3σ原则:假设数据仅含随机误差,计算标准差并确定异常值区间。 - 利用箱线图:根据实际数据绘制,直观展示数据分布情况,无需数据满足正态分布假设。

分布预测

总体分布概况 - 许多模型假设数据符合正态分布。当数据不符合正态分布时,可以进行如下转换: - Z-Score标准化:基于原始数据的均值和标准差进行标准化。 - Box-Cox变换:适用于连续响应变量不符合正态分布的情况。 - Yeo-Johnson变换:通过构建一组单调函数对随机变量进行转换。

评估偏度和峰度 - 偏度衡量数据分布的不对称性。 - 峰度研究数据分布的尖锐程度。

频数分析

当某范围内的预测值较少时,可将其视为异常值处理或删除。若频数正常,则需对数据进行处理,如进行对数变换,使数据分布更加均匀。

特征分析

数字特征 - 相关性分析:评估变量间的相关性。 - 特征的偏度和峰度可以通过可视化展示。

类别特征 - 使用 unique() 函数去除重复元素。 - 箱型图和小提琴图可用于直观识别数据中的离群点。 - 条形图可用于展示类别特征的频数。

数据清洗

数据和特征决定了机器学习的下限,而模型和算法只是逼近这个下限。数据清洗是特征工程前必不可少的步骤。

数据清洗的主要目标是将脏数据转化为高质量数据,包括处理缺失值、异常值、数据分桶和特征归一化/标准化等。

缺失值处理

  • 不处理:适用于XGBoost等树模型。
  • 插值补全:使用均值、中位数、众数等。
  • 分箱处理:将缺失值归入特定箱。

异常值处理

  • 使用Box-Cox变换处理偏态分布。
  • 利用箱线图识别并处理异常值。

数据分桶

数据分桶可以加速计算、增强模型的鲁棒性。常见的分桶方法包括等频分桶、等距分桶、Best-KS分桶和卡方分桶。

数据转换

数据转换包括归一化、标准化、对数变换、数据类型转换、独热编码和标签编码等。

特征工程

特征工程是指将原始数据转换为适合模型训练的特征,目的是提升模型性能。

特征构造 - 数值特征:尝试加减组合或提取统计特征。 - 类别特征:尝试交叉组合或使用嵌入方法。 - 时间特征:挖掘时间信息,提高模型性能。

特征选择 - 特征是否发散:方差接近0的特征应被剔除。 - 特征与目标的相关性:高相关性特征优先选择。

降维 - PCA降维:减少特征数量,保持原有数据信息。

模型调参

模型调参是决定最终结果的关键步骤。常见的调参方法包括贪心调参、网格调参和贝叶斯调参。

回归分析 - 回归分析用于理解变量间的相关性,并建立数学模型。

长尾分布 - 长尾分布可能导致采样和估值不准确,需要特别注意。

欠拟合与过拟合 - 欠拟合:模型在训练集和验证集上表现均不佳。 - 过拟合:模型在训练集上表现良好但在测试集上表现不佳。

正则化 - L1正则化和L2正则化用于防止过拟合。

调参方法 - 贪心调参:动态选择影响最大的参数。 - 网格调参:在指定范围内自动调参。 - 贝叶斯调参:利用概率模型优化超参数。

模型融合

通过融合多个模型可以提升机器学习性能。模型融合方法包括简单加权融合、堆叠法和Boosting/Bagging等。

简单加权融合 - 回归:使用算术平均或几何平均。 - 分类:使用投票法。

堆叠法(Stacking) - 基于初始模型的预测结果,构建新的模型。

混合法(Blending) - 采用类似Stacking的方法,但只使用一部分训练集。

Bagging - 基于自助采样法,多个模型并行训练,最终结果基于多个模型的预测结果。

Boosting - 串行训练,后续模型纠正前序模型的错误,最终加权结合。

    本文来源:图灵汇
责任编辑: : 马田嫄
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
入门指南白送发掘数据
    下一篇