机器学习之特征归一化

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

大家好,又见面了,我是全栈君,今天给大家准备了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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SSM框架介绍「建议收藏」

    SSM框架介绍「建议收藏」1、SSM框架简介SSM框架是SpringMVC,Spring和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,Controller层,Service层,DAO层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎。…

    2022年7月12日
    22
  • Redis Sentinel实现的机制与原理详解

    Redis Sentinel实现的机制与原理详解

    2022年3月2日
    36
  • activity生命周期_activity的生命周期有哪些状态

    activity生命周期_activity的生命周期有哪些状态在我的Android四大组件详解一文中已经对Activity的生命周期进行过一个比较详细的介绍。这篇文章我们再来更加深入地介绍Activity的生命周期。一、Activity的生命周期方法如下:onCreate、onStart、onRestart、onResume、onPause、onStop、onDestroy依次介绍:onCreate:表示Activity正在被创建,这是生命周

    2022年8月16日
    8
  • 剑指 Offer 06. 从尾到头打印链表(链表)

    剑指 Offer 06. 从尾到头打印链表(链表)输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000题解链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *

    2022年8月8日
    9
  • uva1599_cumulative iteration number

    uva1599_cumulative iteration numberProblemC:Self­describingSequence SolomonGolomb’s self­describingsequence  istheonlynon­decreasingsequenceofpositiveintegerswiththepropertythatitcontainsexactly f(k)

    2022年9月27日
    2
  • 字符串匹配算法_多字符串匹配

    字符串匹配算法_多字符串匹配文章目录1.BM(Boyer-Moore)算法1.BM(Boyer-Moore)算法思想:有模式串中不存在的字符,那么肯定不匹配,往后多移动几位,提高效率BM原理:坏字符规则,好后缀规则…

    2022年8月21日
    7

发表回复

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

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