【MATLAB第77期】基于MATLAB代理模型算法的降维/特征排序/数据处理回归/分类问题MATLAB代码实现【更新中】
【MATLAB第77期】基于MATLAB代理模型算法的降维/特征排序/数据处理回归/分类问题MATLAB代码实现
本文介绍基于libsvm代理模型算法的特征排序方法合集,包括:
1.基于每个特征预测精度进行排序(libsvm代理模型)
2.基于相关系数corr的特征排序(libsvm代理模型)
3.svmrfe_ker(二分类)【后续更新】
4.基于SVM-RFE递归特征消除的特征排序svmrfe_ori(二分类)【后续更新】
一、多输入单输出多分类问题
数据设置 :
分类数据,12输入1输出4分类,357样本
classdata=xlsread('数据集C.xlsx');
X=classdata(:,1:end-1)';% 输入变量
Y=classdata(:,end);%输出标签
[X, ps_input] = mapminmax(X, 0, 1);
X=X';
ptrain_per=0.7;%训练比例
trainIdx = randperm(size(X,1),ceil(size(X,1)*ptrain_per));%训练样本编号
testIdx = setdiff(1:size(X,1),trainIdx);%测试样本编号
K=10;%10折
cvObj = cvpartition(Y(testIdx),'k',K);
userdata.cvObj = cvObj;
userdata.ft = X(testIdx,:);%测试集输入
userdata.target = Y(testIdx);%测试集输出nSel = size(X,2);%选择的特征数量 ,可以小于等于变量特征数
1、基于每个特征预测精度进行排序(libsvm代理模型)
即通过每个变量作为输入特征,通过十折平均误差率来对特征进行排序。
累计贡献度为 0.9


2、基于相关系数corr的特征排序(libsvm代理模型)
适应度函数——测试集平均R2为:0.88588


二、多输入单输出回归问题
数据设置 :
分类数据,7输入1输出,107样本
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行%% 导入数据
res = xlsread('数据集.xlsx');%% 划分训练集和测试集ptrain_per=0.7;%训练比例
trainIdx = randperm(size(res,1),ceil(size(res,1)*ptrain_per));%训练样本编号
testIdx = setdiff(1:size(res,1),trainIdx);%测试样本编号P_train = res(trainIdx, 1: 7)';
T_train = res(trainIdx, 8)';
M = size(P_train, 2);P_test = res(testIdx, 1: 7)';
T_test = res(testIdx, 8)';
N = size(P_test, 2);%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
K=10;%10折
cvObj = cvpartition(Y(testIdx),'k',K);
userdata.cvObj = cvObj;
userdata.ft = X(testIdx,:);%测试集输入
userdata.target = Y(testIdx);%测试集输出nSel = size(X,2);%选择的特征数量 ,可以小于等于变量特征数
1、基于每个特征预测精度进行排序(libsvm代理模型)
即通过每个变量作为输入特征,通过十折平均误差率来对特征进行排序。
累计贡献度为 0.9


2、基于相关系数corr的特征排序(libsvm代理模型)


