【MATLAB第31期】基于MATLAB的降维/全局敏感性分析/特征排序/数据处理方法MATLAB代码实现(持续更新)

news2025/1/27 13:01:26

【MATLAB第31期】基于MATLAB的降维/全局敏感性分析/特征排序/数据处理方法MATLAB代码实现(持续更新)

一、降维方法

常见的降维方法:
1.变量归类(主成分分析PCA、核主成分分析KPCA)
2.变量筛选(临近成分分析NCA、皮尔逊系数PCC、RF随机森林、garson)

1.回归预测

案例数据data 1000×31 ,前30列为变量,第31列为因变量
在这里插入图片描述

(1)主成分分析PCA

%% 1.降维方法
%
clc
clear all

load data
x=data(:,1:end-1);

%% (1)主成分分析PCA
addpath('D:\特征排序\PCA')
ContributeRate=0.9;  %贡献率90%
[xpca,result_report]=mypca(x,ContributeRate) ;

在这里插入图片描述
三十个变量通过降维成16个变量组合。
在这里插入图片描述

(2)核主成分分析KPCA

核函数可选择四种,分别为:
1-高斯核函数
2-二阶多项式核
3-线性核
4-sigmoid核(tanh)

%% (2)核主成分分析KPCA  
addpath('D:\特征排序\KPCA')
sigma=0.3;
ContributeRate=0.9;
KindKernel=2;% 1-高斯核函数,2-二阶多项式核,3-线性核,4-sigmoid核(tanh)
[xkpca] =kpca(x,sigma, KindKernel,ContributeRate); 

当采用高斯核函数时,出现复数,结果报错。
故选择二阶多项式核进行运算得:
在这里插入图片描述
3-线性核运行结果在这里插入图片描述
在这里插入图片描述
4-sigmoid核(tanh),出现复数,结果报错。

(3)临近成分分析NCA

%% (3)近邻成分分析NCA
addpath('D:\特征排序\NCA')
ContributeRate=0.9;
xtrain =data(:,1:end-1);
ytrain =data(:,end);
[xx,mdl]=myfsrnca(xtrain,ytrain,0.9);
xnca=data(:,xx);

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

%% (4)随机森林RF
addpath('D:\特征排序\RF')
ContributeRate=0.9;
[XT,RFModel,w]= myrf(data,ContributeRate);
xrf=data(:,XT);
%% (5)皮尔逊相关系数PCC
addpath('D:\特征排序\PCC')
ContributeRate=0.9;
xtrain =data(:,1:end-1);
ytrain =data(:,end);
opts.Nf =size(xtrain,2);    % 选择因素数量
FS     = jPearsonCorrelationCoefficient(xtrain,ytrain,opts); % 皮尔逊相关系数法 函数调用
sf_idx = FS.sf;
 % 绘图  ,特征排序
extra()
 xpcc=yt(1:mm);%取前MM个数据
%% (6)Relief-F算法
addpath('D:\特征排序\Relief-F')
ContributeRate=0.9;
xtrain =data(:,1:end-1);
ytrain =data(:,end);
opts.Nf =size(xtrain,2);    % 选择因素数量
FS     = jReliefF(xtrain,ytrain,opts); %  函数调用
sf_idx = FS.sf;
extra()
 xReliefF=yt(1:mm);%取前MM个数据

%% (7)Term Variance算法
addpath(‘D:\特征排序\TV’)
ContributeRate=0.9;
xtrain =data(:,1:end-1);
ytrain =data(:,end);
opts.Nf =size(xtrain,2); % 选择因素数量
FS = jTermVarianceFeatureSelection(xtrain,ytrain,opts); % 函数调用
sf_idx = FS.sf;
extra()
xTV=yt(1:mm);%取前MM个数据

2.分类预测

%% (8)Fisher算法 (常用于分类)
addpath(‘D:\特征排序\Fisher’)


