Python数据分析与挖掘实战期末考复习(抱佛脚啦)

期末三天赛高考我真的会谢,三天学完数据挖掘……真的很极限了的。

课本是那本绿色的Python数据分析与挖掘实战(第2版),作者张良均

图片来自老师给的ppt,以下内容是我自己总结的,自己复习用,覆盖了老师给画的重点考点,八九不离十,期末考抱佛脚的可以看看。禁止转载哦。

再强调一下,只涵盖我们的考试重点,不是整本书的完整内容。

目录

一、数据质量分析

1-1数据分析常用的第三方库

1-2异常值分析

二、数据特征分析

2-1.常见数据特征分析方法

2-2基本统计特征函数

三、数据预处理

3-1数据清洗——缺失值处理

3-2数据变换——规范化

3-3数据规约——属性规约

3-4主要数据预处理函数

四、挖掘建模

4-1分类与预测

4-2聚类分析

4-3关联分析

4-4时序模式

 

一、数据质量分析

1-1数据分析常用的第三方库

要知道它们各自的用处

扩展库简介
Numpy提供数组支持,以及相应的高效的处理函数
Pandas强大、灵活的数据分析和探索工具
Matplotlib强大的数据可视化工具、作图库
Scipy提供矩阵支持,以及矩阵相关的数值计算模块
StatsModels统计建模和计量经济学
Scikit-Learn支持回归、分类、聚类等强大的机器学习库

1-2异常值分析

1.脏数据通常包括:

  • 缺失值
  • 异常值
  • 不一致的值
  • 重复数据及含有特殊符号的数据

2.异常值分析:又称离群点分析。主要方法有:简单统计量分析、3∂原则、箱形图分析。

3.箱形图分析:

036ff8c0465b4b21a624a078cc67ce9d.png

二、数据特征分析

2-1.常见数据特征分析方法

生气了,这一大部分码了一个小时,一个不小心全没了,又要重新打一遍tmd

1.方法:

  • 分布分析
  • 对比分析
  • 统计量分析
  • 周期性分析
  • 贡献度分析
  • 相关性分析

2.分布分析:分布分析能揭示数据的分布特征和分布类型,便于发现某些特大或特小的可疑值。对于定量数据:欲了解数据的分布形式是对称的、还是非对称的,可做出频率分布表、绘制频率分布直方图等进行直观地分析。 对于定性数据:可用饼图和条形图直观地显示分布情况。

3.对比分析:指把两个相互联系的指标数据进行比较,从数量上展示和说明研究对象规模的大小,水平的高低,速度的快慢,以及各种关系是否协调。特别适用于指标间的横纵向比较、时间序列的比较分析。在对比分析中,选择合适的对比标准是十分关键的步骤。主要有两种方式:绝对数比较和相对数比较。

4.统计量分析:用统计指标对定量数据进行统计描述,常从集中趋势和离中趋势两个方面进行分析。

(1)集中趋势:一组数据向某一中心值靠拢的程度,度量主要有:均值、中位数、众数。

均值、中位数、众数怎么求的要会,小学生都会。注意偶数位的数求中位数的话就是取中间两个数和的一半。

(2)离中趋势:数据之间的差距和离散程度。度量主要有:极差、标准差、变异系数、四分位数间距(箱形图分析用到了)。

  • 极差:极大值-极小值
  • 标准差:f0c11e37d29d438fb57a362e06a3e935.png
  • 变异系数:ac4f29491ae445b8bfb18ab56d3f0657.png
  •  四分位数间距IQR:IQR的值越大,说明数据的变异程度越大,反之则越小。d3d4cb130b804f2e912ac98ecc23b2c0.png

5.相关性分析:分析连续变量之间线性的相关程度的强弱,并用适当的统计指标表示出来的过程。主要方法有:

  • 直接绘制散点图77bd9020998d4ef0b2258dc14e960985.png
  • 绘制散点图矩阵:如图所示,对角线是单个变量的分布,上下三角是变量两两之间的关系。46729acdc4fb4a96861657d43a59951f.png
  • 计算相关系数:主要掌握Pearson相关系数。83489bde0ff740c6942f80253d87bee3.png

8708f500653149f3944eadc01c358516.png