三、代码获取
CSDN私信回复“77期”即可获取下载方式。
相关文章:
【MATLAB第77期】基于MATLAB代理模型算法的降维/特征排序/数据处理回归/分类问题MATLAB代码实现【更新中】
【MATLAB第77期】基于MATLAB代理模型算法的降维/特征排序/数据处理回归/分类问题MATLAB代码实现 本文介绍基于libsvm代理模型算法的特征排序方法合集,包括: 1.基于每个特征预测精度进行排序(libsvm代理模型) 2.基于相关系数corr的…...
第三章 图标辅助元素的定制
第三章 图标辅助元素的定制 1.认识图表常用的辅助元素 图表的辅助元素是指除了根据数据绘制的图形之外的元素,常用的辅助元素包括坐标轴、标题、图例、网格、参考线、参考区域、注释文本和表格,它们都可以对图形进行补充说明。 上图中图表常用辅…...
【前端】ECMAScript6从入门到进阶
【前端】ECMAScript6从入门到进阶 1.ES6简介及环境搭建 1.1.ECMAScript 6简介 (1)ECMAScript 6是什么 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。它的目标ÿ…...
Android Shape设置背景
设置背景时,经常这样 android:background“drawable/xxx” 。如果是纯色图片,可以考虑用 shape 替代。 shape 相比图片,减少资源占用,缩减APK体积。 开始使用。 <?xml version"1.0" encoding"utf-8"?…...
什么是GraphQL?它与传统的REST API有什么不同?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是GraphQL?⭐ 与传统的REST API 的不同⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣…...
如何定时备份使用Docker构建的MySQL容器中的数据库
👨🏻💻 热爱摄影的程序员 👨🏻🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…...
Java【手撕链表】LeetCode 143. “重排链表“, 图文详解思路分析 + 代码
文章目录 前言一、两数相加1, 题目2, 思路分析2,1 找到中间结点2.2, 逆序后半段链表2.3, 合并两个链表 3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管…...
C语言 cortex-A7核 按键中断 实验【重点】
一、KEY1 include/key.h #ifndef __KEY_H__ #define __KEY_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_gic.h"//RCC/GPIO章节初始化 void hal_rcc_gpio_init…...
freertos中函数调用和启动第一个任务(栈相关!!!!!!)
本内容仅就一些较难理解的点讲解,请结合其它文章实用 在函数调用时,m3的处理器使用r0-r3共四个寄存器传参,其余的使用栈传参。 但是,如果传入的参数是全局变量,则不需传参,因为全局变量在函数内部是可见的…...
【PHP】如何关闭buffer实时输出内容到前端
前言 默认情况下,我们在PHP里使用echo等函数输出的内容,是不会马上发送给前端的,原因是有 buffer 的存在,buffer又分两处,一处是PHP本身的buffer,另一处是Nginx的buffer。只有当buffer满了之后,…...
Scala第二章节
Scala第二章节 scala总目录 章节目标 掌握变量, 字符串的定义和使用掌握数据类型的划分和数据类型转换的内容掌握键盘录入功能理解Scala中的常量, 标识符相关内容 1. 输出语句和分号 1.1 输出语句 方式一: 换行输出 格式: println(里边写你要打印到控制台的数据);方式二…...
Spring修炼之路(2)依赖注入(DI)
一、概念 依赖注入(Dependency Injection,DI)。 测试pojo类 : Address.java 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 . 二、 注入方式 2.1构造器注入 我们在之前的案例已经…...
编写Android.mk / Android.bp 引用三方 jar 包,aar包,so 库
一.前言 在Android10之后,所有项目工程中,官方推荐使用Android.bp去编译构建,以前使用Android.mk构建的项目随着版本迭代升级,慢慢需要变更为Android.bp, 两者的语法都需要去了解并熟练使用。 笔者之前写过Android.mk的…...
【kylin】【ubuntu】搭建本地源
文章目录 一、制作一个本地源仓库制作ubuntu本地仓库制作kylin本地源 二、制作内网源服务器ubuntu系统kylin系统 三、使用内网源ubuntukylin 一、制作一个本地源仓库 制作ubuntu本地仓库 首先需要构建一个本地仓库,用来存放软件包 mkdir -p /path/to/localname/pac…...
为什么 Go 语言 struct 要使用 tags
在 Go 语言中,struct 是一种常见的数据类型,它可以用来表示复杂的数据结构。在 struct 中,我们可以定义多个字段,每个字段可以有不同的类型和名称。 除了这些基本信息之外,Go 还提供了 struct tags,它可以用…...
WebGL笔记:WebGL中JS与GLSL ES 语言通信,着色器间的数据传输示例:用鼠标控制点位
用鼠标控制点位 <canvas id"canvas"></canvas><!-- 顶点着色器 --> <script id"vertexShader" type"x-shader/x-vertex">attribute vec4 a_Position;void main() {// 点位gl_Position a_Position;// 尺寸gl_PointSize…...
算法 主持人调度-(双指针+贪心)
牛客网: BM96 题目: 一个主持人只能参加一个活动,至少需要多少主持人 思路: 对start, end排序从小到大;初始化指针l, r 0, 0;start[r]< end[l]时需要累加人数同时r,否则l,r同时移动;直至不再满中l<n &&am…...
Elasticsearch 集群时的内部结构是怎样的?
Apache Lucene : Flush, Commit Elasticsearch 是一个基于 Apache Lucene 构建的搜索引擎。 它利用 Lucene 的倒排索引、查询处理和返回搜索结果等功能来执行搜索。 它还扩展了 Lucene 的功能,添加分布式处理功能以支持大型数据集的搜索。 让我们看一下 Apache Luc…...
IoTDB 在国际数据库性能测试排行榜中位居第一?测试环境复现与流程详解第一弹!...
最近我们得知,Apache IoTDB 多项性能表现位居 benchANT 时序数据库排行榜(Time Series: DevOps)性能排行第一名!(榜单地址:https://benchANT.com/ranking/database-ranking) benchANT 位于德国&…...
react项目优化
随着项目体积增大,打包的文件体积会越来越大,需要优化,原因无非就是引入的第三方插件比较大导致,下面我们先介绍如何分析各个文件占用体积的大小。 1.webpack-bundle-analyzer插件 如果是webpack作为打包工具的项目可以使用&…...
脉冲神经网络也能玩转频域?FSTA-SNN时空注意力模块的5个实战应用场景
脉冲神经网络频域建模实战:FSTA-SNN模块的五大创新应用 脉冲神经网络(SNN)作为第三代神经网络,近年来在计算机视觉领域展现出独特优势。传统SNN模型在时空特征提取上存在明显短板,而FSTA-SNN模块的提出为这一困境提供了…...
amlogic-s9xxx-armbian项目全指南:从闲置设备到智能服务器的转变
amlogic-s9xxx-armbian项目全指南:从闲置设备到智能服务器的转变 【免费下载链接】amlogic-s9xxx-armbian amlogic-s9xxx-armbian: 该项目提供了为Amlogic、Rockchip和Allwinner盒子构建的Armbian系统镜像,支持多种设备,允许用户将安卓TV系统…...
合肥高中英语一对一辅导2026指南,突破听说读写全面提升路径
合肥高中英语一对一辅导2026指南,突破听说读写全面提升路径据《2026年中国基础教育课外辅导行业白皮书》数据显示,2026年高中阶段英语学科辅导需求同比增长23%,其中超过65%的学生家长明确表示,传统大班教学已无法满足孩子个性化提…...
Photoshop PS 2026 保姆级图文安装教程
前言 在当今数字创意领域,Photoshop作为行业标准的图像处理软件,掌握它的安装与使用已成为设计师、摄影师及创意工作者的必备技能。本文为您提供Photoshop 2026最新版本的详细安装指南,无论您是初学者还是需要更新软件的专业人士,…...
豆包AI播客音频下载终极指南:F12抓包+剪映剪辑全流程(附避坑技巧)
豆包AI播客音频高效获取与精修实战手册 播客内容创作者常面临优质音频素材获取难题——当听到一段由AI生成的精彩播客却找不到下载入口时,那种"看得见摸不着"的焦灼感尤为强烈。本文将系统性地解决这一痛点,从技术原理到实操细节,…...
Python 3.13 + CUDA 13.0编译轮子
核心工具链安装 1、安装 Visual Studio 2022 (勾选 “使用 C 的桌面开发”) 2、安装 CUDA Toolkit 13.0环境变量注入 在终端执行,确保编译器能精准定位 CUDA 路径:set CUDA_PATHD:\Program Files\NVIDIA_GPU_Computing_Toolkit\v13 set PATH%CUDA_PATH%\…...
AI Agent与传统RPA工具区别:深度解析企业智能自动化的代际跃迁
在人工智能技术从大语言模型的“对话式交互”向“行动式智能体”跨越的关键周期内,AI Agent(智能体)与传统 RPA(机器人流程自动化)工具的区别已成为企业数字化转型的核心议题。这一区别不仅体现在技术架构的演进上&…...
Cross-Modal Prototype Alignment and Mixing for Training-Free Few-Shot Classification
Cross-Modal Prototype Alignment and Mixing for Training-Free Few-Shot Classification Authors: Dipam Goswami, Simone Magistri, Gido M. van de Ven, Bartłomiej Twardowski, Andrew D. Bagdanov, Tinne Tuytelaars, Joost van de Weijer Deep-Dive Summary: 跨模态…...
【故障】解决ssh连接linux卡着不动的问题
1、原因使用xshell连接一台linux机器,发现连接不上,一直都开在连接这个界面,最后超时才停止。2、排查(1)首先,检查下防火墙或者selinuxsystem status firewalld #检查服务是否处于非Running的状态getenforc…...
C++ 静态成员的生命周期管理
C静态成员的生命周期管理是面向对象编程中一个既基础又关键的话题。静态成员作为类的特殊成员,其生命周期与普通成员变量截然不同,理解它们的初始化、销毁时机以及线程安全等问题,对于编写健壮高效的C代码至关重要。本文将深入探讨静态成员的…...
