位置: IT常识 - 正文

线性判别分析(LDA)详解(线性判别分析LDA医学)

编辑:rootadmin
线性判别分析(LDA)详解

推荐整理分享线性判别分析(LDA)详解(线性判别分析LDA医学),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:线性判别分析LDA中文,线性判别分析LDA中文,线性判别分析(LDA),线性判别分析LDA例题,线性判别分析LDA计算过程,线性判别分析(LDA),线性判别分析(LDA),线性判别分析LDA,内容如对您有帮助,希望把文章链接给更多的朋友!

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

目录

一、LDA简介

二、数学原理(以二分类为例子)

1、设定

2、每一类的均值和方差

3、目标函数

4、目标函数的求解

5、最终的实践所求

三、多分类LDA

四、LDA用途与优缺点

1、用途

2、优点

3、缺点

五、LDA的python应用

1、调用函数LinearDiscriminantAnalysis

2、常用参数意义

3、常用返回值

4、利用LDA进行二分类实例

一、LDA简介

LDA(线性判别分析)是一个经典的二分类算法。

主要思想:以一种基于降维的方式将所有的样本映射到一维坐标轴上,然后设定一个阈值,将样本进行区分

如下图所示,把红蓝两类的点投影在了一条直线(向量a)上,即二维变一维(本来一个点要用(x,y)来表示,投影到直线后就用一个维度来描述)。

二、数学原理(以二分类为例子)1、设定

首先我们假设整个样本空间分为两个类别,分别是1、-1;N1、N2分别代表1,-1类别样本的个数;样本为X。

那么有:;

设定z为映射后的坐标(即投影后的坐标)

2、每一类的均值和方差

将样本数据X向w向量(设定w的模长为1)做投影,则有:

接下来求出映射后的均值和方差(用来衡量样本的类间距离和类内距离)

均值:;

方差:;

3、目标函数

想要得到好的分类模型,即要求类内间距小,类间间距大。即:

类内间距小:;两个类的方差越小,说明样本越密集 类间间距大:;用两个类的均值的距离说明两个类之间的距离

根据这样的思路构建目标函数:

J(w)越大越好,即我们要求的是:

4、目标函数的求解

化简目标函数:(将w向量与原数据的运算分隔开)

令类间散度矩阵:;类内散度矩阵:,则有:

方法一:

为了解决,则对J(w)求导:

化简得到:

又因为,,都是标量,w前面我们已经约定它的模长为1,所以我们不关心它的长度,只关心他的方向,所以把标量都摘掉,得:

方法二:

J(w)的分子分母都是关于w的二次项,因此J(w)的解与w的长度无关,只与它的方向有关。所以这里为例简单处理也可以令,故求,利用拉格朗日乘子法可得:

又因为方向恒为,所以令,因此有

5、最终的实践所求

为得到数值解的稳定性,通常对进行奇异值分解(),再由得到。

三、多分类LDA

假定存在N个类,且第i类示例数为。

全局散度矩阵:,其中是所有样本的均值向量。

线性判别分析(LDA)详解(线性判别分析LDA医学)

类内散度矩阵:

类间散度矩阵:

然后与上面的二分类类似:目标函数为:

类似可得:

所以W的解为的特征向量组成的矩阵。

四、LDA用途与优缺点1、用途

LDA既可以用来降维(将W视为投影矩阵),又可以用来分类,但主要还是用于降维。

2、优点

与另一个降维算法PCA对比

(1)在降维过程中可以使用类别的先验知识经验,而PCA(无监督学习)无法使用类别先验知识

(2)LDA样本分类依赖的是均值而不是方差,比PCA算法更优

3、缺点

(1)LDA不适合对非高斯分布的样本降维

(2)LDA降维最多降到类别数N-1的维数,如果我们降维的维度大于N-1,则不能使用LDA

(3)LDA可能会过度拟合数据

五、LDA的python应用1、调用函数LinearDiscriminantAnalysisfrom sklearn.discriminant_analysis import LinearDiscriminantAnalysis2、常用参数意义

(1)solver:字符串类型,指定求解最优化问题的算法

🌳'svd':奇异值分解。对于有大规模特征的数据,推荐用这种算法

🌳'lsqr':最小平方差,可以结合skrinkage参数

🌳'eigen' :特征分解算法,可以结合shrinkage参数

(2)skrinkage:取值:字符串‘auto’或者浮点数或者None。

该参数通常在训练样本数量小于特征数量的场合下使用。

🌳‘auto’:自动决定shrinkage参数的大小

🌳None:不使用shrinkage参数

🌳浮点数(位于0~1之间):自己指定的shrinkage参数

(3)n_components:(整数类型)指定了数组降维后的维度(该值必须小于n_classes-1)

