机器学习数据预处理—统计分析方法

news2024/11/17 8:21:15

数据预处理

1 数据规范化

量纲,指将一个物理导出量用若干基本量的乘方之积表示出来的表达式。数据的比较需要关注两点——绝对数值量纲,而特征间因为量纲的存在导致无法直接通过绝对数值比较大小,也就无法判断特征间的重要性。例如若某个特征的方差比其他特征大几个数量级,那么它就会在学习算法中占据主导位置而弱化了其他特征,甚至导致模型无法收敛。

无量纲化(Nondimensionalization)的数据预处理方式可以让特征间拥有相同权重——从绝对数值比较转换为相对数值比较,不再受量纲影响,从而提高模型精度、稳定性,加快收敛速度。无量纲化的主要方式是规范化(Standardization),即将不同数值变化范围的分布映射到相同的固定范围。特别地,当映射到0-1区间时称为归一化(Normalization)

1.1 最值归一化

核心是通过样本特征最值,将特征数值线性映射到0-1区间,且不破坏分布情况,转化函数如下:

x_{scale}=\frac{x-x_{min}}{x_{max}-x_{min}}

其特点是:

  • 算法过程简单直观;
  • 新数据加入可能导致最值变化,需要重新定义;
  • 奇异值(Outlier)非常敏感,因为其直接影响最值。故最值归一化只适用于数据在一个范围内分布而不会出现Outlier的情况,如人的身高数据、考试成绩数据等

1.2 Z-Score规范化

核心是将所有数据映射到均值为0,方差为1的分布中(但并不限制在区间内),转化函数如下: 

x_{scale}=\frac{x-u}{\delta }

其特点是:

  • 很好地契合本身就服从正态分布的数据;
  • 即使原数据集中有Outlier,规范化的数据集依然满足均值为0,不会形成有偏数据;
  • 对Outlier敏感度较低,但在计算方差和均值的时候Outliers仍会影响计算。所以在出现Outliers的情况下可能会出现转换后,数据的不同维度分布完全不同的情况。

2 类别平衡化

类别不平衡(class-imbalance)分类任务中不同类别的训练样本数目差别很大的情况,例如训练集中有998个反例,但正例只有2个。类别不平衡下训练处的学习器往往没有价值,因为其只需始终判断为大样本数的类别就能取得很小的训练误差。

解决类别不平衡问题的策略主要有:

2.1 阈值移动

亦称再平衡(rebalance)再缩放(rescaling)策略。设训练集中有m^{-}个正例和m^{+}个反例,学习器输出预测正例的概率为y。假设训练集是真实样本空间的采样,则对于任意测试样本,令 

\frac{y'}{1-y' }=\frac{y}{1-y}*\frac{m^{-}}{m^{+}}

通过比较y′与0.5的大小来判定正、反例。

2.2 欠采样法(undersampling)

核心原理是去除样本数较多类别中的部分样例达到类别平衡。欠采样法因丢失样例而减小了时间开销,但要注意防止欠拟合。欠采样的代表性算法是EasyEnsemble

2.3 过采样法(oversampling)

核心原理是增加样本数较少类别中的部分样例达到类别平衡。过采样法因增加样例而增大了时间开销,但要注意防止过拟合。过采样法的代表性算法是SMOTE

3 连续值离散化

连续属性离散化(Discretization of Continuous Attributes)是指将连续数据分段为一系列离散化区间,每个区间对应一个属性值。连续属性离散化的主要原因:

  • 算法要求,例如分类决策树等基于分类属性的算法;
  • 提高特征在知识层面的表达能力,例如年龄5岁和65岁两个特征,对于连续型需要进行数值层面的大小比较,但若将其映射为“幼年”和“老年”则更直观;
  • 离散化数据对异常离群值有更强的鲁棒性,能提高模型稳定性。

无监督离散方法

等距离散化,即将连续属性划分为若干有限区间,每个区间长度相等。

等频离散化,即将连续属性划分为若干有限区间,每个区间样本数相同。

有监督离散方法

信息增益法,是一种二分法(bi-partition),核心是以离散前后信息增益最大的点为二分位点。

4 缺失值处理

侦测成本过高、隐私保护、无效数据、信息遗漏等情况都会造成实际应用时数据集属性缺失,因此缺失值处理不可避免。

