熵值法 [异质指标同质化]中-Matlab 数据归一化预处理 mapminmax函数
一、mapminmax
Process matrices by mapping row minimum and maximum values to [-1 1]
意思是将矩阵的每一行处理成[-1,1]区间,此时对于模式识别或者其他统计学来说,数据应该是每一列是一个样本,每一行是多个样本的同一维,即对于一个M*N的矩阵来说,样本的维度是M,样本数目是N,一共N列N个样本。
其主要调用形式有:
1. [Y,PS] = mapminmax(X,YMIN,YMAX) % 将矩阵的每一行压缩到 [YMIN,YMAX],其中当前行的最大值变为YMAX,最小值变为YMIN
2. [Y,PS] = mapminmax(X,FP) %其中FP为结构体类型,这时就是将矩阵的每一行压缩到[FP.ymin, FP.ymax]中
例如:
x=[,,,,;,,,,];
mapminmax(x,,)
fp.ymin=; %fp为结构体类型
fp.ymax=;
mapminmax(x,fp)
3. Y = mapminmax('apply',X,PS) %ps为一种映射关系 对其他数值进行归一化时,这个数必须要在xmin 和xmax之间,不然归一化的结果,与整体进行归一化,结果会不一样
4. X = mapminmax('reverse',Y,PS) % 反归一化 得到原来的值
5. dx_dy = mapminmax('dx_dy',X,Y,PS) %不常用 根据给定的矩阵X、标准化矩阵Y及映射PS,获取逆向导数(reverse derivative)。如果给定的X和Y是m行n列的矩阵,那么其结果dx_dy是一个1×n结构体数组,其每个元素又是一个m×n的对角矩阵
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%
mapminmax的数学公式为y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin。如果某行的数据全部相同,此时xmax=xmin,除数为0,则此时数据不变
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%
二、mapstd 标准化
Process matrices by mapping each row's means to 0 and deviations to 1:将矩阵的每一行映射为0均值1方差的数据。
主要调用形式有:
1. [Y,PS] = mapstd(X,ymean,ystd) % 均值为ymean, 方差为ystd
2. [Y,PS] = mapstd(X,FP)
3. Y = mapstd('apply',X,PS)
4. X = mapstd('reverse',Y,PS)
5. dx_dy = mapstd('dx_dy',X,Y,PS)
和mapminmax类似的,1和2式是对数据X进行标准化,其中ymean和ystd是期望得到数据的每一行的均值和方差,同样的,我们也可以用一个结构体包含 ymean 和ystd进行带入
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%
mapstd公式为y = (x-xmean)*(ystd/xstd) + ymean。如果设置的ystd=0,或某行的数据全部相同(此时xstd =0)
mean默认是对每一列求均值,mean(x,2)是对每一行求均值,std函数默认求的是标准差的无偏估计,有三种用法,s = std(X),s = std(X,flag),s = std(X,flag,dim)
其中flag是无偏估计的参数,flag=0是无偏估计,即默认 是无偏估计,flag=1是有偏估计,dim表示对第几维求方差,std(X,0,2)表示对X的每一行做无偏的标准差估计。
熵值法 [异质指标同质化]中-Matlab 数据归一化预处理 mapminmax函数的更多相关文章
- Python实现熵值法确定权重
本文从以下四个方面,介绍用Python实现熵值法确定权重: 一. 熵值法介绍 二. 熵值法实现 三. Python实现熵值法示例1 四. Python实现熵值法示例2 一. 熵值法介绍 熵值法是计算指 ...
- caffe中关于数据进行预处理的方式
caffe的数据层layer中再载入数据时,会先要对数据进行预处理.一般处理的方式有两种: 1. 使用均值处理 transform_param { mirror: true crop_size: me ...
- easyui中combobox 验证输入的值必须为选项框中的数据
当作为提示框的方式时,combobox必须设置为允许用户输入的模式,但是当用户输入后未选择正确的数据就直接按tab或点击鼠标离开控件会导致用户输入无效的值并且通过验证,为了避免这种情况的发生我们需要对 ...
- Django中views数据查询使用locals()函数进行优化
优化场景 利用视图函数(views)查询数据之后可以通过上下文context.字典.列表等方式将数据传递给HTML模板,由template引擎接收数据并完成解析.但是通过context传递数据可能就存 ...
- 熵权法原理及matlab代码实现
参考原理博客地址https://blog.csdn.net/u013713294/article/details/53407087 一.基本原理 在信息论中,熵是对不确定性的一种度量.信息量越大,不确 ...
- Struts2(三)——数据在框架中的数据流转问题
一款软件,无在乎对数据的处理.而B/S软件,一般都是用户通过浏览器客户端输入数据,传递到服务器,服务器进行相关处理,然后返回到指定的页面,进行相关显示,完成相关功能.这篇博客重点简述一下Struts2 ...
- OpenGL中的数据——Buffer
OpenGL中主要包括了两种数据——Buffer和Texture. Buffer用于储存线性数无类型据块,可以看成普通的内存块,而Texture则用于储存多维数据,一般储存图像或者其他数据. Buff ...
- Java中public、private、protect对数据成员或成员函数的访问限制
Java类中对数据成员.成员函数的访问限制修饰有:public.protect.private.friendly(包访问限制) public修饰的数据成员或成员函数是对所有用户开放的,所有用户可以直接 ...
- 以使用QSqlQuery向数据库中插入数据为例,做一个小结
背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都 ...
随机推荐
- 多态以及 LeetCode 每日一题
1 多态 1.1 多态性 Java 引用变量有两个类型:一个是编译时类型,一个是运行时类型.前者是代码中声明这个变量时的类型,后者是由实际对象的类型决定的.当编译类型和运行类型不一样时,产生多态. c ...
- Android为TV端助力之WebView开发踩坑一
在Android清单配置文件里面 自定义application时,在4.4系统上面不能加上一个属性,见下图 否则界面将不会显示任何数据,在更高或者更低的系统上面没有测试!
- Flask技术问题汇总
1:Flask 使用 request对象代理了当前请求的上下文.这么做什么好处和坏处? 好处:flask封装了C端发起request对象,这样就可以使用上下文临时把某些对象变为全局可访问:如果不封装, ...
- SpringBoot+MyBatis配置多数据源
SpringBoot 可以支持多数据源,这是一个非常值得学习的功能,但是从现在主流的微服务的架构模式中,每个应用都具有唯一且准确的功能,多数据源的需求很难用到,考虑到实际情况远远比理论复杂的多,这里还 ...
- Powershell-创建Module
1.找到默认module路径,ISE启动时自动加载默认领下的Module代码. $env:PSModulePath 2.在其中一个默认路径下创建个文件夹,在文件夹下创建一个.psm1后缀文件,注意文件 ...
- 什么是validationQuery
validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句.每种数据库都有各自的验证语句,下表中收集了几种常见数据库的validationQue ...
- python3 员工信息表
这是最后一条NLP了......来吧 十二,动机和情绪总不会错,只是行为没有效果而已 动机在潜意识里,总是正面的.潜意识从来不会伤害自己,只会误会的以为某行为可以满足该动机,而又不知道有其他做法的可能 ...
- Java基础系列--08_集合1
---恢复内容开始--- 集合当中有很多都是应用到泛型的技术,所以在讲集合之前,应该先将泛型的概念普及一下. 泛型: (1)泛型是一种类型,但是这种类型是在编译或者调用方法时才确定. (2 ...
- Java基础系列--04_数组
一维数组: (1)数组:存储同一种数据类型的多个元素的容器. (2)特点:每一个元素都有编号,从0开始,最大编号是数组的长度-1. 编号的专业叫法:索引 (3)定义格式 A:数据类型[] 数组名;(一 ...
- VSC 解决红底线问题
话不多说 设置里代码奉上 { "editor.minimap.enabled": false, "workbench.iconTheme": "vs ...