(4)priors:一个数组,数组中的元素依次指定了每个类别的先验概率。如果为None,则认为每个类的先验概率都是等可能的

3、常用返回值

coef_:权重向量

intercept:b值

covariance_:一个数组,依次给出了每个类别的协方差矩阵

means_:一个数组,依次给出了每个类别的均值向量

xbar_:给出了整体样本的均值向量

4、利用LDA进行二分类实例

来个简单的小栗子

我们使用sklearn里的乳腺癌数据集

from sklearn.datasets import load_breast_cancercancer = load_breast_cancer()

然后对数据进行一个处理,让我们看起来舒服点,计算机处理也舒服点

data=cancer["data"]col = cancer['feature_names']x = pd.DataFrame(data,columns=col)#就是那些个特征target = cancer.target.astype(int)y = pd.DataFrame(target,columns=['target'])#对应特征组合下的类别标签

训练集测试集分分类

from sklearn.model_selection import train_test_splitx_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=1)

直接进入训练

clf = LinearDiscriminantAnalysis(n_components=1)model=clf.fit(x_train,y_train)

训练出来的模型对test集进行一个预测

y_pred = model.predict(x_test)print(classification_report(y_test, y_pred))

完整代码

from sklearn.datasets import load_breast_cancerfrom sklearn.model_selection import train_test_splitfrom sklearn.discriminant_analysis import LinearDiscriminantAnalysisfrom sklearn import metricsimport matplotlib.pyplot as pltfrom sklearn.metrics import classification_reportimport pandas as pdimport warningswarnings.filterwarnings('ignore')cancer = load_breast_cancer()data=cancer["data"]col = cancer['feature_names']x = pd.DataFrame(data,columns=col)target = cancer.target.astype(int)y = pd.DataFrame(target,columns=['target'])x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=1)clf = LinearDiscriminantAnalysis(n_components=1)model=clf.fit(x_train,y_train)y_pred = model.predict(x_test)print(classification_report(y_test, y_pred))

结果

欢迎大家在评论区批评指正,谢谢~

本文链接地址:https://www.jiuchutong.com/zhishi/299569.html 转载请保留说明!

上一篇:自动驾驶数据集(一):KITTI数据集介绍(自动驾驶数据集 mev)