缺失值处理的主要方式:

  • 插值填充,即用已有数据的分布来推测缺失值。例如均值填充(主要针对连续型属性)、众数填充(主要针对离散型属性)、回归填充(基于已有属性值建立回归方程估计缺失值)等。
  • 相似填充,即用和缺失属性样本相似的若干样本推测缺失值。例如热卡填充(Hot Deck Imputation),基于某种相似度度量选择数据集中与之最相似的样本属性代替缺失值;聚类填充,基于聚类分析选择数据集中与之最相似的样本子集进行插值填充。

5 哑言编码

哑言编码(Dummy Encode)面向离散型特征,是将一组定性离散特征的特征值以0-1方式向量化、定量化的编码方式。

哑言编码的优势在于:

  • 稀疏化数据,稀疏向量运算速度快,且优化方式多;
  • 提高模型表达能力,哑言编码相当于为模型引入非线性环节,提高模型容量;
  • 无量纲化与定量化,将不同类型特征都量化为0-1向量进行形式化表达,便于推理和演算。

哑言编码的缺点在于:由于不同特征的哑言编码相互堆叠,最终形成的特征向量会导致特征空间产生维数灾难(The Curse of Dimensionality),因此一般可用PCA降维配合哑言编码。

哑言编码有两种形式,采用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效的编码方式称为独热编码(One-Hot Encode);否则若减少一个自由度则是一般的哑言编码。

6 正则化

正则化(Regularization)是在模型经验风险(empirical risk)最小化的基础上引入结构风险(structural risk)最小化的策略,正则化为引入领域先验知识、训练意图提供途径,也是常用避免过拟合的惩罚函数方法。正则化的一般表达式如下: 

min\lambda \Omega (f)+\sum_{i=1}^{m}\varphi (f(x_{i}),y_{i})

其中\Omega (f)为正则化项,用于描述模型的某些性质以降低结构风险;

\sum_{i=1}^{m}\varphi (f(x_{i}),y_{i})为经验风险项,用于描述模型与训练数据的契合程度;

常数λ表示对结构风险和经验风险的偏好。

6.1 L1正则

由于L^{1}范数正则下,最优解多出现于正则项的棱边棱角处产生稀疏性,故范数正则也称稀疏规则算子(Lasso Regularization),可引入对稀疏参数的偏好,有利于突出重点特征以进行特征选择。事实上,L^{0}范数也可实现特征选择和稀疏化,但其相对L^{1}范数而言不易于求解优化,因此实际应用中更倾向于使用L^{1}范数。

6.2 L2正则

L^{2}范数正则也称为权重衰减(Weight Decay),其偏好于保留更多特征,且这些特征更均匀(趋于0)。在回归分析中,L^{1}范数正则化的代价函数称为岭回归(Ridge Regression)

7 数据降维

主要是PCA降维

上图数据点大部分都分布在x_{2}方向上,在x_{1}方向上的取值近似相同,那么对于某些问题就可以直接去除x_{1}坐标,而只保留x_{2}​坐标值即可。

但是有些情况下不能直接这样处理,例如图中数据在x1x_1x1​和x2x_2x2​方向上分布较均匀,任意去除一个维度可能对结果都会有很大影响。此时需要通过PCA原理,找出某个使数据分布最分散——方差最大的维度,即图中的红色坐表系以便达到降维的目的。

从上面的实例中可以归纳出PCA算法的优化目标:

  • 选择的特征维度间相关性要尽可能小——降低计算维度,减少计算成本;
  • 保留的特征维度要尽量反映数据的本质——该维度方差最大;

这两个优化目标可以用协方差矩阵统一起来:

前者体现优化目标(a),后者体现优化目标(b)。简单推导一下PCA降维矩阵的条件:

令导数为0得到:C_{X}P^{T}=-\lambda P^{T}

降维矩阵P是以原始样本协方差阵C_{X}的前r个特征向量为行向量组的正交阵

统计分析

1、描述统计

集中趋势分析

集中趋势分析主要靠平均数、中数、众数等统计指标来表示数据的集中趋势。例如被试的平均成绩多少?是正偏分布还是负偏分布?

离中趋势分析

离中趋势分析主要靠全距、四分差、平均差、方差(协方差:用来度量两个随机变量关系的统计量)、标准差等统计指标来研究数据的离中趋势。例如,我们想知道两个教学班的语文成绩中,哪个班级内的成绩分布更分散,就可以用两个班级的四分差或百分点来比较。

相关分析

相关分析探讨数据之间是否具有统计学上的关联性。这种关系既包括两个数据之间的单一相关关系,也包括多个数据之间的多重相关关系。

推论统计

推论统计是统计学乃至于心理统计学中较为年轻的一部分内容。它以统计结果为依据,来证明或推翻某个命题。通过分析样本与样本分布的差异,来估算样本与总体、同一样本的前后是否具有显著性差异。

