机器学习归一化特征值的处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习归一化特征值的处理相关的知识,希望对你有一定的参考价值。

# -*- coding:utf-8 -*-
__author__ = ‘Ghostviper‘
"""
归一化特征值
"""
from numpy import *
def autoNorm(dataSet):
    minVals = dataSet.min(0)
    maxVals = dataSet.max(0)
    ranges = maxVals - minVals
    normDataSet = zeros(shape(dataSet))
    m = dataSet.shape[0]
    normDataSet = dataSet - tile(minVals, (m, 1))
    normDataSet = normDataSet / tile(ranges, (m, 1))
    return normDataSet, ranges, minVals
if __name__ == "__main__":
    dataSet = array([
        [0.1, 12345, 23],
        [-1.2, 456431, 46],
        [0.99, 23332, 89],
        [1.3, 97653, 123],
        [2, 10900, 23],
        [1, 54612, 9],
    ])
    normDataSet, ranges, minVals = autoNorm(dataSet)

输出结果:

array([[ 0.40625   ,  0.00324332,  0.12280702],
       [ 0.        ,  1.        ,  0.3245614 ],
       [ 0.684375  ,  0.02790378,  0.70175439],
       [ 0.78125   ,  0.19471821,  1.        ],
       [ 1.        ,  0.        ,  0.12280702],
       [ 0.6875    ,  0.09811214,  0.        ]])
array([  3.20000000e+00,   4.45531000e+05,   1.14000000e+02])
array([ -1.20000000e+00,   1.09000000e+04,   9.00000000e+00])

算法核心:(数据集 - 最小特征数据集)/ (最大特征-最小特征)数据集

用途:用于处理不同组特征数据差异较大的情况

本文出自 “ghostviper” 博客,请务必保留此出处http://ghostviper.blog.51cto.com/3396458/1865053

以上是关于机器学习归一化特征值的处理的主要内容,如果未能解决你的问题,请参考以下文章

机器学习特征工程之特征缩放+无量纲化:行归一化(范数化,Normalizer)

机器学习算法在什么情况下需要归一化

[机器学习]特征归一化

机器学习系列文章——特征的处理与选择(归一化标准化降维PCA)

机器学习特征预处理

聊聊 归一化和标准化