匿名用户

1级

2017-06-06 回答

1)线性归一化

这种归一化比较适用在数值比较集中的情况,缺陷就是如果max和min不稳定,很容易使得归一化结果不稳定,使得后续的效果不稳定,实际使用中可以用经验常量来代替max和min。

2)标准差标准化

经过处理的数据符合标准正态分布,即均值为0,标准差为1。

3)非线性归一化

经常用在数据分化较大的场景,有些数值大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括log、指数、反正切等。需要根据数据分布的情况,决定非线性函数的曲线。

log函数:x = lg(x)/lg(max)

反正切函数:x = atan(x)*2/pi

Python实现

线性归一化

定义数组:x = numpy.array(x)

获取二维数组列方向的最大值:x.max(axis = 0)

获取二维数组列方向的最小值:x.min(axis = 0)

对二维数组进行线性归一化:

def max_min_normalization(data_value, data_col_max_values, data_col_min_values):

""" Data normalization using max value and min value

Args:

data_value: The data to be normalized

data_col_max_values: The maximum value of data's columns

data_col_min_values: The minimum value of data's columns

"""

data_shape = data_value.shape

data_rows = data_shape[0]

data_cols = data_shape[1]

for i in xrange(0, data_rows, 1):

for j in xrange(0, data_cols, 1):

data_value[i][j] = \

(data_value[i][j] - data_col_min_values[j]) / \

(data_col_max_values[j] - data_col_min_values[j])

标准差归一化

定义数组:x = numpy.array(x)

获取二维数组列方向的均值:x.mean(axis = 0)

获取二维数组列方向的标准差:x.std(axis = 0)

对二维数组进行标准差归一化:

def standard_deviation_normalization(data_value, data_col_means,

data_col_standard_deviation):

""" Data normalization using standard deviation

Args:

data_value: The data to be normalized

data_col_means: The means of data's columns

data_col_standard_deviation: The variance of data's columns

"""

data_shape = data_value.shape

data_rows = data_shape[0]

data_cols = data_shape[1]

for i in xrange(0, data_rows, 1):

for j in xrange(0, data_cols, 1):

data_value[i][j] = \

(data_value[i][j] - data_col_means[j]) / \

data_col_standard_deviation[j]

非线性归一化(以lg为例)

定义数组:x = numpy.array(x)

获取二维数组列方向的最大值:x.max(axis=0)

获取二维数组每个元素的lg值:numpy.log10(x)

获取二维数组列方向的最大值的lg值:numpy.log10(x.max(axis=0))

对二维数组使用lg进行非线性归一化:

def nonlinearity_normalization_lg(data_value_after_lg,

data_col_max_values_after_lg):

""" Data normalization using lg

Args:

data_value_after_lg: The data to be normalized

data_col_max_values_after_lg: The maximum value of data's columns

"""

data_shape = data_value_after_lg.shape

data_rows = data_shape[0]

data_cols = data_shape[1]

for i in xrange(0, data_rows, 1):

for j in xrange(0, data_cols, 1):

data_value_after_lg[i][j] = \

data_value_after_lg[i][j] / data_col_max_values_after_lg[j]

