位置: 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)

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

  • 360极速浏览器的收藏夹在哪个位置(360极速浏览器的收藏夹在哪里)

    360极速浏览器的收藏夹在哪个位置(360极速浏览器的收藏夹在哪里)

  • 传统企业竞价必知道的4大误区(简述企业竞价采购平台)

    传统企业竞价必知道的4大误区(简述企业竞价采购平台)

  • 华为p50如何复制门禁卡(华为p50如何复制文字)

    华为p50如何复制门禁卡(华为p50如何复制文字)

  • 腾讯视频青春v卡和vip有啥区别(腾讯视频青春v卡)

    腾讯视频青春v卡和vip有啥区别(腾讯视频青春v卡)

  • 苹果微信怎么开启横屏模式(苹果微信怎么开小窗口)

    苹果微信怎么开启横屏模式(苹果微信怎么开小窗口)

  • 苹果手表7怎么调出键盘(苹果手表7怎么连接手机)

    苹果手表7怎么调出键盘(苹果手表7怎么连接手机)

  • 华为p40配置参数是什么(华为p40配置参数介绍)

    华为p40配置参数是什么(华为p40配置参数介绍)

  • 拼多多商家版可以两个手机同时登录吗(拼多多商家版可以赚钱吗)

    拼多多商家版可以两个手机同时登录吗(拼多多商家版可以赚钱吗)

  • 企业微信异常解决办法(企业微信异常是怎么回事)

    企业微信异常解决办法(企业微信异常是怎么回事)

  • 微信加人过于频繁什么时候才能加(微信加人过于频繁多久会恢复)

    微信加人过于频繁什么时候才能加(微信加人过于频繁多久会恢复)

  • 光猫光信号一直闪红灯los(光猫光信号一直闪红灯)

    光猫光信号一直闪红灯los(光猫光信号一直闪红灯)

  • 显卡100度会烧吗(显卡100度会烧坏吗)

    显卡100度会烧吗(显卡100度会烧坏吗)

  • 微信扫小黄车要押金吗(微信扫小黄车不用交押金吗)

    微信扫小黄车要押金吗(微信扫小黄车不用交押金吗)

  • 微信一天加多少人封号(微信一天加多少人封号?)

    微信一天加多少人封号(微信一天加多少人封号?)

  • qq对方转账能查到实名(qq对方转账能查记录吗)

    qq对方转账能查到实名(qq对方转账能查记录吗)

  • 小米ai音箱能控制格力空调吗(小米ai音箱能远程控制吗)

    小米ai音箱能控制格力空调吗(小米ai音箱能远程控制吗)

  • 手机主板天线座掉了(手机主板天线座更换)

    手机主板天线座掉了(手机主板天线座更换)

  • oppoa91怎么关闭运行程序(oppoa91怎么关闭自动更新系统)

    oppoa91怎么关闭运行程序(oppoa91怎么关闭自动更新系统)

  • 看快手关注的人为什么看不到了(看快手关注人的动态对方会知道吗)

    看快手关注的人为什么看不到了(看快手关注人的动态对方会知道吗)

  • iphone6设置动态墙纸(苹果6s怎么设置动态)

    iphone6设置动态墙纸(苹果6s怎么设置动态)

  • 华为mate30不贴膜行吗(华为mate30不贴膜屏幕容易花吗)

    华为mate30不贴膜行吗(华为mate30不贴膜屏幕容易花吗)

  • word文档所选内容无效(word选中所有内容)

    word文档所选内容无效(word选中所有内容)

  • 华为mate30截图快捷(华为mate30截图怎么截一小块)

    华为mate30截图快捷(华为mate30截图怎么截一小块)

  • sony耳机一定要电脑充电吗(索尼耳机一定要煲机吗)

    sony耳机一定要电脑充电吗(索尼耳机一定要煲机吗)

  • solidworks尺寸(solidworks尺寸显示0.01)

    solidworks尺寸(solidworks尺寸显示0.01)

  • s10+支持5g吗(三星s10支持5g吗)

    s10+支持5g吗(三星s10支持5g吗)

  • 如何关闭手机扬声器(如何关闭手机扬声器模式vivo)

    如何关闭手机扬声器(如何关闭手机扬声器模式vivo)

  • 记录转载:uni-app 请求 uni.request封装使用(uni appp)

    记录转载:uni-app 请求 uni.request封装使用(uni appp)

  • 城市维护建设税优惠政策
  • 跨年增票能开红冲吗?
  • 公司购买股票如何做账
  • 预付账款退回怎么做凭证
  • 购销合同中印花税怎么计算
  • 减免税款计入哪个科目
  • 员工出差的餐补计入什么科目
  • 一般纳税人增值税申报操作流程
  • 未预缴开票
  • 个体开建筑服务税率多少?
  • 主营业务收入借增贷减
  • 提取法定盈余公积比例
  • 建筑资质挂靠费用怎么写会计分录?
  • 电话宽带是什么意思
  • 公积金是交当月还是上月
  • 进口采购交的增值税
  • 产业扶持周转金退回多久到账
  • 金蝶采购发票怎么红冲
  • 稽查查补税款怎么计算企业所得税
  • 怎样保持ppt在所有电脑上不变
  • 没有收入业务招待费要全额调增吗
  • 商誉减值会计准则
  • 存贷款利率计算器
  • 一般纳税人如何计算企业所得税
  • 如何调整任务栏图标大小
  • 公司注销退回投资款如何账务处理
  • 浏览器显示英语怎么设置成中文
  • 重命名电脑名称有什么用
  • 债务重组收益会计分录怎么做?
  • wordpress 常用函数
  • 未能连接到一个windows 的服务win7
  • 限售股是好是坏
  • apache去掉php后缀
  • 共管账户和联名账户
  • vue子组件监听父组件
  • 什么是多模态研究
  • python中字符串的长度怎么算
  • 超过离线开票限定时间怎么办
  • 研发支出的主要内容
  • 当月已付款, 没收到发票怎么做账
  • 如何用织梦在本地搭建网站
  • 国地税合并后工资仍然不一致
  • sql2005服务无法启动sql安装方法
  • 结转全年利润总额
  • 亏损企业所得税汇算清缴怎么做
  • 小规模纳税人企业所得税征收标准
  • 以房抵债会计分录怎么做
  • 收到返还工会经费大于管理费用
  • 赠送产品会计分录怎么写
  • 库存商品的出售
  • mysql配置文件my.ini
  • sql语句的调优
  • xp系统怎么弄成win7
  • centos 安装chia
  • 硬盘安装win8.1
  • win单击变双击
  • win7系统网页无法调用摄像头
  • win8查看系统版本
  • 错误日志项数
  • cocos2dx游戏开发进阶卷这本书怎么样
  • android读写sd卡权限
  • shell 四则运算
  • Django中login_required装饰器的深入介绍
  • python urljoin
  • js array insert
  • node.js介绍
  • Intermediate Unity 3D for iOS: Part 3/3
  • js utf-8编码转换中文
  • unityui渲染顺序
  • JavaScript的函数定义
  • 用javascript
  • Android应用程序可以直接在ios中安装运行吗
  • Python的collections模块中的OrderedDict有序字典
  • 全电发票
  • 非正常户记录
  • 螺丝钉的税率
  • 耕地占用税 湖北
  • 国企划拨用地改制处置
  • 一般纳税人做账收费标准
  • 请问到税务局办里退税都需要什么手续
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设