《Python数据分析与挖掘实战》张良均,第五章学习笔记

第五章 数据建模

【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】

第五章相关代码看我的文章:
《Python数据分析与挖掘实战》第五章案例代码总结与修改分析

经过数据探索与数据预处理,得到了可以直接建模的数据。根据挖掘目标和数据形式可以建立分类与预测、聚类分析、关联规则、时序模式和偏差检测等模型,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。

一、分类与预测

分类和预测是预测问题的两种主要类型,分类主要是预测分类标号(离散属性),而预测主要是建立连续值函数模型, 预测给定自变量对应的因变量的值。

1.实现过程

(1)分类
分类是构造一个分类模型,输人样本的属性值,输出对应的类别,将每个样本映射到预先定义好的类别。分类模型建立在已 有类标记的数据集上,模型在已有样本上的准确率可以方便地计算,所以分类属于有监督的学习。

(2)预测
预测是指建立两种或两种以上变量间相互依赖的函数模型,然后进行预测或控制。

(3)实现过程

分类算法有两步过程:第一步是学习步,通过归纳分析训练样本集来建立分类模型得到分类规则;第二步是分类步,先用已知的 测试样本集评估分类规则的准确率,如果准确率是可以接受的,则使用该模型对未知类标号的待测样本集进行预测。

预测模型的实现也有两步,描述的分类模型,第一步是通过训练集建立预测属性(数值型的)的函数模型,第二步在模型通过检验后进行预测或控制。

2.常用的分类与预算

(1)回归分析:回归分析是确定预测属性(数值型)与其它变量间相互依赖的定量关系最常用的统计学方法。包括:线性回归、非线性回归、Logistic回归、岭回归、主成分回归、偏最小二乘回归等模型。

(2)决策树:决策树采用自顶向下的递归方式,在内部节点进行属性值的比较,并根据不同的属性值从该节点向下分支,最终得到的叶子节点是学习划分的类

(3)人工神经网络:人工神经网络是一种模仿大脑神经网络结构和功能而建立的信息处理系统,表示神经网络的输入与输出变量之间关系的模型

(4)贝叶斯网络:贝叶斯网络又称信度网络,是Bayes方法的扩展,是目前不确定知识表述和推理领域最有效的理论模型之一

(5)支持向量机:支持向量机是一种通过某种非线性映射,把低维的非线性可分转化为高维的线性可分,在高维空间进行线性分析的算

3.回归分析

回归分析是通过建立模型来研究变量之间相互关系的密切程度、结构状态及进行模型预测的一种有效工具,在工商管理、经济、社会、医学和生物学等领域应用十分广泛。

主要回归模型分类:

回归模型名称适用条件算法描述
线性回归因变量与自变量是线性关系对一个或多个自变量和因变量之间的线性关系进行建模,可用最小二乘法求解模型系数
非线性归因变量与自变量之间不都是线性关系对一个或多个自变量和因变量之间的非线性关系进行建模。如果非线性关系可以通过简单的函数变换转化成线性关系,用线性回归的思想求解;如果不能转化,用非线性最小二乘方法求解
Logistic回归因变量一般有1和0(是否)两种取值是广义线性回归模型的特例,利用Logistic函数将因变量的取值范围控制在0和1之间,表示取值为1的概率
岭回归参与建模的自变量之间具有多重共线性是一种改进最小二乘估计的方法
主成分回归参与建模的自变量之间具有多重共线性主成分回归是根据主成分分析的思想提出来的,是对最小二乘法的一种改进,它是参数估计的- -种有偏估计。可以消除自变量之间的多重共线性

逻辑回归分析案例:
在这里插入图片描述
4.决策树

决策树是一树状结构,它的每一个叶 节点对应着-个分类,非叶节点对应着在某个属性上的划分,根据样本 在该属性上的不同取值将其划分成若千个子集。对于非纯的叶节点,多数类的标号给出到达这个节点的样本 所属的类。构造决策树的核心问题是在每一步如何选择适当的属性对样本做拆分。对一个分类问题,从已知 类标记的训练样本中学习并构造出决策树是一个自,上而下,分而治之的过程。

常用的决策树算法分类

