版权声明:分享才能获得最大的价值 https://blog.csdn.net/qq_32252957/article/details/84062532
数据归一化处理是数据挖掘中一项基本的工作,不同评价指标往往具有不同的量纲和量纲单位,这样
的情况会影响到数据分析的结果,为了消除指标之间量纲的影响,需要进行数据标准化处理,以解决
数据指标之间的可比性。例如要求解距离(欧氏距离等),需要平方和操作,非常小的数贡献很小,反之大的
数太大,这样误差很大。
下面用min-max标准化方法进行归一化处理:
# 进行归一化处理
def maxmin_norm(array):
"""
:param array: 每行为一个样本,每列为一个特征,且只包含数据,没有包含标签
:return:
"""
maxcols = array.max(axis = 0)
mincols = array.min(axis = 0)
data_shape = array.shape
data_rows, data_cols = data_shape
t = np.empty((data_rows, data_cols))
for i in range(data_cols):
t[:, i] = (array[:, i] - mincols[i]) / (maxcols[i] - mincols[i])
return t
array是样本的特征矩阵,t是归一化后的矩阵