正态性检验

很多统计方法都要求数值服从或近似服从正态分布,所以之前需要进行正态性检验。

常用方法:非参数检验的K-量检验、P-P图、Q-Q图、W检验、动差法。

2、假设检验

参数检验

参数检验是在已知总体分布的条件下(一股要求总体服从正态分布)对一些主要的参数(如均值、百分数、方差、相关系数等)进行的检验。

(1)U验 :使用条件:当样本含量n较大时,样本值符合正态分布

(2)T检验:使用条件:当样本含量n较小时,样本值符合正态分布

A 单样本t检验:推断该样本来自的总体均数μ与已知的某一总体均数μ0 (常为理论值或标准值)有无差别;

B 配对样本t检验:当总体均数未知时,且两个样本可以配对,同对中的两者在可能会影响处理效果的各种条件方面扱为相似;

C 两独立样本t检验:无法找到在各方面极为相似的两样本作配对比较时使用。

非参数检验

非参数检验则不考虑总体分布是否已知,常常也不是针对总体参数,而是针对总体的某些一股性假设(如总体分布的位罝是否相同,总体分布是否正态)进行检验。

适用情况:顺序类型的数据资料,这类数据的分布形态一般是未知的。

A 虽然是连续数据,但总体分布形态未知或者非正态;

B 体分布虽然正态,数据也是连续类型,但样本容量极小,如10以下;

主要方法包括:卡方检验、秩和检验、二项检验、游程检验、K-量检验等。

3、信度分析

信度(Reliability)即可靠性,它是指采用同样的方法对同一对象重复测量时所得结果的一致性程度。信度指标多以相关系数表示,大致可分为三类:稳定系数(跨时间的一致性),等值系数(跨形式的一致性)和内在一致性系数(跨项目的一致性)。

信度分析的方法主要有以下:重测信度法、复本信度法、折半信度法、α信度系数法。

重测信度法:这一方法是用同样的问卷对同一组被调查者间隔一定时间重复施测,计算两次施测结果的相关系数。显然,重测信度属于稳定系数。

复本信度法:让同一组被调查者一次填答两份问卷复本,计算两个复本的相关系数。复本信度属于等值系数。

折半信度法:折半信度法是将调查项目分为两半,计算两半得分的相关系数,进而估计整个量表的信度。折半信度属于内在一致性系数,测量的是两半题项得分间的一致性。

α信度系数法:α信度系数是目前最常用的信度系数,\alpha =\frac{k}{k-1}*\frac{\sum {(\delta _{i})^{2}}}{(\delta _{T})^{2}},α系数评价的是量表中各题项得分间的一致性,属于内在一致性系数。

总量表的信度系数最好在0.8以上,0.7-0.8之间可以接受;分量表的信度系数最好在0.7以上,0.6-0.7还可以接受。

分类

(1)外在信度:不同时间测量时量表的一致性程度,常用方法重测信度。

(2)内在信度:每个量表是否测量到单一的概念,同时组成两表的内在体项一致性如何,常用方法分半信度。

4、列联表分析

列联表是观测数据按两个或更多属性(定性变量)分类时所列出的频数表。

若总体中的个体可按两个属性A、B分类,A有r个等级A_{1},A_{2},A_{3},...,A_{r},B有c个等级B_{1},B_{2},B_{3},...,B_{c},从总体中抽取大小为n的样本,设其中有n_{ij}个个体的属性属于等级A_{i} , B_{j}n_{ij}称为频数,将r×c个n_{ij}排列为一个r行c列的二维列联表,简称r×c表。若所考虑的属性多于两个,也可按类似的方式作出列联表,称为多维列联表。(独立性检验)

列联表又称交互分类表,所谓交互分类,是指同时依据两个变量的值,将所研究的个案分类。交互分类的目的是将两变量分组,然后比较各组的分布状况,以寻找变量间的关系。用于分析离散变量或定型变量之间是否存在相关。

对于二维表,可进行卡方检验,对于三维表,可作Mentel-Hanszel分层分析。

5、相关分析

研究现象之间是否存在某种依存关系,对具体有依存关系的现象探讨相关方向及相关程度。

(1)单相关:两个因素之间的相关关系叫单相关,即研究时只涉及一个自变量和一个因变量;

(2)复相关 :三个或三个以上因素的相关关系叫复相关,即研究时涉及两个或两个以上的自变量和因变量相关;

