zoukankan      html  css  js  c++  java
  • R_Studio(贷款)数据规范化处理[最小-最大规范化、零-均值规范化、小数定标规范化]

      农场申请贷款.csv

     

      对“农场申请贷款.csv”中农场大小、降雨量、农场质量、农场收入进行数据规范化处理 行数[4 5 6 7]

      “农场申请贷款.csv”中存在缺失值,已对数据进行预处理 

    setwd('D:\data')
    
    list.files()
    
    #数据读取
    dat=read.csv(file="农场申请贷款.csv",header=TRUE)
    
    sub=which(is.na(dat[5]$'降雨量'))#识别缺失值所在行数
    #将数据集分成完整数据和缺失数据两部分
    inputfile1=dat[-sub,]    #缺失部分
    inputfile2=dat[sub,]     #不缺失部分  
    
    dat=inputfile1
    
    #最小-最大规范化
    b1=(dat[,4]-min(dat[,4]))/(max(dat[,4])-min(dat[,4]))
    b2=(dat[,5]-min(dat[,5]))/(max(dat[,5])-min(dat[,5]))
    
    b3=(dat[,6]-min(dat[,6]))/(max(dat[,6])-min(dat[,6]))
    b4=(dat[,7]-min(dat[,7]))/(max(dat[,7])-min(dat[,7]))
    data_scatter=cbind(b1,b2,b3,b4)
    newdata=dat
    for(i in 4:7){
      newdata[,i] =(dat[,i]-min(dat[,i]))/(max(dat[,i])-min(dat[,i]))
    }
    
    data_scatter=cbind(b1,b2,b3,b4)
    
    data_scatter=cbind(b1,b2,b3,b4)   
    
    
    #零-均值规范化
    data_zscore=scale(data_scatter)
    data_zscore
    
    #小数定标规范化
    i1=ceiling(log(max(abs(dat[,4])),10))#小数定标的指数
    c1=dat[,4]/10^i1
    i2=ceiling(log(max(abs(dat[,5])),10))
    c2=dat[,5]/10^i2
    i3=ceiling(log(max(abs(dat[,6])),10))
    c3=dat[,6]/10^i3
    i4=ceiling(log(max(abs(dat[,6])),10))
    c4=dat[,7]/10^i4
    data_dot=cbind(c1,c2,c3,c4)
    
    #打印结果
    options(digits = 4)#控制输出结果的有效位数
    data;data_scatter;data_zscore;data_dot
    Gary.R

      最小-最大规范化:对原始数据的线性变换,将数值映射到[0,1]

       

    setwd('D:\data')
    list.files()
    #数据读取
    dat=read.csv(file="农场申请贷款.csv",header=TRUE)
    
    sub=which(is.na(dat[5]$'降雨量'))#识别缺失值所在行数
    #将数据集分成完整数据和缺失数据两部分
    inputfile1=dat[-sub,]    #缺失部分
    inputfile2=dat[sub,]     #不缺失部分  
    
    dat=inputfile1  #将清洗过的数据保存回dat中
    #最小-最大规范化
    b1=(dat[,4]-min(dat[,4]))/(max(dat[,4])-min(dat[,4]))
    b2=(dat[,5]-min(dat[,5]))/(max(dat[,5])-min(dat[,5]))
    b3=(dat[,6]-min(dat[,6]))/(max(dat[,6])-min(dat[,6]))
    b4=(dat[,7]-min(dat[,7]))/(max(dat[,7])-min(dat[,7]))
    data_scatter=cbind(b1,b2,b3,b4)
    newdata=dat
    for(i in 4:7){
      newdata[,i] =(dat[,i]-min(dat[,i]))/(max(dat[,i])-min(dat[,i]))
    }
    data_scatter=cbind(b1,b2,b3,b4)
    
    data_scatter
    Gary.R

      零-均值规范化:标准差规范化,经过处理的数据的均值位0,标准差位1

      

      scale方法中的两个参数center和scale的解释:
        center和scale默认为真,即T或者TRUE
        center为真表示数据中心化(只减去均值不做其他处理)
        scale为真表示数据标准化

    setwd('D:\data')
    list.files()
    #数据读取
    dat=read.csv(file="农场申请贷款.csv",header=TRUE)
    
    sub=which(is.na(dat[5]$'降雨量'))#识别缺失值所在行数
    #将数据集分成完整数据和缺失数据两部分
    inputfile1=dat[-sub,]    #缺失部分
    inputfile2=dat[sub,]     #不缺失部分  
    
    dat=inputfile1  #将清洗过的数据保存回dat中
    #零-均值规范化
    data_zscore=scale(data_scatter)
    data_zscore
    
    data_zscore
    Gary.R

      

       小数定标规范化:最小-最大规范化保持原有数据之间的联系

      

    setwd('D:\data')
    list.files()
    #数据读取
    dat=read.csv(file="农场申请贷款.csv",header=TRUE)
    
    sub=which(is.na(dat[5]$'降雨量'))#识别缺失值所在行数
    #将数据集分成完整数据和缺失数据两部分
    inputfile1=dat[-sub,]    #缺失部分
    inputfile2=dat[sub,]     #不缺失部分  
    
    dat=inputfile1  #将清洗过的数据保存回dat中
    #小数定标规范化
    i1=ceiling(log(max(abs(dat[,4])),10))#小数定标的指数
    c1=dat[,4]/10^i1
    i2=ceiling(log(max(abs(dat[,5])),10))
    c2=dat[,5]/10^i2
    i3=ceiling(log(max(abs(dat[,6])),10))
    c3=dat[,6]/10^i3
    i4=ceiling(log(max(abs(dat[,6])),10))
    c4=dat[,7]/10^i4
    data_dot=cbind(c1,c2,c3,c4)
    
    data_dot
    Gary.R
    (如需转载学习,请标明出处)
  • 相关阅读:
    反射
    Ajax
    JSP(二)
    JSP
    Servlet(三)
    Servlet(二)
    Servlet
    idea的Tomcat的配置
    使用Idea创建Maven构造的Web工程
    Maven的下载、安装与环境配置
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9715492.html
Copyright © 2011-2022 走看看