Pearson相关系数用条件

  • 两个变量都是连续变量。
  • 两个连续变量应当是成对的数据。
  • 两个连续变量之间存在线性关系。通常做散点图检验该假设。
  • 两个变量均没有明显的异常值。Pearson相关系数易受异常值影响。
  •  两个变量符合双变量正态分布。

2-2基本统计特征函数

方法名函数功能所属库
sum()求和Pandas
mean()求算术平均数
var()求方差
std()求标准差
corr()求Spearman(Pearson)相关系数矩阵
describe()给出样本的基本描述

三、数据预处理

3-1数据清洗——缺失值处理

1.缺失值处理方法有三类:删除记录、数据插补和不处理

2.数据插补——拉格朗日插值法

(1)思路:

63386172a026410c863c20a80612f2d8.png

(2)优缺点:

优点:插值公式结构紧凑,在理论分析中使用方便。

缺点:当插值节点增减时,插值多项式就会随之发生变化,每个插值基函数就需要重新计算;当多项式的n值取太高插值次数越高,会引起较大震荡,产生的插值结果就会越偏离原来函数的现象,即所谓的龙格现象。

3-2数据变换——规范化

1.规范化方法:最小-最大规范化、零-均值规范化、小数定标规范化

2.为什么要进行规范化;为了消除指标之间的量纲和大小不一的影响。

3.三种规范化方法的公式:(考代码)

2e1a0a1467bd41c888774812e2558956.png

 

3-3数据规约——属性规约

1.属性规约:通过合并或删除不相关属性来减少属性维数可将数据进行规约

2.属性规约常用方法:

合并属性;

删除不相关属性:逐步向前选择、逐步向后删除、决策树归纳;

数据降维:主成分分析(PCA)

3.主成分分析(PCA):(知道步骤、代码实现)

(1)得到观测矩阵X

(2)将X标准化

(3)求相关系数矩阵R

(4)求R的特征方程的特征根

(5)确定主成分个数m

(6)计算m个相应的单位特征向量

(7)计算主成分

3-4主要数据预处理函数

函数名函数功能所属扩展库
drop_duplicates去重Numpy、Pandas
isnull判断是否为空Pandas
notnull判断是否非空Pandas
dropna删除空值Pandas
fillna填补空值Pandas
PCA对指标变量矩阵进行主成分分析Scikit-learn

四、挖掘建模

4-1分类与预测

1.分类:构造分类器或分类模型来预测离散属性。

预测:构造预测器预测连续属性。

2.分类的两步过程:

学习步:通过归纳分析训练样本集来建立分类模型得到分类规则。

分类步:先用已知的检验测试集评估分类规则的准确率,如果准确率可接受,则使用该模型对问未知类标号的待测样本集进行预测

预测模型的实现也有两步,同上,先得到模型,然后模型通过检验后再进行预测。

3.主要分类与预测算法

(1)回归分析:

回归模型适用条件算法描述
线性回归x与y是线性关系用最小二乘法求解
非线性回归x与y是非线性关系用非线性最小二乘法求解
Logistic回归y一般有1-0两种取值利用Logistics函数将因变量的取值范围控制在0和1之间,表示取值为1的概率

(2)决策树:ID3算法,例题:

6f0d96bd56064a7c898d838938667712.png

c89f83bed8994f6985f69567f3ab72e6.png 9fe7c96cc8e941b19ae2efb0c438a2ef.jpeg 4.分类与预测算法评价:模型预测效果评价,通常用相对绝对误差、平均绝对误差、根均方差、相对平方根误差、Kappa系数、准确率、精确率、召回率、ROC曲线等评估指标来衡量。

(1)混淆矩阵:描绘样本数据的实际结果与预测结果之间的关系。

如二分类混淆矩阵:

实际类\预测类C1– C1
C1TPFN
-C1FPTN

(2)Kappa统计:统计分析中Kappa系数可用来衡量两个变量一致性的指标。对于分类问题,所谓一致性就是模型预测结果和实际分类结果是否一致。

kappa系数的计算是基于混淆矩阵的,系数 k 为:

1c79b93327684c918fefb3c9cc1a6471.png

 po 是每一类正确分类的样本数量之和除以总样本数,也就是总体分类精度,

01d2154e3a654e6cb8aa1194f9db0756.png

 看概念难懂,直接看例题吧:

这是一个三分类混淆矩阵:

e5ac0d7b99d54d5bab899dcd8a1f173d.png

 85f14f6b504f4a389f2d4e833586d7b5.png

