熵值法 [异质指标同质化]中-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.向指定字段插入指定数据时,读取到的数据都 ...
随机推荐
- Java设计模式---Strategy策略模式
参考于 : 大话设计模式 马士兵设计模式视频 1.场景介绍 购物网站上有一个产品,有三个字段,档次,价格,重量. 有些同学喜欢轻的,有些手头紧,想要便宜的,有些喜欢档次高的. 那么我们为了提高网站用户 ...
- VS Code怎样设置成中文
打开 VS Code Ctrl + Shift +p打开搜索框 搜索框内输入Configure Display Language 回车 修改代码中“locale”后面引号内内容为zh-CH 重新启动V ...
- Java thrift服务器和客户端创建实例
首先环境介绍一下: 1.IntelliJ IDEA 2017.1 2.thrift-0.9.3 相信大家在看我这篇文章的时候已经对thrift通信框架已有所调研,这里就不再赘述了,直接进入正题: &l ...
- C#开发命名规范总结整理
1. 命名规范a) 类[规则1-1]使用Pascal规则命名类名,即首字母要大写.eg:Class Test{ ...}[规则1-2]使用能够反映类功能的名词或名词短语命名类.[规则1-3]不 ...
- 从零开始搭建服务器部署web项目
前言 该教程旨在完整描述建站过程,会将博主踩过的坑尽量详细的罗列出来.整个建站流程相对较为庞大,因此做了分解,同时适合大家有针对性的查询感兴趣的部分. 一.如何拥有自己的云服务器. 二.域名的购买与解 ...
- wav格式文件、pcm数据
wav格式文件是常见的录音文件,是声音波形文件格式之一,wav 文件由文件头和数据体两部分组成. 文件头是我们在做录音保存到文件的时候,要存储的文件的说明信息,播放器要通过文件头的相关信息去读取数据播 ...
- js用canvans 实现简单的粒子运动
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- ztree 获取子节点所有父节点的name的拼接
ztree 获取子节点所有父节点的name的拼接 //获取子节点,所有父节点的name的拼接字符串function getFilePath(treeObj){if(treeObj==null)retu ...
- 闲谈2-sat问题
问题简介 在计算机科学中,布尔可满足性问题(有时称为命题可满足性问题,缩写为SATISFIABILITY或SAT)是确定是否存在满足给定布尔公式的解释的问题.换句话说,它询问给定布尔公式的变量是否可以 ...
- Spring第一天——入门与IOC
大致内容 spring基本概念 IOC入门 [17.6.9更新],如何学习spring? 掌握用法 深入理解 不断实践 反复总结 再次深入理解与实践 一.Spring相关概念 1.概述: Sprin ...