Datawhale
作者:王瑞楠、吴忠强、徐韬、田杨军
摘要:入门数据挖掘,必须理论结合实践。本文梳理了数据挖掘知识体系,帮助大家了解和提升在实际场景中的数据分析、特征工程、建模调参和模型融合等技能。
数据分析
探索性数据分析(Exploratory Data Analysis,EDA)是指对已有数据在尽量少的先验假设下通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。
常用的第三方库
数据科学库
pandas:用于分组、过滤和组合数据,还提供了时间序列功能。
numpy:处理大型的多维数组和矩阵
scipy:用于解决线性代数、概率论、积分计算等任务
数据可视化库
matplotlib:构建各种图表,从直方图和散点图到非笛卡尔坐标图等
seaborn:提供了丰富的可视化图库,包括时间序列、联合图和小提琴图等复杂的类型。
常用函数
数据简略观测
head():观察数据读取是否准确,常读取前5行数据。
shape:读取数据集的维度。
数据总览
describe():包含每列的统计量,个数、平均值、方差、最小值、中位数、最大值等。
数据类型info():了解数据每列的type,了解是否存在除了nan以外的特殊符号异常。
数据检测
缺失值检测
查看每列的存在nan情况
排序函数sort_values():将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的
可视化nan值与缺失值
异常值检测
3σ原则:拉依达准则,该准则具体来说,就是先假设一组检测数据只含有随机误差,对原始数据进行计算处理得到标准差,然后按一定的概率确定一个区间,认为误差超过这个区间的就属于异常值。
箱线图:依据实际数据绘制,真实、直观地表现出了数据分布的本来面貌,且没有对数据作任何限制性要求(3σ原则要求数据服从正态分布或近似服从正态分布),其判断异常值的标准以四分位数和四分位距为基础。
预测分布
总体分布概况:
无接触约翰逊分布:
正态分布
很多模型假设数据服从正态分布,数据整体服从正态分布,样本均值和方差则相互独立。当样本不服从正态分布时,可以做如下转换:
线性变化z-scores:基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’
Boxcox变换:一种广义幂变换方法,是统计建模中常用的一种数据变换,用于连续的响应变量不满足正态分布的情况。
yeo-johnson变换:是幂变换(power transformation)的方法之一,通过构建一组单调函数对随机变量进行数据变换。
查看skeness 和kurtosis
skeness:衡量随机变量概率分布的不对称性,是相对于平均值不对称程度的度量,通过对偏度系数的测量,我们能够判定数据分布的不对称程度以及方向。
kurtosis:研究数据分布陡峭或平滑的统计量,通过对峰度系数的测量,我们能够判定数据相对于正态分布而言是更陡峭/平缓。
预测值的具体频数
当某范围预测值很少时,可将其当作异常值处理填充或删除。若频数很失常,需对数据进行处理,例如进行log变换,使数据分布较均匀,可据处理后的数据进行预测,这也是预测问题常用的技巧。
特征分析
数字特征
相关性分析:对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素之间的相关密切程度。
特征的偏度和峰度
数字特征分布可视化
-
pd.melt():处理数据,透视表格,可将宽数据转化为长数据,以便于后续分析。形成的数据即为,键:各特征名称,值:特征对应的值
sns.FacetGrid() :先sns.FacetGrid()画出轮廓,再map()填充内容
sns.pairplot():展示变量两两之间的关系(线性或非线性,有无较为明显的相关关系)。
类别特征
unique分布:对于一维数组或者列表,unique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表。
可视化:
-
箱型图可视化:直观识别数据中的离群点,判断数据离散分布情况,了解数据分布状态。
小提琴图可视化:用于显示数据分布及概率密度,这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状
柱形图可视化类别
每个类别频数可视化
数据清洗
数据和特征决定了机器学习的上