数据归一化featureNormalize

本文介绍了一种用于数据预处理的特征归一化方法。该方法通过对数据集中的每个特征列进行标准化处理,减去了各列的平均值并除以标准差,从而实现了数值稳定性和算法性能的提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*************featureNormalize.m******************
功能:对列特征数据进行归一化处理;
输入:样本数*矩阵数的二维矩阵;
输出:返回归一化后矩阵,列归一化;
**********************************************/

void featureNormalize (float **InputFeature,int SampleLength, int FeatureSize)
{
    int i,j;
    float temp;
    float sum=0;
    float *mu=(float *)malloc(sizeof(float) * FeatureSize);
    float *sigma=(float *)malloc(sizeof(float) * FeatureSize);

    //求每列的均值
    for (i=0;i<FeatureSize;i++){
        sum=0;
        for (j=0;j<SampleLength;j++){
        sum+=InputFeature[j][i];
        }
        mu[i]=sum/SampleLength;
    }

    //求每列的方差
    for (i=0;i<FeatureSize;i++){
        sum=0;
        for (j=0;j<SampleLength;j++){
        sum +=pow((InputFeature[j][i] - mu[i]),2);
        }
        sigma[i]=sqrt(sum/(SampleLength-1));
    }

    //归一化操作
    for (i=0;i<FeatureSize;i++){
        for (j=0;j<SampleLength;j++){
          InputFeature[j][i]=(InputFeature[j][i]-mu[i])/sigma[i];
        }
    }
    free(mu);
    free(sigma);
}

数据归一化;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值