决策树算法决策树算法
ID3算法其核心是在决策树的各级节点上,使用信息增益方法作为属性的选择标准,来帮助确定生成每个节点时所应采用的合适属性
C4.5算法C4.5决策树生成算法相对于ID3算法的重要改进是使用信息增益率来选择节点属性。C4.5算法可以克服ID3算法存在的不足:ID3算法只适用于离散的描述属性,而C4.5算法既能够处理离散的描述属性,也可以处理连续的描述属性
CART算法CART决策树是一种十分有效的非参数分类和回归方法,通过构建树、修剪树、评估树来构建一个二叉树。当终结点是连续变量时,该树为回归树;当终结点是分类变量,该树为分类树

决策树算法预测销量高低案例:
在这里插入图片描述
5.人工神经网络

人工神经网络, 是模拟生物神经网络进行信息处理的一种数学模型。它以对大脑的生理研究成果为基 础,其目的在于模拟大脑的某些机理与机制,实现一些特定的功能。

常用的实现分类和预测的人工神经网络算法有:BP神经网络、LM神经网络、RBF径向基神经网络、FNN模糊神经网络、GMDH神经网络、ANFIS自适应神经网络

神经网络算法预测销量高低案例
在这里插入图片描述
6.分类与预测算法评价

分类与预测模型对训练集进行预测而得出的准确率并不能很好地反映预测模型未来的性能,为了有效判断一个预测模型的性能表现,需要一组没有参与预测模型建立的数据集,并在该数据集上评价预测模型的准确率,这组独立的数据集叫作测试集。模型预测效果评价,通常用相对/绝对误差、平均绝对误差、均方误差、均方根误差等指标来衡量。

7.Python分类预测模型特点

(1)逻辑回归:比较基础的线性分类模型,很多时候是简单有效的选择

(2)SVM:强大的模型,可以用来回归、预测、分类等,而根据选取不同的核函数,模型可以是线性的/非线性的

(3)决策树:基于“分类讨论、逐步细化”思想的分类模型,模型直观,易解释

(4)随机森林:思想跟决策树类似,精度通常比决策树要高,缺点是由于其随机性,丧失了决策树的可解释性

(5)朴素贝叶斯:基于概率思想的简单有效的分类模型,能够给出容易理解的概率解释

(6)神经网络:具有强大的拟合能力,可以用于拟合、分类等,它有很多个增强版本,如递神经网络、卷积神经网络、自编码器等

二、聚类分析

1.常用聚类分析算法

(1)常见聚类方法
1>划分(分裂)方法
2>层次分析方法
3>基于密度的方法
4>基于网格的方法
5>基于模型的方法

(2)常见聚类算法
1>K-Means
2>K-中心点
3>系统聚类

2.K-Means聚类算法

K-Means算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础_上将数据划分为预定的类数K, 采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。

(1)算法过程
1>从N个样本数据中随机选取K个对象作为初始的聚类中心。
2>分别计算每个样本到各个聚类中心的距离,将对象分配到距离最近的聚类中。
3>所有对象分配完成后,重新计算K个聚类的中心。
4>与前一次计算得到的K个聚类中心比较,如果聚类中心发生变化,转过程2),否则转过程5)。
5>当质心不发生变化时停止并输出聚类结果。
聚类的结果可能依赖于初始聚类中心的随机选择,可能使得结果严重偏离全局最优分类。实践中,为了得到 较好的结果,通常选择不同的初始聚类中心,多次运行K-Means算法。在所有对象分配完成后,重新计算K 个聚类的中心时,对于连续数据,聚类中心取该簇的均值,但是当样本的某些属性是分类变量时,均值可能无定义,可以使用K-众数方法。

(2)数据类型与相似性的度量
1>连续属性
对于连续属性,要先对各属性值进行零-均值规范,再进行距离的计算。在K-Means聚类算法中,一般需要度量样本之间的距离、样本与簇之间的距离以及簇与簇之间的距离。
2>文档数据

(3)目标函数
使用误差平方和SSE作为度量聚类质量的目标函数,对于两种不同的聚类结果,选择误差平方和较小的分类结果。

K-Means聚类算法案例:
在这里插入图片描述
3.聚类分析算法评价