72e36298c07447f3bfeeb77ac0908f3e.png

(3)识别准确度Accuracy、精确度Precision、召回率Recall、F-度量、灵敏度、特异性:

aa472dabbbe647ae8de2e018edf6baef.png

a60d387342224a0ab6d76e5e9191aa4f.png

 ce832eb449474e25b42c359596a78c60.png

 b4852fb41f5141828a1d38ddd52cf86e.png

 例子:

f3c53c76697940abaaea273dced0fa7d.png

c3a75445ae384e8ba7fa12dde0474ba8.png

 5.评测分类器准确率常用技术:

3f3559c089324fb7af8cba430e822761.png

914c2a01493146afbba02fa6cf69af10.png

4-2聚类分析

1.K-Means算法

(1)算法实现:直接看例子:

941a3436675a456dbd366339dab1a411.png

 

(2)优缺点:

优点:

  • 算法实现快速、简单
  • 对于处理大数据集,该算法是可伸缩的、有效的
  • 当结果簇是密集的,它的效果较好

缺点:

  • 只有当簇均值有定义的时候才能用
  • 必须事先确定簇的个数
  • 对初始值敏感,初始值不同可能产生不同结果
  • 对“噪声”和孤立点数据敏感

2.算法评价:组内相似性越大,组间差异越大,聚类效果越好

评价方法:内部评价 + 外部评价
内部评价:无监督的方法,无需基准数据(Ground Truth),侧重类内聚集程度和类间
离散程度。
例如:轮廓系数(Silhouette Coefficient)、Calinski-Harabasz指数、邓恩指数等。
外部评价:有监督的方法,用一定的度量评判聚类结果与基准数据的符合程度。
例如: Purity评价法、RI评价法、F值评价法等。

3.Purity 评价法是一种简单的聚类评价方法。为了计算Purity,把每个簇中最多的类作为这个簇所代表的类,然后计算正确分类的聚类数占总数的比例。

eg:994f6842dced4e0d8241af4fcb30b52b.png

4.RI评价法法是一种用排列组合原理来对聚类进行评价的手段,该方法将聚类看成是一系列的决策过程,RI就是计算“正确决策”的比率(即精确率,Accuracy),公式如下:

c0b8e522601b447cb387446fa8e722ab.png

4-3关联分析

1.频繁模式:频繁出现在数据集中的模式(如项集)

项集:是项的集合。如{牛奶、麦片、糖果}是一个3项集。

项集的出现频率/频度是包含项集的事物计数,又称为绝对支持度支持度计数

2.关联规则分析:从大量数据中发现频繁模式,以挖掘数据或特征之间的关联或相关性。

6f8b9c42cec74797ae4c8977ecc38fe1.png

3.关联规则的一般形式:

(1)项集A和B同时一起发生的概率称为关联规则的支持度

Support(A -> B) = P(A ^ B)

(2)项集A发生的情况下,B也发生的概率称为关联规则的置信度

Confidence ( A -> B) = P(B | A) = P(AB) / P(A)

4.最小支持度和最小置信度:

衡量支持度/置信度的最低门槛。

同时满足最小支持度和最小置信度的规则称为强规则

满足最小支持度的项集是频繁项集,频繁k项集通常记作Lk。

5.支持度计数:项集A的支持度计数是指事物数据集中包含项集A的事物个数。

6.关联规则建模的一般步骤:

(1)找出所有频繁项集:频繁项集中每一项出现的次数都大于等于最小支持度计数。

(2)由频繁项集产生强关联规则:强关联规则必须满足最小支持度和最小置信度。

eg:对如下事务集,令最小支持度为0.5,最小置信度为0.5.

f9cc11da605449b198c1fab1889b554f.png

可以得到频繁项集为 {A,B,D,E,AD}(考虑到ABCDEF的各种组合,只有以上五个满足最小支持度)

强关联规则:(注意:由频繁项集产生强关联规则,上一步得到的频繁项集只有AD是两项的,所以只要考虑AD)

        A->D        支持度0.6,置信度1

        D->A        支持度0.6,置信度0.75

以上两组满足最小支持度和最小置信度,所以是强关联规则。

7.极大(最大)频繁项集:简单理解为该频繁项集不是其他频繁项集的子集。

8.Apriori算法:挖掘频繁项集的算法。 

(1)重要先验性质:

