一、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.yminFP.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函数的更多相关文章

  1. Python实现熵值法确定权重

    本文从以下四个方面,介绍用Python实现熵值法确定权重: 一. 熵值法介绍 二. 熵值法实现 三. Python实现熵值法示例1 四. Python实现熵值法示例2 一. 熵值法介绍 熵值法是计算指 ...

  2. caffe中关于数据进行预处理的方式

    caffe的数据层layer中再载入数据时,会先要对数据进行预处理.一般处理的方式有两种: 1. 使用均值处理 transform_param { mirror: true crop_size: me ...

  3. easyui中combobox 验证输入的值必须为选项框中的数据

    当作为提示框的方式时,combobox必须设置为允许用户输入的模式,但是当用户输入后未选择正确的数据就直接按tab或点击鼠标离开控件会导致用户输入无效的值并且通过验证,为了避免这种情况的发生我们需要对 ...

  4. Django中views数据查询使用locals()函数进行优化

    优化场景 利用视图函数(views)查询数据之后可以通过上下文context.字典.列表等方式将数据传递给HTML模板,由template引擎接收数据并完成解析.但是通过context传递数据可能就存 ...

  5. 熵权法原理及matlab代码实现

    参考原理博客地址https://blog.csdn.net/u013713294/article/details/53407087 一.基本原理 在信息论中,熵是对不确定性的一种度量.信息量越大,不确 ...

  6. Struts2(三)——数据在框架中的数据流转问题

    一款软件,无在乎对数据的处理.而B/S软件,一般都是用户通过浏览器客户端输入数据,传递到服务器,服务器进行相关处理,然后返回到指定的页面,进行相关显示,完成相关功能.这篇博客重点简述一下Struts2 ...

  7. OpenGL中的数据——Buffer

    OpenGL中主要包括了两种数据——Buffer和Texture. Buffer用于储存线性数无类型据块,可以看成普通的内存块,而Texture则用于储存多维数据,一般储存图像或者其他数据. Buff ...

  8. Java中public、private、protect对数据成员或成员函数的访问限制

    Java类中对数据成员.成员函数的访问限制修饰有:public.protect.private.friendly(包访问限制) public修饰的数据成员或成员函数是对所有用户开放的,所有用户可以直接 ...

  9. 以使用QSqlQuery向数据库中插入数据为例,做一个小结

    背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都 ...

随机推荐

  1. Identity4实现服务端+api资源控制+客户端请求

    准备写一些关于Identity4相关的东西,最近也比较对这方面感兴趣.所有做个开篇笔记记录一下,以便督促自己下一个技术方案方向 已经写好的入门级别Identity4的服务+api资源访问控制和简单的客 ...

  2. Vue slot插槽

    插槽用于内容分发,存在于子组件之中. 插槽作用域 父级组件作用域为父级,子级组件作用域为子级,在哪定义的作用域就在哪. 子组件之间的内容是在父级作用域的,无法直接访问子组件里面的数据. 插槽元素 &l ...

  3. v-if与v-show的使用

    vue中的v-if与v-show 区别:v-if='false'的会直接在html里删掉,浏览器中看html的结构不会有 v-show='false'只是样式为overflow:hidden; 所以很 ...

  4. 解决SVN Cleanup错误: Failed to run the WC DB work queue associated with

    [内容来源自https://www.cnblogs.com/ANCAN-RAY/p/8961832.html] 在svn本地目录更新文件夹时,更新失败. 然后svn提示我,让我cleanup一下,于是 ...

  5. Kafka单节点及集群配置安装

    一.单节点 1.上传Kafka安装包到Linux系统[当前为Centos7]. 2.解压,配置conf/server.property. 2.1配置broker.id 2.2配置log.dirs 2. ...

  6. 【RL-TCPnet网络教程】第1章 当前主流的小型嵌入式网络协议栈

    第1章   当前主流的小型嵌入式网络协议栈 这几年物联网发展迅猛,各种新产品.新技术也是层出不穷,本章节就为大家介绍当前主流的小型嵌入式网络协议栈. 1.1  当前主流的嵌入式网络协议栈 1.2  u ...

  7. Java Web相关问题

     关于这两天主要问题的解答: (1) 驱动程序无法使用安全套接字层(SSL)加密与 SQL Server 建立安全连接.错误: java.lang.RuntimeException: Could no ...

  8. iBatis第五章:事务管理

    ---------------------------- 1.什么是事务 ------------------------------ 什么是事务? 需要注意的是,事务的概念不是针对某个特定的数据库的 ...

  9. Linux环境下将Oracle11g数据库模式由非归档模式(Noarchivelog)修改为自动归档模式(archivelog)

    1.查看Oracle当前版本 select * from v$version 如图所示: 2.切换到Oracle用户 su - oracle 如图所示: 3.进入sqlplus(此时尚未登录oracl ...

  10. Azure按订阅,资源组,资源类型导出所有资源powershell命令

    一般可以借助powershell命令来读取资源:例如:1, 读取某个订阅下的资源:$subscriptionID = "xxxxxxxx"Set-AzureRmContext $s ...