欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 对数据进行归一化

程序员文章站 2024-03-25 09:23:04
...

          随手记录下,方便我以后取用,用的是最大最小值归一化,等啥时候有空把标准化(去中心化也写下)

import numpy as np

"""
函数说明:对数据进行归一化
Parameters:
	dataSet - 特征矩阵
Returns:
	normDataSet - 归一化后的特征矩阵
	ranges - 数据范围
	minVals - 数据最小值
"""
def autoNorm(dataSet):
	minVals = dataSet.min(0)    ## axis 指定成0,获得数据每个特征上的最小值
	maxVals = dataSet.max(0)    ## axis 指定成0,获得数据每个特征上的最大值
	ranges = maxVals - minVals  # 最大值和最小值的范围
	row = dataSet.shape[0]      # 返回dataSet的行数
	normDataSet = (dataSet - np.tile(minVals, (row, 1))) / np.tile(ranges, (row, 1))  # 原始值减去最小值除以最大和最小值的差,得到归一化数据
	return normDataSet, ranges, minVals