下一篇:图像风格迁移(图像风格迁移网站)

  • 新开网店如何利用淘宝客推广淘宝店(新开网店如何利润高)

    新开网店如何利用淘宝客推广淘宝店(新开网店如何利润高)

  • 红米9a用的高通的处理器吗(红米9a用的什么cpu)

    红米9a用的高通的处理器吗(红米9a用的什么cpu)

  • 抖音怎么发超过60秒的视频(抖音怎么发超过30秒的视频)

    抖音怎么发超过60秒的视频(抖音怎么发超过30秒的视频)

  • 小米8烧屏怎么恢复(小米烧屏怎么办)

    小米8烧屏怎么恢复(小米烧屏怎么办)

  • iphone6为什么没有指纹(iphone6为什么没有插耳机显示耳机)

    iphone6为什么没有指纹(iphone6为什么没有插耳机显示耳机)

  • iOS 微信把地区改任意文字(怎样把微信地区关掉苹果手机)

    iOS 微信把地区改任意文字(怎样把微信地区关掉苹果手机)

  • iphone基带是什么(iphone的基带)

    iphone基带是什么(iphone的基带)

  • 淘宝怎么绑定微信支付(淘宝怎么绑定微信付款方式)

    淘宝怎么绑定微信支付(淘宝怎么绑定微信付款方式)

  • 小米手表触摸屏没反应(小米手表触摸屏失灵修复小技巧)

    小米手表触摸屏没反应(小米手表触摸屏失灵修复小技巧)

  • 抖音申请电脑直播需要多久(抖音申请电脑直播权限需要审核多久)

    抖音申请电脑直播需要多久(抖音申请电脑直播权限需要审核多久)

  • qq秘密朋友的朋友是啥意思(qq朋友的朋友在秘密在哪)

    qq秘密朋友的朋友是啥意思(qq朋友的朋友在秘密在哪)

  • 小米同步是什么功能(小米的同步有什么用处)

    小米同步是什么功能(小米的同步有什么用处)

  • ios默认字体是什么(iphone手机默认字体是什么字体)

    ios默认字体是什么(iphone手机默认字体是什么字体)

  • 苹果11拨号声音怎么关(苹果拨号声音怎么调大)

    苹果11拨号声音怎么关(苹果拨号声音怎么调大)

  • 华为怎么安装第三方软件(华为怎么安装第三方软件应用)

    华为怎么安装第三方软件(华为怎么安装第三方软件应用)

  • vivox27怎么开启微信美颜(vivoX27怎么开启老年模式)

    vivox27怎么开启微信美颜(vivoX27怎么开启老年模式)

  • 拼多多旺旺是什么意思(拼多多说的旺旺是什么)

    拼多多旺旺是什么意思(拼多多说的旺旺是什么)

  • 购物拼团是什么意思(购物拼团是什么平台)

    购物拼团是什么意思(购物拼团是什么平台)

  • 联想电脑怎么恢复出厂设置(联想电脑怎么恢复系统还原)

    联想电脑怎么恢复出厂设置(联想电脑怎么恢复系统还原)

  • 八戒网如何做兼职(八戒网如何做兼职赚钱)

    八戒网如何做兼职(八戒网如何做兼职赚钱)

  • 荣耀20语音助手在哪里(荣耀20语音助手怎么一喊就出来)

    荣耀20语音助手在哪里(荣耀20语音助手怎么一喊就出来)

  • 能上网但微信连不上网(能上网但微信连不上)

    能上网但微信连不上网(能上网但微信连不上)

  • 手机黑屏但是有反应(手机黑屏但是有声音怎么办)

    手机黑屏但是有反应(手机黑屏但是有声音怎么办)

  • 最新2020.12win10 20H2专业版激活秘钥推荐 附激活工具+教程(最新双色球开奖号码)

    最新2020.12win10 20H2专业版激活秘钥推荐 附激活工具+教程(最新双色球开奖号码)

  • 布拉索夫中央广场的圣诞市集,罗马尼亚 (© Alpineguide/Alamy)(布拉索夫地图)

    布拉索夫中央广场的圣诞市集,罗马尼亚 (© Alpineguide/Alamy)(布拉索夫地图)

  • 月收入10万以下免税哪些企业适用
  • 未核销fyc
  • 这个季度报税时间怎么算
  • 预计产品质量保证损失是什么意思
  • 不同月份的发票能抵扣吗
  • 固定资产原值包含进项税吗
  • 企业所得税从业人数包括临时工吗
  • 外经证预交几个点
  • 哪些项目容易漏缴个人所得税
  • 已经发生的费用
  • 收到结算单应该怎么处理
  • 淘汰生产母猪处理销售收入的分录怎么处理?
  • 固定资产月底怎么处理
  • 出口退税是退进项
  • 未开票收入开票后怎么做账
  • 出口退税报关单解密在哪下载
  • 增值税 代销
  • 补交关税增值税怎么做分录?
  • 慈善会可以开什么票据
  • 税务局查账征收转为核定征收之程序
  • 竹笋属于什么税目类别
  • 外籍人士劳务费怎么交税
  • 单位缴交的社保和医保还要交其他费用吗
  • 差额纳税和全额纳税
  • 物流公司搬运货物合法吗
  • 我国的社会保险费
  • 一般纳税人怎么算税
  • win11闪屏问题
  • 小规模开普票后怎么报增值税
  • mac系统怎么清除数据
  • 解决本地浏览器的方法
  • 会计不忙
  • 如何检查路由器防火墙设置
  • 详解php字符串替换
  • CUDA(10.2)+PyTorch安装加配置 详细完整教程
  • 独立费用包括
  • 纳税调整项目明细表30行怎么填写
  • 营改增企业所得税税率
  • 工程师模式有什么用
  • win11磁盘分区后不显示
  • 加收税收滞纳金属于行政处罚吗
  • 没有综合所得的经营所得如何预扣预缴个税
  • 诉讼费发票丢失可以补开吗
  • 取得经营所得的个人,有综合所得的是什么意思
  • 新收入准则修订的目的
  • mongodb常用语句
  • db2udb
  • phpcms采集教程
  • 信用减值损失在贷方表示什么
  • 收到的进项发票在哪里认证
  • 职工教育经费超过扣除限额的时候调增还是调减
  • 事业单位哪些收入要上交国库
  • 附加税减半征收从什么时候开始
  • 纳税人延期缴纳税款
  • 进出口企业外汇额度
  • 什么情况下可以安排待岗
  • mysql有几种
  • 未知文件怎么删除
  • windows 2003 iis+php5+mysql+phpmyadmin 详细安装配置
  • ubuntu 10.04安装
  • 没有推送windows11
  • mac刻录工具
  • mac命令行指令
  • nomoreporn.exe - nomoreporn是什么进程 有什么用
  • WIN10系统中WPS字体颜色浅
  • win7安全模式
  • 宽带连接找不到设备是怎么回事
  • win7电量
  • unity怎么输出文件
  • javascript that
  • nodejs图片合成
  • unity3D关于公共安全内容制作
  • javascript位置属性
  • javascript零基础
  • android 轮播
  • 审计会计税务的区别及联系
  • 海关进口增值税如何入账
  • 吉林税务发票自动查询系统网
  • 青海省地方税务局领导名单
  • 地税稽查局查账严重吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设