R语言标准化(归一化)之scale()函数、sweep()函数
#数据集
x<-cbind(c(1,2,3,4),c(5,5,10,20),c(3,6,9,12))
#自己写标准化
x_min_temp<-apply(x,2,min)
x_min<-matrix(rep(x_min_temp,4),byrow=TRUE,ncol=3)#需要输入行数和列数
abs(x-x_min)#当前值减去均值
x_extreme_temp<-apply(x,2,max)-apply(x,2,min)
x_extreme<-matrix(rep(x_extreme_temp,4),byrow=TRUE,ncol=3)#需要输入行数和列数
abs(x-x_min)/x_extreme
#sweep函数
center <- sweep(x, 2, apply(x, 2, min),'-') #在列的方向上减去最小值,不加‘-’也行
R <- apply(x, 2, max) - apply(x,2,min) #算出极差,即列上的最大值-最小值
x_star<- sweep(center, 2, R, "/") #把减去均值后的矩阵在列的方向上除以极差向量
#sweep函数更简洁、易懂,且不需要输入行数和列数,二者性能也差不多
#sweep再举一个例子哈
m<-matrix(c(1:9),byrow=TRUE,nrow=3)
#第一行都加1,第二行都加4,第三行都加7
sweep(m, 1, c(1,4,7), "+")
#scale函数,这个比较简单,不多说
scale(x, center = TRUE, scale = TRUE)
有些地方说归一化,有些地方说标准化,万能的CSDN,谁能告诉我归一化和标准化的区别?
2019年补充,
归一化一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
z-score适用于属性A的最大值和最小值未知的情况(此时归一化已经不合适了,哈哈),或有超出取值范围的离群数据的情况(此时归一化的效果也不好了,哈哈);该种方式要求原始数据的分布可以近似为高斯分布,否则归一化的效果会变得很糟糕【这一条我也不是很确认】。
R语言标准化(归一化)之scale()函数、sweep()函数相关推荐
- r语言min-max归一化_如何在R中使用min()和max()
r语言min-max归一化 Finding min and max values is pretty much simple with the functions min() and max() in ...
- R语言使用party包中的ctree函数构建条件推理决策树的流程和步骤、条件推理决策树是传统决策树的一个重要变体、条件推理树的分裂是基于显著性测试而不是熵/纯度/同质性度量来选择分裂
R语言使用party包中的ctree函数构建条件推理决策树的流程和步骤(Conditional inference trees).条件推理决策树是传统决策树的一个重要变体.条件推理树的分裂是基于显著性 ...
- R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如、粗体、斜体等
R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如.粗体.斜体等 目录
- R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k个
R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样.返回的样本列表长度为k个 目录
- R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战
R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战 #仿真数据
- R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战
R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战 #仿真 ...
- R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter、分组颜色配置)实战
R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置) ...
- R语言使用ggplot2包的快速可视化函数qplot绘制密度图(主题、轴标签设置)实战
R语言使用ggplot2包的快速可视化函数qplot绘制密度图(主题.轴标签设置)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制密度图(主题.轴标签设置)实战 #仿真数据
- R语言使用ggplot2包的快速可视化函数qplot绘制散点图实战
R语言使用ggplot2包的快速可视化函数qplot绘制散点图实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制散点图实战 #仿真数据
- R语言使用ggplot2包的快速可视化函数qplot绘制基础直方图实战
R语言使用ggplot2包的快速可视化函数qplot绘制基础直方图实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制基础直方图实战 #仿真数据
最新文章
- Akka的Actor编程
- python读数据-如何用 Python 读取数据?
- python程序实例电话本-利用Python电话本小程序!这波操作你给几分?
- muduo之EventLoopThread
- LINUX 使用tcgetattr函数与tcsetattr函数控制终端五
- java反射机制和junit的使用
- 限制RICHTEXTBOX的输入的范围
- iPhone 12 Pro系列终于不怕弯了!
- 用JSF实现页面刷新后,checkbox仍处于选中状态
- 免费数据恢复软件恢复SanDisk丢失的资料
- 资质申报 - 系统集成企业资质等级评定条件实施细则
- 墨刀和axure你应该用哪个?
- 1.3.1 互联网的边缘部分(资源子网)
- 数值积分——梯形公式和Simpson公式
- sqlilabs Less-8 盲注浅学习
- 符号在excel中的引用_如何在Excel中添加项目符号
- MFC鼠标绘制直线段并使用编码裁剪算法
- 高阶常微分方程的数值解法(runge-kutta的高阶形式)
- manjaro双系统 windows_Linux manjaro与Windows10双系统安装
- 非全日制大专怎么考全日制本科