频繁项集的所有非空子集也是频繁项集。如ABC是频繁项集,则它的子集AB、B等都是频繁项集,反之,如果AB不是频繁项集,则ABC不可能是频繁项集。

(2)过程一:找出所有频繁项集

fd0decbe41ed4d358cc84cfce89e9a31.png

 6c3624c081da4a30a58b67d74b26c7f1.png

0eb0168b58214421b74548e73bc90970.png

 192722d78e7248cca5e541142c74f90f.png

c3bfaea517c74aeda8739e3f4369d3ed.png

208f0e0ab12b4b0db78d849d95e700f3.png

eg1:

005f4461d6a84b1ebf6c8bcb82392fd6.png

eg2:

21b594d9fe2f4ef18ed56ef595c4c769.png

f0cde2f38267484684d7413e42c564b2.png

4-4时序模式

1.时间序列分析的目的就是给定一个已被观测了的时间序列,预测该序列的未来值。

2.时间序列分类及使用的模型:

间   ——->平稳性检验

平稳序列  ——->随机性检验白噪声不用分析
平稳非白噪声AR
MA
ARMA
非平稳序列ARIMA

3.序列的预处理:随机性检验和平稳性检验。

(1)随机性检验:

  • 检验是不是纯随机序列(白噪声序列)。白噪声序列是没有信息可以提取的序列。
  • 对于平稳非白噪声序列,他的均值和方差都是常数。ARMA是最常用的平稳序列拟合模型。
  • 对于非平稳序列,由于他的均值和方差不稳定。处理方法是先将其专为平稳序列,然后建立ARMA模型来研究。如果一个时间序列经差分运算后具有平稳性,称该序列为差分平稳序列,可以使用ARIMA。

(2)平稳性检验:

  • 自协方差、自相关系数用来衡量一个事件在不同时间点之间的相关程度。
  • 平稳时间序列的性质:有常数均值和方差,一个时刻之后的另一个时刻自协方差和自相关系数是相等的。

4.平稳性检验方法

(1)图检验:时序图和自相关图。

  • 时序图检验:根据平稳时间序列的均值和方差都为常数的性质,平稳序列的时序图显示该序列值始终在一个常数附近随机波动,而且波动的范围有界、无明显趋势及无周期特征。如果有明显的趋势性或者周期性,那它通常不是平稳序列。eg:fd15abedee564b24809c1e65953d1b2e.png

ca46664a5e50427aaacb6d0ad1c07b88.png

  •  自相关图检验:a47ac32e83984b16a800a55597714fb6.png

eg:

f3eea3fab4874926b9789a7e94410ba7.png

(2)构造检验统计量:单位根检验。

单位根检验是指检验序列中是否存在单位根,存在单位根的就是非平稳时间序列。

eg.

10b292d5d3f143788b105e42a127c89f.png

5.随机性检验方法:一般是构造检验统计量。如:Q统计量(大样本)、LB统计量(小样本)。

6.拖尾与截尾:

(1)截尾:指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质。即:在大于某个常数k后函数值快速趋于0或在0附近随机波动。

(2)拖尾:指ACF或PACF并不在某阶后均为0的性质。即:始终有非0取值,不会在k大于某个常数后函数值就恒等于0或在0附近随机波动。

eg:判断是拖尾还是截尾

判断方法:截尾比拖尾趋于零的速度更快,而且截尾在后期不会再有明显的递增。(

拖尾~拖拉~所以趋于0比较慢) 

c9fd6920538b4b6e9b08c5614a98e19d.png

 621614c842044926a378a8edbd7688f3.png

 7.AR、MA、ARMA模型

(1)AR

921cff0249744f87a501511ac1b2996b.png

(2) MA

b549eacd21b0429f818de1268f967495.png

(3)ARMA 

861f781d7d924a05a1928fc9e7b11a36.png

4200cb085a864591b28b7df2d01e6954.png

a3227e60f7bb42d6baf0767d9dab8d40.png

 8.ARIMA模型

c781745a9e4840f1b577c93fd2713114.png

3406841cc6324f29a6adb4e81fb3e5b0.png

eg.8d5dcec9ab45490bb200d260f11f592b.png 

🌟本文原创,如果对你有帮助的话欢迎点赞收藏哇!

🎈逢考必过~~

 

 

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年6月26日
下一篇 2023年6月26日

相关推荐