聚类分析仅根据样本数据本身将样本分组。其目标是实现组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性越大,组间差别越大,聚类效果就越好。

(1) purity评价法
purity方法是极为简单的一-种 聚类评价方法,只需计算正确聚类数占总数的比例。

(2) RI评价法
实际上,这是一种用排列组合原理来对聚类进行评价的手段

(3)F值评价法
这是基于,上述RI方法衍生出的一个方法

4.Python主要聚类算法

(1)KMeans:K均值聚类
(2)AffinityPropagation:吸引力传播聚类,几乎优于所有其他方法,不需要指定聚类数,但运行效率较低
(3)MeanShift:均值漂移聚类算法
(4)SpectralClustering:谱聚类,具有效果比K均值好,速度比K均值快等特点
(5)AgglomerativeClustering:层次聚类,给出一棵聚类层次树.
(6)DBSCAN:具有噪声的基于密度的聚类方法
(7)BIRCH:综合的层次聚类算法,可以处理大规模数据的聚类

绘制聚类后的概率密度图:

在这里插入图片描述

三、关联规则

1.常用关联规则算法

关联规则分析是数据挖掘中最活跃的研究方法之一,目的是在一个数据集中找出各项之间的关联关系,而这 种关系并没有在数据中直接表示出来。

常用关联规则算法:
①Apriori
②FP-Tree
③Eclat算法
④灰色关联法

2.Apriori算法

(1)关联规则和频繁项集

(2)Ariori算法:使用候选产生频繁项集

四、时序模式

1.时间序列算法

常用的时间序列算法模型:平滑法、趋势拟合法、组合模型、AR模型、MA模型、ARMA模型、ARIMA模型、ARCH模型、GARCH模型及其衍生模型

2.时间序列的预处理

对于纯随机序列,又称为白噪声序列,序列的各项之间没有任何相关关系,序列在进行完全无序的随机波动,可以终止对该序列的分析。白噪声序列是没有信息可提取的平稳序列。

对于平稳非白噪声序列,它的均值和方差是常数,现已有一套非常成熟的平稳序列的建模方法。通常是建立一个线性模型来拟合该序列的发展,借此提取该序列的有用信息。

对于非平稳序列,由于它的均值和方差不稳定,处理方法一般是将其转变为平稳序列,这样就可以应用有关平稳时间序列的分析方法。

3.平稳时间序列分析

ARMA模型的全称是自回归移动平均模型,它是目前最常用的拟合平稳序列的模型。它又可以细分为AR模型、MA模型和ARMA三大类。都可以看作是多元线性回归模型。

4.非平稳时间序列分析

对非平稳时间序列的分析方法可以分为确定性因素分解的时序分析和随机时序分析两大类。

确定性因素分解的方法把所有序列的变化都归结为4个因素(长期趋势、季节变动、循环变动和随机波动)的综合影响,其中长期趋势和季节变动的规律性信息通常比较容易提取而由随机因素导致的波动则非常难确定和分析,对随机信息浪费严重,会导致模型拟合精度不够理想。

随机时序分析法的发展就是为了弥补确定性因素分解方法的不足。根据时间序列的不同特点,随机时序分析可以建立的模型有 ARIMA模型、残差自回归模型、季节模型、异方差模型等。本节重点介绍使用 ARIMA模型对非平稳时间序列进行建模的方法。

ARIMA模型实现案例:
在这里插入图片描述
在这里插入图片描述

5.Python主要时序模式算法
在这里插入图片描述

五、离群点检测

(1)离群点的成因
离群点的主要成因有:数据来源于不同的类、自然变异、数据测量和收集误差。

(2)离群点的类型
从数据范围分为全局离群点和局部离群点
从数据类型分为数值型离群点和分类型离群点
从属性的个数分为一维离群点和多维离群点

1.离群点检测方法

基于统计
基于邻近度
基于密度
基于聚类

2.基于模型的离群点检测方法

(1)一元正态分布中的离群点检测
(2)混合模型的离群点检测

3.基于聚类的离群点检测方法

(1) 丢弃远离其他簇的小簇
(2) 基于原型的聚类

离散点检测案例:

在这里插入图片描述
在这里插入图片描述

【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fy_1852003327

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值