(3)偏相关:在某一现象与多种现象相关的场合,当假定其他变量不变时,其中两个变量之间的相关关系称为偏相关。

6、方差分析

使用条件:各样本须是相互独立的随机样本;各样本来自正态分布总体;各总体方差相等。

(1)单因素方差分析:一项试验只有一个影响因素,或者存在多个影响因素时,只分析一个因素与响应变量的关系

(2)多因素有交互方差分析:一顼实验有多个影响因素,分析多个影响因素与响应变量的关系,同时考虑多个影响因素之间的关系

(3)多因素无交互方差分析:分析多个影响因素与响应变量的关系,但是影响因素之间没有影响关系或忽略影响关系

(4)协方差分析:传统的方差分析存在明显的弊端,无法控制分析中存在的某些随机因素,使之影响了分析结果的准确度。协方差分析主要是在排除了协变量的影响后再对修正后的主效应进行方差分析,是将线性回归与方差分析结合起来的一种分析方法,

7、回归分析

一元线性回归分析:

只有一个自变量X与因变量Y有关,X与Y都必须是连续型变量,因变量y或其残差必须服从正态分布。

多元线性回归分析:

使用条件:分析多个自变量与因变量Y的关系,X与Y都必须是连续型变量,因变量y或其残差必须服从正态分布 。

(1)变呈筛选方式选择最优回归方程的变里筛选法包括全横型法(CP法)、逐步回归法,向前引入法和向后剔除法

(2)横型诊断方法

A 残差检验:观测值与估计值的差值要艰从正态分布

B 强影响点判断:寻找方式一般分为标准误差法、Mahalanobis距离法

C 共线性诊断:• 诊断方式:容忍度、方差扩大因子法(又称膨胀系数VIF)、特征根判定法、条件指针CI、方差比例

• 处理方法:增加样本容量或选取另外的回归如主成分回归、岭回归等

8、Logistic回归分析

线性回归模型要求因变量是连续的正态分布变里,且自变量和因变量呈线性关系,而Logistic回归模型对因变量的分布没有要求,是研究因变量为二项分类或多项分类结果与某些影响因素之间关系的一种多重回归分析方法。

Logistic回归模型有条件与非条件之分,条件Logistic回归模型和非条件Logistic回归模型的区别在于参数的估计是否用到了条件概率。

逻辑回归是一种广义线性回归模型,是Sigmoid函数归一化后的线性回归模型,常用来解决二元分类问题,可解释性强。它假设数据服从伯努利分布,通过梯度下降法对其损失函数(极大似然函数)求解,以达到数据二分类的目的。

逻辑回归是用来计算"事件=Success""事件=Failure"的概率。逻辑回归不要求自变量和因变量是线性关系。它可以处理各种类型的关系,因为它对预测的相对风险指数或使用了一个非线性的log转换。它广泛的用于分类问题。

基本原理是其函数表达式为对数几率函数,通过Sigmoid函数将线性回归方程转化,将任何实数映射到(0,1)之间

 激活函数对应图像为:

优化目标是通过观测样本的极大似然估计值来选择参数。

损失函数表征模型预测值与真实值的不一致程度。LR损失函数为负的对数损失函数。逻辑回归,假设样本服从伯努利分布(0-1分布),然后求得满足该分布的似然函数,接着取对数求极值最小化负的似然函数。应用极大似然估计法估计模型参数,从而得到逻辑回归模型。逻辑回归的损失函数求最小值,就是根据最大似然估计的方法来的。并使用梯度下降法求解损失函数。

参数选择:

原理:

为什么选择Sigmoid函数函数:梯度下降!要使用梯度下降,就存在一个前提,即损失函数可导。而以 Sign函数为假设函数列出来的损失函数明显在出不可导(左导 = 0,右导 = 1)。而反观 Sigmoid函数,在x轴内均有导数存在,于是只能跟 Sign函数说再见了。在深度学习中,激活函数的选取也是这个道理,简单来说,就是在0这个点上,Sign函数会发生梯度消失的情况。

9、聚类分析

聚类与分类的不同在于,聚类所要求划分的类是未知的。

聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用方法的不同,常常会得到不同的结论。

不同研究者对于同一组数据进行聚类分析,所得到的聚类数未必一致。

从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。而且聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。聚类分析还可以作为其他算法(如分类和定性归纳算法)的预处理步骤。

定义

依据研究对象(样品或指标)的特征,对其进行分类的方法,减少研究对象的数目。

各类事物缺乏可靠的历史资料,无法确定共有多少类别,目的是将性质相近事物归入一类。各指标之间具有一定的相关关系。

