python对样本进行归一化处理

版权声明:分享才能获得最大的价值 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是归一化后的矩阵

猜你喜欢

转载自blog.csdn.net/qq_32252957/article/details/84062532