matlab 归一化_机器学习中如何用Fscore进行特征选择(附Matlab代码)

作者:kervin

编辑:阿吉

        目前,机器学习在脑科学领域的应用可谓广泛而深入,不论你是做EEG/ERP研究,还是做MRI研究,都会看到机器学习的身影。机器学习最简单或者最常用的一个应用方向是分类,如疾病的分类。对于有监督机器学习(如我们常用的SVM)来说,首先需要提取特征值,特征值作为机器学习的输入进行训练,得到模型。但是,在实际的例子中,不太可能把提取到的所有特征值输入到机器学习模型中进行训练,这是因为过多维度的特征值往往会包括冗余成分,这不仅会大大降低学习速度,而且还会产生过拟合现象,进而影响机器学习模型的性能。最典型的列子是我们做MRI研究,可能会提取到上万个特征值。因此,我们需要首先对提取到的特征值进行特征选择,去除冗余特征,即所谓的特征降维。       目前,特征降维的方法很多,笔者这里就不一一列举(可自行度娘),而F-score是其中比较简单和有效的方法,也是很常用的一种方法。今天,笔者在这里就详细讲解一下F-score如何计算,并给出Matlab程序。       第i个特征的F-score的计算公式如下所示:

a40dd79019740000da2146a3f25207ea.png

       其中,e694d3d06a5a706bded05fe768f3593d.png表示第i个特征中正类特征值的平均值,e02f3b6301776ab699e8912212f65167.png表示第i个特征中负类特征值的平均值,7c46226b8fc353325079009254440f2e.png表示第i个特征所有特征值的平均值,n+表示第i个特征中正类特征值的个数,n-表示第i个特征中负类特征值的个数,8a819780680fce66e041d3822d7aa841.png表示正类特征值中第k个特征值,8279830819fead921b0143cb3eb62e94.png表示负类特征值中第k个特征值。   对于F-score需要说明一下几点:1.一般来说,特征的F-score越大,这个特征用于分类的价值就越大;2.在机器学习的实际应用中,一般的做法是,先计算出所有维度特征的F-score,然后选择F-score最大的N个特征输入到机器学习的模型中进行训练;而这个N到底取多少合适,需要你自己进行尝试;3.F-score只适用于二分类,对于多分类的应用,可以考虑采用其他的特征选择方法;4.F-score与SVM相结合,可以达到较好的分类效果;关于SVM,大家可以参考我们公众号之前推送的文章《支持向量机SVM工具包LIBSVM的安装和测试》。       按照上述的F-score的计算公式,我们可以用Matlab进行编程。笔者按此已经编写好F-score函数,并进行了测试,需要下载程序的朋友,烦请先转发本文到朋友圈,然后截图到微信公众号后台,管理员会尽快把下载链接发送给您,谢谢!我们的业务第一届脑电数据分析技术实战班EEG/ERP数据处理服务推荐阅读支持向量机SVM工具包LIBSVM的安装和测试脑科学研究中常用的数据归一化方法(附Matlab程序)聊一聊置换检验Permutation test的原理关注我们3893855dec260b3355fd53ff57eafaec.png

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

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

相关文章

Java笔记05-Collection、泛型、迭代器

Java笔记05-Collection、泛型、迭代器 【Collection、泛型】 主要内容 Collection集合迭代器增强for泛型 第一章 Collection集合 1.1 集合概述 在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢? 集合:集合是java中提供的一种容器&a…

IOS安装CocoaPods完整流程

作为一个底层系统大菜鸟,又搞过几年ios来说,安装一个CocoaPods是一件蛋痛的事~ 说懂又懂,说不懂又不懂. 由于安装过程比較复杂,步骤较多,而网上教程又比較零散,并且有一些是扯蛋的,所以本篇文章主要从头到位依据自身安装经历记录每一条终端指令,至于里面的原理和一些概念性的东…

重装TCP/IP

在Windows XP的网络组件列表里,Internet 协议 (TCP/IP)的"卸载"按钮是灰色不可选状态。这是因为传输控制协议/Internet 协议 (TCP/IP) 堆栈是 Microsoft XP/ 2003 的核心组件(TCP/IP协议是Windows XP的默认协议),不能删除。所以Windows XP不允许卸载TCP/I…

linux 修改时区_教你在Centos8中更改时区

对于许多与系统相关的任务和进程,使用正确的时区是必不可少的。例如,cron守护进程使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。环 境CentOS 8检查现在的时区timedatectl是一个命令行实用程序,允许您查看和…

UVA12511 - Virus(DP+最长公共上升子序列)

题目链接: https://vjudge.net/problem/UVA-12511 题目大意: 给定两个序列,求出两个序列的最长公共上升子序列(严格上升)。 解题过程: 比赛的时候没有做出来,非常咸鱼的一场比赛,当时…