变量类型:定类变量、定量(离散和连续)变量

样本个体或指标变量按其具有的特性进行分类,寻找合理的度量事物相似性的统计量。

性质分类

Q型聚类分析:对样本进行分类处理,又称样本聚类分析使用距离系数作为统计量衡量相似度,如欧式距离、极端距离、绝对距离等。

R型聚类分析:对指标进行分类处理,又称指标聚类分析使用相似系数作为统计量衡量相似度,相关系数、列联系数等。

方法分类

(1)系统聚类法:适用于小样本的样本聚类或指标聚类,一般用系统聚类法来聚类指标,又称分层聚类。

(2)逐步聚类法:适用于大样本的样本聚类。

(3)其他聚类法:两步聚类、K均值聚类等。

10、判别分析

根据已掌握的一批分类明确的样品建立判别函数,使产生错判的事例最少,进而对给定的一个新样品,判断它来自哪个总体。

与聚类分析区别

(1)聚类分析可以对样本逬行分类,也可以对指标进行分类;而判别分析只能对样本。

(2)聚类分析事先不知道事物的类别,也不知道分几类;而判别分析必须事先知道事物的类别,也知道分几类。

(3)聚类分析不需要分类的历史资料,而直接对样本进行分类;而判别分析需要分类历史资料去建立判别函数,然后才能对样本进行分类。

分类

(1)Fisher判别分析法

以距离为判别准则来分类,即样本与哪个类的距离最短就分到哪一类,适用于两类判别;以概率为判别准则来分类,即样本属于哪一类的概率最大就分到哪一类,适用于多类判别。

(2)BAYES判别分析法

BAYES判别分析法比FISHER判别分析法更加完善和先进,它不仅能解决多类判别分析,而且分析时考虑了数据的分布状态,所以一般较多使用;

11、主成分PCA分析

通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。主成分分析首先是由K.皮尔森(Karl Pearson)对非随机变量引入的,而后H.霍特林将此方法推广到随机向量的情形。信息的大小通常用离差平方和或方差来衡量。

原理

在用统计分析方法研究多变量的课题时,变量个数太多就会增加课题的复杂性。人们自然希望变量个数较少而得到的信息较多。

在很多情形,变量之间是有一定的相关关系的,当两个变量之间有一定相关关系时,可以解释为这两个变量反映此课题的信息有一定的重叠。主成分分析是对于原先提出的所有变量,将重复的变量(关系紧密的变量)删去多余,建立尽可能少的新变量,使得这些新变量是两两不相关的,而且这些新变量在反映课题的信息方面尽可能保持原有的信息。

设法将原来变量重新组合成一组新的互相无关的几个综合变量,同时根据实际需要从中可以取出几个较少的综合变量尽可能多地反映原来变量的信息的统计方法叫做主成分分析或称主分量分析,也是数学上用来降维的一种方法。

缺点

1、在主成分分析中,我们首先应保证所提取的前几个主成分的累计贡献率达到一个较高的水平(即变量降维后的信息量须保持在一个较高水平上),其次对这些被提取的主成分必须都能够给出符合实际背景和意义的解释(否则主成分将空有信息量而无实际含义)。

2、主成分的解释其含义一般多少带有点模糊性,不像原始变量的含义那么清楚、确切,这是变量降维过程中不得不付出的代价。因此,提取的主成分个数m通常应明显小于原始变量个数p(除非p本身较小),否则维数降低的“利”可能抵不过主成分含义不如原始变量清楚的“弊”。

12、因子分析

一种旨在寻找隐藏在多变量数据中、无法直接观察到却影响或支配可测变量的潜在因子、并估计潜在因子对可测变量的影响程度以及潜在因子之间的相关性的一种多元统计分析方法。

与主成分分析比较:

相同:都能够起到治理多个原始变量内在结构关系的作用

不同:主成分分析重在综合原始变适的信息.而因子分析重在解释原始变量间的关系,是比主成分分析更深入的一种多元统计方法

用途:

(1)减少分析变量个数

(2)通过对变量间相关关系探测,将原始变量进行分类

13、时间序列分析

动态数据处理的统计方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题;时间序列通常由4种要素组成:趋势、季节变动、循环波动和不规则波动。

时间序列预测法的应用

系统描述:根据对系统进行观测得到的时间序列数据,用曲线拟合方法对系统进行客观的描述;

系统分析:当观测值取自两个以上变量时,可用一个时间序列中的变化去说明另一个时间序列中的变化,从而深入了解给定时间序列产生的机理;