python处理csv文件计算均值_PYTHON实现对CSV文件多维不同单位数据的归一化处理相关推荐

  1. python对excel表统计视频教程_Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl ...

  2. 用python编excel统计表_Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl ...

  3. python编辑ppt图片_Python实现对PPT文件进行截图操作的方法

    本文实例讲述了Python实现对PPT文件进行截图操作的方法.分享给大家供大家参考.具体分析如下: 下面的代码可以为powerpoint文件ppt进行截图,可以指定要截取的幻灯片页面,需要本机安装了p ...

  4. Java实现对PDF文件添加水印

    Java实现对PDF文件添加水印 目录 Java实现对PDF文件添加水印 导入依赖 工具方法 效果 最近项目中遇到对PDF添加水印,实现有多种,采取的是itextpdf 导入依赖 <!-- 对P ...

  5. python如何操作ppt_Python实现对PPT文件进行截图操作的方法

    本文实例讲述了Python实现对PPT文件进行截图操作的方法.分享给大家供大家参考.具体分析如下: 下面的代码可以为powerpoint文件ppt进行截图,可以指定要截取的幻灯片页面,需要本机安装了p ...

  6. 修改html时webpack热更新,利用webpack实现对html文件的热更新

    webpack中webpack-dev-server是一个简单的web服务器,能够帮助咱们实现代码的热更新,即在实际开发中只需保存修改完后的代码,不用手动刷新页面就能够看到效果.在使用webpack- ...

  7. 使用go语言GUI库实现对mp3文件的播放1(简单的播放mp3文件)

    使用go语言GUI库实现对mp3文件的播放1(简单的播放mp3文件) 使用beep播放mp3文件(10num) 使用go语言GUI库fyne实现音乐播放器 要是想使用go语言实现播放mp3需要借助be ...

  8. Qt实现对json文件的解析

    json是一种轻量级的数据结构,其内部的结构是一种键值对(key-value)的组合,最外层是{ }.key是带双引号的字符串常亮,用于获取和存储:value的值可以是bool变量,字符串常量,对象或 ...

  9. java实现对pdf文件压缩,拆分,修改水印,添加水印

    最近要实现一个文件上传,并且在线预览上传文件的功能,设计思路是:把上传的文件通过openoffice转成pdf文件,并将pdf文件以流的形式返回到浏览器,由于上传的部分文件过大,转成pdf后传回前端浏 ...

  10. java代码实现对pdf文件文本和图片内容的提取

    教程 pom文件引入jar依赖 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --><depend ...

最新文章

  1. 混合式APP开发中中间件方案Rexsee
  2. [转发]项目修复-把有麻烦的项目带向成功
  3. 类与接口(三)java中的接口与嵌套接口
  4. 敬请期待!《Java开发手册》灵魂13问,深度剖析一线大厂开发思维
  5. No resource found that matches the given name 'android:Widget.Material.A解决方案
  6. Java Stack 类
  7. 【思维】Congestion Charging Zone
  8. C语言课后习题(68)
  9. dedecms网站轮播本地显示为什么上传到服务器就不显示了,dedecms后台上传图片实现图片轮播的方法...
  10. 【React】设计高质量的React组件
  11. Spark序列化入门
  12. 模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(下)(核心部分)...
  13. saltstack 自动化运维神器(四)salt-ssh
  14. 我的IOS学习历程-第三天
  15. C语言流程图生成器的具体操作流程是什么,分享绘制C语言流程图方法
  16. IntelliJ IDEA上svn分支管理和使用
  17. 泰安技师学院计算机专业,泰安技师学院有哪些系部和专业
  18. eclipse工程图标上有个红色感叹号
  19. SQL根据时间字段查询半小时之内或者之外的数据
  20. 微信小程序开发笔记6——小程序添加并使用外部字体(亲测可用)

热门文章

  1. 如何做好一个技术 TL
  2. 技术人 | 我在支付宝体验技术部这四年学到了什么?
  3. 【心电信号】基于matlab自适应滤波算法胎儿心电信号提取【含Matlab源码 953期】
  4. 【图像分割】基于matlab GUI类间方差阈值图像分割【含Matlab源码 583期】
  5. 【雷达通信】基于matlab SVM识别雷达数据【含Matlab源码 305期】
  6. 获得学士学位的机器学习工程工作
  7. ai驱动数据安全治理_利用AI驱动的自动协调器实时停止有毒信息
  8. php实现微信登录详细教程,[文档教程]PHP实现微信开放平台扫码登录源码下载 - 技术编程 - 极思维...
  9. jq监听子元素被点击_jQuery怎么实现当前被点击元素的父级下的某个元素显示出来了?...
  10. mysql错误1215hy000_无法添加外键约束-MySQL错误1215(HY000)