机器学习之特征归一化

当数据集的数值属性具有非常大的比例差异,往往导致机器学习的算法表现不佳,当然也有极少数特例。在实际应用中,通过梯度下降法求解的模型通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等模型。但

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  当数据集的数值属性具有非常大的比例差异,往往导致机器学习的算法表现不佳,当然也有极少数特例。在实际应用中,通过梯度下降法求解的模型通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等模型。但对于决策树不使用,以C4.5为例,决策树在进行节点分裂时主要依据数据集D关于特征X的信息增益比,而信息增益比根特征是否经过归一化是无关的。

  同比例缩放所有属性常用的两种方法是:最小-最大缩放和标准化

  最小-最大缩放(又加归一化),将值重新缩放使其最终范围在0-1之间,(current – min)/ (max – min),Scikit-Learn提供了MinMaxSaler转换器可以完成该功能

  标准化,(current – mean) / var,使得得到的结果分布具备单位方差,相比最小-最大缩放,标准化的方法受异常值的影响更小,同样Scikit-Learn也提供了StandScaler转换器

1. MinMaxScaler和StandScaler类结构

  机器学习之特征归一化

2. MinMaxScaler示例

>>> from sklearn.preprocessing import MinMaxScaler
>>>
>>> data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
>>> scaler = MinMaxScaler()
>>> print(scaler.fit(data))
MinMaxScaler(copy=True, feature_range=(0, 1))
>>> print(scaler.data_max_)
[  1.  18.]
>>> print(scaler.transform(data))
[[ 0.    0.  ]
 [ 0.25  0.25]
 [ 0.5   0.5 ]
 [ 1.    1.  ]]
>>> print(scaler.transform([[2, 2]]))
[[ 1.5  0. ]]

3. StandScaler示例

>>> data = [[0, 0], [0, 0], [1, 1], [1, 1]]
>>> scaler = StandardScaler()
>>> print(scaler.fit(data))
    StandardScaler(copy=True, with_mean=True, with_std=True)
>>> print(scaler.mean_)
    [ 0.5  0.5]
>>> print(scaler.transform(data))
    [[-1. -1.]
    [-1. -1.]
    [ 1.  1.]
    [ 1.  1.]]
>>> print(scaler.transform([[2, 2]]))
    [[ 3.  3.]]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120028.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • goland 激活码 2021 3月最新注册码[通俗易懂]

    goland 激活码 2021 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    159
  • YUV 简介及使用

    YUV 简介及使用一、YUV简介YUV:是一种颜色编码方法,常使用在各个视频处理组件中Y’UV,YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠Y表示明亮度(单取此通道即可得灰度图),U和V则是色度、浓度主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0可以根据其采样格式来从码流中还原每个像素点的YUV值,进而通过YUV…

    2022年7月16日
    15
  • JVM调优工具的使用方法

    JVM调优工具的使用方法转自:https://www.iteye.com/blog/pengjiaheng-552456常用的JVM调优工具:Jconsole,jProfile,VisualVMJconsole:jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:J…

    2022年5月6日
    44
  • 基于AdminLTE的开发框架-AdminEAP

    基于AdminLTE的开发框架-AdminEAPAdminEAP是基于AdminLTE的开发框架,目前所包含的系统功能有:Component组件集成、CURD增删改查demo、系统工具、工作流、系统权限与安全、Github源码与License、联系我们,提供了前端、后端整体解决方案,使得web开发更简单。

    2022年7月27日
    7
  • 备份数据库的命令.sql

    备份数据库的命令.sql

    2021年4月25日
    124
  • 怎么做app软件_软件限制设备登录怎么激活成功教程

    怎么做app软件_软件限制设备登录怎么激活成功教程项目描述客户端,基于H5Plus使用MUI框架开发的APP,运行环境为小米手机真机测试。服务端,使用SpringBoot搭建的项目,运行环境为SpringBoot内置Tomcat,部署端口为8090。问题分析电脑和手机连接同一个WiFi,手机点击按钮,触发Ajax请求,无法访问在笔记本电脑上部署的SpringBoot后台。原Ajax请求地址,使用的是localhost,打开电脑cmd窗口,输入ipconfig查询电脑的ipv4地址,修改localhost为电脑私网IP。mui.ajax(“ht

    2025年9月22日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号