预测未来:一般用ARMA模型拟合时间序列,预测该时间序列未来值;

决策和控制:根据时间序列模型可调整输入变量使系统发展过程保持在目标值上,即预测到过程要偏离目标时便可进行必要的控制。

14、生存分析

用来研究生存时间的分布规律以及生存时间和相关因索之间关系的一种统计分析方法

包含内容

(1)描述生存过程,即研究生存时间的分布规律

(2)比较生存过程,即研究两组或多组生存时间的分布规律,并进行比较

(3)分析危险因素,即研究危险因素对生存过程的影响

(4)建立数学模型,即将生存时间与相关危险因素的依存关系用一个数学式子表示出来。

方法

(1)统计描述:包括求生存时间的分位数、中数生存期、平均数、生存函数的估计、判断生存时间的图示法,不对所分析的数据作出任何统计推断结论

(2)非参数检验:检验分组变量各水平所对应的生存曲线是否一致,对生存时间的分布没有要求,并且检验危险因素对生存时间的影响。

A 乘积极限法(PL法)

B 寿命表法(LT法)

(3)半参数横型回归分析:在特定的假设之下,建立生存时间随多个危险因素变化的回归方程,这种方法的代表是Cox比例风险回归分析法

(4)参数模型回归分析:已知生存时间服从特定的参数横型时,拟合相应的参数模型,更准确地分析确定变量之间的变化规律

15、ROC分析

ROC曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。经常用于评估机器学习模型的性能(模型的泛化能力)。

ROC:展示在不同的分类阈值下,模型的真正类率(True Positive Rate, TPR)和假正类率(False Positive Rate, FPR)之间的关系。通常与ROC曲线一起使用的还有AUC(Area Under the Curve)值,用以量化ROC曲线下的面积,进而给出一个关于模型性能的单一指标。

混淆矩阵

在介绍各个率之前,先来介绍一下混淆矩阵。如果我们用的是个二分类的模型,那么把预测情况与实际情况的所有结果两两混合,结果就会出现以下4种情况,就组成了混淆矩阵

由于1和0是数字,阅读性不好,所以我们分别用P和N表示1和0两种结果。变换之后为PP,PN,NP,NN,阅读性也很差,我并不能轻易地看出来预测的正确性与否。因此,为了能够更清楚地分辨各种预测情况是否正确,我们将其中一个符号修改为T和F,以便于分辨出结果。

P(Positive):代表1

N(Negative):代表0

T(True):代表预测正确

F(False):代表错误

按照上面的字符表示重新分配矩阵,混淆矩阵就变成了下面这样:

于是就有了:

因此对于这种表示方法可以这么简单的理解:先看 ①预测结果(P/N),再根据②实际表现对比预测结果,给出判断结果(T/F)。按这个顺序理解,这四种情况就很好记住了。

TP:预测为1,预测正确,即实际1

FP:预测为1,预测错误,即实际0

FN:预测为0,预测错误,即实际1

TN:预测为0,预测正确,即实际0

准确率

既然是个分类指标,我们可以很自然的想到准确率,准确率的定义是预测正确的结果占总样本的百分比,其公式如下:准确率=(TP+TN)/(TP+TN+FP+FN)

但是由于可能样本不平衡的问题,导致了得到的高准确率结果含有很大的水分。即如果样本不平衡,准确率就会失效。衍生出了其它两种指标:精准率和召回率。

精准率

精准率(Precision)又叫查准率,它是针对预测结果而言的,它的含义是在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确,其公式如下:精准率=TP/(TP+FP)

召回率

召回率(Recall)又叫查全率,它是针对原样本而言的,它的含义是在实际为正的样本中被预测为正样本的概率,其公式如下:召回率=TP/(TP+FN)

F1分数

F1分数同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡。F1分数的公式为 = 2*查准率*查全率 / (查准率 + 查全率)。

有两个指标的选择是ROC和AUC可以无视样本不平衡的原因。这两个指标分别是:灵敏度和(1-特异度),也叫做真正率(TPR)和假正率(FPR)

真正率(TPR) = 灵敏度(Sensitivity) = TP/(TP+FN)

由于我们比较关心正样本,所以需要查看有多少负样本被错误地预测为正样本,所以使用(1-特异度)

假正率(FPR) = 1 - 特异度(Specificity) = TN/(FP+TN)

用条件概率表示,假设X为预测值,Y为真实值。那么就可以将这些指标按条件概率表示:

精准率 = P(Y=1 | X=1)

召回率 = 灵敏度 = P(X=1 | Y=1)