Java笔记06-Map集合

Map集合 学习目标 能够说出Map集合特点使用Map集合添加方法保存数据使用”键找值”的方式遍历Map集合使用”键值对”的方式遍历Map集合能够使用HashMap存储自定义键值对的数据能够使用HashMap编写斗地主洗牌发牌案例 Map集合概述 啥也不用说,Map集合就相当于python中的字典…

理解什么是前后端分离

HTML、CSS、JS。 AJAX或Fetch。 学习一个前端的框架, React或者Vue或者Angularjs2都可以。 学会一个前端的路由框架, 如React-Router或者Vue-Router。 在学会3的基础上你肯定已经搭建好前端的开发环境了,所有和后端的交互走AJAX或者Fetch…

帧间、帧内像素块预测

一、像素块预测 H.264/ AVC标准中的基本预测技术是基于块,而不是基于对象的。它的编码器是利用混合的编码方案来提高编码效率,这些方案包括高级的预测技术和有效熵编码技术。在运动预测中它使用不同的块的大小进行预测,以树结构的方式来组织…

高性能mysql 第10章 复制

复制功能不仅能够构建高可用的应用,同时也是高可用性,可扩展性,灾难恢复,备份以及数据仓库等工作的基础。 mysql支持两种复制方式:基于语句的复制和基于行的复制。基于语句的复制(也成为逻辑复制&#xff0…

vb6在后台将窗体保存到图片_如何将寺库网多个商品图片一键分类保存到一个目录...

寺库网是全球最大的奢侈品网上在线购物平台,那么我们怎样可以从寺库网上一键批量采集到多个宝贝商品图片,并分类保存到电脑呢?今天小编给大家带来一款专业电商图片链接采集软件【载图助手】,它支持平台高达141个,均可支…

Java笔记07-List、Set、数据结构、Collections

Java笔记07-List、Set、数据结构、Collections 主要内容 数据结构List集合Set集合Collections 第一章 数据结构 2.1 数据结构有什么用? 当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组&#xff…

Apache安装问题:configure: error: APR not found . Please read the documentation

参考:http://cuisuqiang.iteye.com/blog/2068794 http://www.cnblogs.com/Anker/p/3355573.html pcre: https://ftp.pcre.org/pub/pcre/ http://www.linuxidc.com/Linux/2012-06/62289.htm 1. 不赞成去卸载httpd的东西。 2. server上可以存在多个apache。一个是rpm&…

浮动与定位

2019独角兽企业重金招聘Python工程师标准>>> 一.浮动:float:一个元素浮动时,其他内容会"环绕"该元素. 浮动元素的外边距不会合并浮动的元素不能超出其包含快的内边界浮动元素彼此会避免重叠浮动元素的顶端不能比之前所有浮动元素或块级元素的顶端更高如果…

驱动级的自动按键_Aqara全自动智能推拉锁D100,体验全自动开门的便捷

大家好,我是梦想是个猪,今天为大家带来的是一篇智能门锁的使用体验。前言家里的这张门陆陆续续的换了好几把智能门锁了,也体验了好几种不同的开锁方式。最开始开发商给安装的是一把指纹和把手分离的那种款式,开锁的时候需要先输入…

码率问题

帧率影响的是每帧的额定比特数 我说的帧率是编码帧率,不是采集帧率。对于一个采集后的序列,MAD 只跟参考帧有关。而编码帧率与参考帧无关,因此编码帧率不影响 MAD。 ———————————————————————————————————…

Java笔记08-Map详解

第一章 Map集合 1.1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象…

Node.js的helloworld 程序

用文本编辑器,如npp,键入例如以下代码,存储成hello.js console.log(hello) console.log(hello %s->%d,jeapedu, 1941847311) cmd进入dos。切入hello.js所在文件夹。运行node.js程序 node hello.js执行结果例如以下所看到的: C:\nodeS>n…

深度学习综述

摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别、图像识别和检索、自然语言理解等。深层模型是包含多个隐藏层的人工神经网络,多层非线性结构使其具备强大的特征表达能力和对复杂任务建模能力。训练深层模型是长期以来的难…

mac svn工具_Cornerstone 4 for mac(svn管理工具)

Cornerstone 4 for mac是全新版本的svn管理工具,使用cornerstone for mac 特别版建立的版本控制更利于使用,而且cornerstone 4 特别版全面支持Subversion的功能,这里准备了最新版本的cornerstone for mac 特别版,无需激活&#xf…

I帧、B帧和P帧的特点和编码的基本流程

I帧、B帧和P帧的特点: I帧:帧内编码帧I帧特点:1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;2.解码时仅用I帧的数据就可重构完整图像;3.I帧描述了图像背景和运动主体的详情;4.I帧不需要参考其他画面而生成;5.I帧是P帧和B帧的参考帧(其质量直接影响到同组…