• # MATLAB数据处理


    MATLAB数据处理

    mean(A,(b)) %均值函数,b为设置对哪一维上的数据进行处理,默认为第一维(列),行为第二维
    mean(A,2) %对每一行数据求均值
    
    p = randperm(n,k) %产生1,n的排列中的k个,k可以省略默认返回全部
    

    数据归一化处理

    • 输入数据的单位不一样,且有些数据的范围可能特别大,无法直接比较,归一化就是将数据映射到[0,1]或[-1,1]或其他区间内

    • 此外在神经网络中激活函数的值域是有限制的,像S型函数值域在(0,1),所以训练数据的输出就要归一化到(0,1)之间

    • 归一化算法:(y=(x-min)/(max-min) => [0,1])(y=2*(x-min)/(max-min) -1=> [-1,1])

    • 实现

      % 对于矩阵来说,没一行为一个样本,意思是将矩阵的每一行处理成[a,b]区间
      x=[2,3,4,5,6;7,8,9,10,11];
      y=[2,3;4,5];
      %xx为归一化后的矩阵,ps是训练样本数据的映射,包含了样本的所有信息
      %0,1是期望的归一化后数据的上下界
      [xx,ps]=mapminmax(x,0,1);
      %将y矩阵归一化到到原样本下(也就是样本的最大最小数据使用原样本的值)
      yy=mapminmax('apply',y,ps);
      %将归一化后的矩阵反转到原始数据
      mapminmax('reverse',yy,ps)
      

    冒号的作用(获取指定行列的数据)

    a =
    
         1     2     3     4     5
    
         4     5     6     7     8
    
         0     1     4     7     8
    
         0     2     5     8     7
    
    • b = a(行,列) :b = a(1:2:4,2:2:4)逗号前面的为行限定,后面的为列限定,改命令为获取a矩阵的从第1行开始,每两行取一行数据,一直到第4行,后面参数表示每一行中从第2列开始,每两列取一列数据,一直到第4列。
    • [起始值:步长:终点值]其中中间的增量参数可以省略[起始值:终点值],默认增量为1,方括号可以省略,起始值默认为1,终点值默认为结尾,省略表示取全部[(start):(end)]
    • b=a([1 2],[3 2])取第1 2行的第3 2列数据
    • 省略列参数b = a(1:2:4)默认第1对列操作,取1,3行的第一列的数据,并转换为行向量
    • b=b(:)表示将所有数据存成一列
  • 相关阅读:
    亲历dataguard的一些经验问答题
    [转]ORA-38500: USING CURRENT LOGFILE option not available without stand
    修改npm全局安装模式的路径
    Vue 环境搭建
    Linux下查看系统版本号信息的方法
    每天一个Linux命令(12):su命令
    Ubuntu 首次给root用户设置密码
    适用于Linux的windows子系统
    IDEA的terminal设置成Linux的终端一样
    Windows模拟linux终端工具Cmder+Gow
  • 原文地址:https://www.cnblogs.com/sstealer/p/11578701.html
Copyright © 2020-2023  润新知