特异度 = P(X=0 | Y=0)

ROC曲线中的主要两个指标就是真正率假正率,上面也解释了这么选择的好处所在。其中横坐标为假正率(FPR),纵坐标为真正率(TPR),下面就是一个标准的ROC曲线图。

TPR越高,同时FPR越低(即ROC曲线越陡),那么模型的性能就越好。

AUC(曲线下的面积)

为了计算 ROC 曲线上的点,可以使用不同的分类阈值多次评估逻辑回归模型,但这样做效率非常低。幸运的是,有一种基于排序的高效算法可以提供此类信息,这种算法称为曲线下面积(Area Under Curve)

如果连接对角线,它的面积正好是0.5。对角线的实际含义是:随机判断响应与不响应,正负样本覆盖率应该都是50%,表示随机效果。ROC曲线越陡越好,所以理想值就是1,一个正方形,而最差的随机判断都有0.5,所以一般AUC的值是介于0.5到1之间的。

其他

多重响应分析、距离分析、项目分析、对应分析、决策树分析、神经网络、系统方程、蒙特卡洛模拟等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1574773.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【PyQt5篇】和子线程进行通信

文章目录 &#x1f354;使用QtDesigner进行设计&#x1f6f8;和子线程进行通信&#x1f388;运行结果 &#x1f354;使用QtDesigner进行设计 我们首先使用QtDesigner设计界面 得到代码login.ui <?xml version"1.0" encoding"UTF-8"?> <ui …

File,IO流,递归详解

File类 介绍 java.io.File类是Java语言提供了用来描述文件和目录(文件夹)的 构造 方法 注意&#xff1a; 构造方法中通常用的是第一个方法文件和目录可以通过File封装成对象File封装的对象仅仅是一个路径名&#xff0c;它是可以存在的&#xff0c;也可以不存在 绝对路径…

图片批量高效管理,图片像素缩放支持自定义操作,让图像处理更轻松

在数字化时代&#xff0c;图片管理成为了我们生活和工作中不可或缺的一部分。无论是个人用户还是企业用户&#xff0c;都需要对大量的图片进行有效的管理和处理。然而&#xff0c;面对众多的图片&#xff0c;如何进行批量管理并对其进行像素缩放成为了一个挑战&#xff0c;该如…

web学习笔记(五十三)身份认证

目录 1.Web 开发模式 1.1 服务端渲染的 Web 开发模式 1.2 服务端渲染的优缺点 1.3 前后端分离的 Web 开发模式 1.4 如何选择 Web 开发模式 2. 身份认证 2.1 Session 认证机制 3. 在 Express 中使用 Session 认证 3.1 安装express-session 中间件 3.2 配置 express-ses…

JVM内存性能调优思路之:通过GC log、Thread Dump 、Heap Dump分析内存使用说明

文章目录 一. 各日志概述1. Garbage Collection Log - 找到GC规律2. 线程转储(Thread dump) - 分析&#xff08;快照&#xff09;线程状态3. 堆转储(Heap dump) - APP某刻内存使用全貌 二. 命令1. 程序的gc日志2. 线程转储3. 堆转储 概述 在 Java 虚拟机中&#xff0c;(GC) Gar…

linux 文件提权|属性修改

文章目录 suid&#xff08;set uid&#xff09;添加文件属性查看文件属性i &#xff08;immutable&#xff09; umask suid&#xff08;set uid&#xff09; 让文件在执行的时候具有属主&#xff08;对应文件 user &#xff09;的权限 chmod 7744 temp.txt 第一位的7表示权限位…

软件自动化测试的难点怎么解决

软件自动化测试是一种使用工具或脚本来代替人工执行测试用例的方法&#xff0c;它可以提高测试的效率和质量&#xff0c;但也存在一些挑战和问题。 总结了以下几个常见的难点和解决方案&#xff1a; 接口文档的不完整性&#xff1a;有些接口的文档没有说明清楚必要的字段、参…

深入理解数据结构第三弹——二叉树(3)——二叉树的基本结构与操作

二叉树&#xff08;1&#xff09;&#xff1a;深入理解数据结构第一弹——二叉树&#xff08;1&#xff09;——堆-CSDN博客 二叉树&#xff08;2&#xff09;&#xff1a;深入理解数据结构第二弹——二叉树&#xff08;2&#xff09;——堆排序及其时间复杂度-CSDN博客 前言…

【前端Vue】Vue3+Pinia小兔鲜电商项目第4篇:静态结构搭建和路由配置,1. 准备分类组件【附代码文档】