```bash
在这里插入代码片


常见的敏感性分析法:
1.全局敏感性分析(sobol、蒙特卡洛方法)
2.敏感性分析(极差分析法)
常见的数据处理方法:
1.归一化(S型、线性)
2.标准化(Z-score)
3.抽样(超立方体、正交试验、均匀试验)
特征选择和降维
1、相同点和不同点
特征选择和降维有着些许的相似点,这两者达到的效果是一样的,就是试图去减少特征数据集中的属性(或者称为特征)的数目;但是两者所采用的方式方法却不同:降维的方法主要是通过属性间的关系,如组合不同的属性得新的属性,这样就改变了原来的特征空间;而特征选择的方法是从原始特征数据集中选择出子集,是一种包含的关系,没有更改原始的特征空间。
2、降维的主要方法
Principal Component Analysis(主成分分析),详细见“简单易学的机器学习算法——主成分分析(PCA)”
Singular Value Decomposition(奇异值分解),详细见“简单易学的机器学习算法——SVD奇异值分解”
Sammon’s Mapping(Sammon映射)
特征提取和特征选择都是从原始特征中找出最有效(同类样本的不变性、不同样本的鉴别性、对噪声的鲁棒性)的特征
特征提取:将原始特征转换为一组具有明显物理意义(Gabor、几何特征[角点、不变量]、纹理[LBP HOG])或者统计意义或核的特征
特征选择:从特征集合中挑选一组最具统计意义的特征,达到降维
两者作用:
1 减少数据存储和输入数据带宽
2 减少冗余
3 低纬上分类性往往会提高
4 能发现更有意义的潜在的变量,帮助对数据产生更深入的了解

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

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

相关文章

签名预售活动圆满结束!各位敬等快递,第一个付款的兄弟来领取大礼!

我的新书经过千难万险终于上架, 为了感谢众多老铁的支持, 所以上周日搞了签名预售的活动,挂了300本, 一上线很快就被大家买光了, 留言需要单独写一些话的老铁,我也都尽量满足了, 如果一楼还…

HNU-操作系统OS-实验Lab5

OS_Lab5_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 了解第一个用户进程创建过程了解系统调用框架的实现机制了解ucore如何实现系统调用sys_fork/sys_exec/sys_exit/sys_wait来进行进程管理 实验…

计算机组成原理基础练习题第一章

有些计算机将一部分软件永恒地存于只读存储器中,称之为() A.硬件    B.软件C.固件    D.辅助存储器输入、输出装置以及外界的辅助存储器称为() A.操作系统    B.存储器 C.主机      D.外围设备完整的计算机系…

算法时间空间复杂度

文章目录 算法算法特性 时间复杂度时间复杂度概念算法运行时间例如时间复杂度分三种 空间复杂度 算法 算法特性 1.有穷性:执行有穷步(有限步)之后结束。 2.确定性:只有唯一的执行路径。 3.可行性:代码可以执行起来…

2023年数维杯ABC选题人数公布

根据各个平台开赛后28小时各项数据统计,进行评估(方法见注释),最终得出2023年数维杯选题人数,大致为 A:B:C260:281:40 题号选题人数A260B281C40 选题人数统计结果分析:AB为研究生本…

vue3开启大海贼时代!!!

大海贼时代结束!!! vue3开始!!! setup初体验 1.与vue2不同的是 定义的变量和方法都被放到一个叫 setup( )里面了 2.vue2里面没有了 this 3. 1)访问变量先定义 const msg 1 2&#xff0…

[架构之路-196] - 发现问题原因的通常步骤:提出问题、明确问题、偏差分析、因素分析、原因分析

目录 前言: 通用问题的方法论 第一步:是提出问题阶段:表象、总体、大致 第二步:是明确问题阶段(深层):分解、分类、排序 第三步:是明确问题阶段(目标)&a…

关于一个C++项目:高并发内存池的开发过程(一)

原项目地址:高并发内存池项目: 高并发内存池项目的课堂板书代码 (gitee.com) 写在前面 本打算利用五一假期的时间将这个项目一口气开发完成,但由于本人的懈怠,这个项目最终只完成了80%。于是利用长假后的一天假期,将这个项目的框…

springboot整合security,mybatisPlus,thymeleaf实现登录认证及用户,菜单,角色权限管理

介绍 本系统为springboot整合security,mybatisPlus,thymeleaf实现登录认证及用户,菜单,角色权限管理。页面为极简模式,没有任何渲染。 源码:https://gitee.com/qfp17393120407/spring-boot_thymeleaf 开发…

算法训练Day59:503.下一个更大元素II 42. 接雨水

文章目录 [下一个更大元素 II](https://leetcode.cn/problems/next-greater-element-ii/description/)题解 接雨水题解 下一个更大元素 II CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsMedium (66.68%)8060--0 Tags 堆 | 数组 | 单调栈 Compani…

企业信息化战略与实战(三)-企业信息化与电子商务概念

上面我们了解了政府信息化与企业信息化的部分概念,今天继续了解企业信息化的相关概念和电子商务相关概念。 1、决策支持系统(DSS) 了解基本理念和组成部分即可. 决策支持系统的作用一般是供决策,做辅助用途的系统,当你做一个决策的时候,你可以需要给你的决策做支持。比如…

05- redis集群模式搭建(上) (包含云服务器[填坑])

目录 1. 准备环境: 2. 简介: -> 2.1 前言: -> 2.2 Redis集群架构实现了对redis的水平扩容 -> 2.3 redis cluster集群原理 3. 搭建后特别需要注意的问题 ->3.1 [重点]: 如果一个服务出现故障: 是否可以继续提供服务??? ---> 3.1.1 如果集群中故障re…

PCIe的capability扩展空间字段解释

解释 这是一段关于高级错误报告的信息,其中包含多个字段和值。以下是每个字段的详细解释: Capabilities: [100 v1] Advanced Error Reporting 这是该设备支持高级错误报告的能力标识符。 UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- R…

python的文件操作模块shutil和pathlib总结

一:shutil模块 1,shutil模块安装 pip insatll shutilwhich 2,shutil支持的方法 可以通过dir(shutil)查看shutil支持的方法和属性 [Error, ExecError, ReadError, RegistryError, SameFileError, SpecialFileError, _ARCHIVE_FORMATS, _BZ2_…

当列车穿过时空隧道:解密力扣“计算列车到站时间”

本篇博客会讲解力扣“2651. 计算列车到站时间”的解题思路,这是题目链接。 先来审题: 以下是输出示例: 以下是提示: 这道题是给大家树立信心的。计算方法:(预期时间延误时间)%24即可。 int findDelayedArrivalTim…

奇技淫巧第8期

学无止境。 下面是对去年11月至今年5月的零散知识点总结。 春节期间好好放松了一两个月,来校后又懒散的度过了一两个月,直到论文评审意见下来,才开启冲刺模式狂干了一两个月。总的来说,这半年来摸的时间比较多。好,不废…

想学好Python的话,这6本书带你从入门到精通

推荐几本在豆瓣评分很不错的Python学习书籍,这些书的电子版被我搜集整理了出来,今天分享给大家。 书籍包括《Python编程:从入门到实践》、《Python编程快速上手》、《流畅的Python》、《像计算机科学家一样思考Python》、《利用Python进行数…

树状数组C++详解

树状数组介绍 在学习一个算法之前一定要清楚它能干嘛,能解决什么样的问题,对你解题是否有帮助,然后才去学习它! 那么接下来看如下几个问题 什么是树状数组 顾名思义就是一个结构为树形结构的数组,于二叉树的结构类似但又不同&…

基于SpringBoot+Vue的养老院系统

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、…

【C++初阶】第十一篇:stack和queue的使用与模拟实现

文章目录 stack和queue的介绍和使用stack的介绍stack的定义方式stack的使用 queue的介绍queue的定义方式queue的使用 stack和queue的模拟实现容器适配器stack的模拟实现queue的模拟实现 总结: stack和queue的介绍和使用 stack的介绍 stack的文档介绍 stack是一种容…