Vue3ElementPlusPinia开发小兔鲜电商项目完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;认识Vue3&#xff0c;使用create-vue搭建Vue3项目1. Vue3组合式API体验,2. Vue3更多的优势,1. 认识create-vue,2. 使用create-vue创建项目,1. setup选项的写法和执行…

C语言解决汉诺塔问题

背景 首先带大家了解一下汉诺塔问题 汉诺塔是一个典型的函数递归问题&#xff0c;汉诺塔描述了这样的场景&#xff0c;有三个柱子&#xff0c;A,B,C&#xff0c;A柱为起始柱&#xff0c;在A柱上面有若干大小不同的盘子&#xff0c;最下面的最大&#xff0c;最上面的最小&#x…

Linux系统下安装ElasticSearch

一、228环境ES使用安装 1、检验ES服务是否安装成功的方法 &#xff08;1&#xff09;查看Elasticsearch进程是否成功 ps -ef|grep elasticsearch &#xff08;2&#xff09;linux elasticsearch下访问&#xff08;curl带认证访问&#xff09; curl --user elastic:Zhes.13…

CSS面试题常用知识总结day03

大家好我是没钱的君子下流坯&#xff0c;用自己的话解释自己的知识 前端行业下坡路&#xff0c;甚至可说前端已死&#xff0c;我还想在前段行业在干下去&#xff0c;所以从新开始储备自己的知识。 从CSS——>Javascript——>VUE2——>Vuex、VueRouter、webpack——>…

STM32F103C8T6-CAN

本文内容 HAL库下printf重定向解决问题&#xff1a;Keil下调试可以正常运行&#xff0c;而下载后运行不了CAN总线的回环测试&#xff0c;自发自收 printf重定向 实现printf重定向的目的是方便调试&#xff0c;通过UART查看打印的调试信息。 下面以STM32F103C8T6为例&#xf…

【前沿模型解析】潜在扩散模 1 | LDM第一阶段-感知图像压缩总览

文章目录 0 开始~1 感知压缩的目的2 自回归编码器-解码器生成模型一览2.1 AE 自编码器2.2 VAE 变分自编码器2.3 VQ-VAE2.4 VQ-GAN 3 代码部分讲解总览 0 开始~ 从今天起呢&#xff0c;我们会剖析LDM&#xff08;潜在扩散模型&#xff09; 从去年开始&#xff0c;大量的生成模…

数学建模-------MATLAB分支循环断点调试

1.if语句 &#xff08;1&#xff09;分段函数的引入&#xff08;这里的数据表示的是分数的不同区间对应的等级&#xff09; (1)这个就是一个十分简单的if语句&#xff0c;无论是if还是elseif后面都是不能添加任何分号的&#xff0c;这个例子就是一个分段的函数&#xff0c;在不…

基础总结篇:Activity生命周期

private int param 1; //Activity创建时被调用 Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, “onCreate called.”); setContentView(R.layout.lifecycle); Button btn (Button) findViewById(R.id.…

医药行业痛点以及OKR解决方案

一、背景 随着医药行业的快速发展和市场竞争的加剧&#xff0c;企业面临着前所未有的挑战和机遇。为了在激烈的市场竞争中立于不败之地&#xff0c;某知名医药企业决定引入OKR&#xff08;Objectives and Key Results&#xff0c;目标与关键成果&#xff09;管理模式&#xff0…

Gradle入门初探

一、Gradle简介&#xff1a; 我们都创建过基于Maven的项目&#xff0c;maven可以很好的管理项目的依赖&#xff0c;编译和打包项目&#xff0c;Gradle是一个和Maven类似的自动化构建工具&#xff0c;Maven是基于xml文件格式&#xff0c;而Gradle是基于Groovy的语言&#xff0c…

dm8数据迁移工具DTS

dm8数据迁移工具DTS DTS工具介绍 DM数据迁移工具提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。DM数据迁移工具采用向导方式引导用户通过简单的步骤完成需要的操作。 DM数据迁移工具支持&#xff1a; ◆ 主流大型数据库Oracle、SQLServer、MyS…

Advanced RAG 01:讨论未经优化的 RAG 系统存在的问题与挑战

编者按&#xff1a; 自 2023 年以来&#xff0c;RAG 已成为基于 LLM 的人工智能系统中应用最为广泛的架构之一。由于诸多产品的关键功能严重依赖RAG&#xff0c;优化其性能、提高检索效率和准确性迫在眉睫&#xff0c;成为当前 RAG 相关研究的核心问题。 我们今天为大家带来的这…