分清规范化(标准化、归一化)、离散化、正则化、

       在机器学习中,特征与模型都很重要,因此在数据集中寻找本质特征有利于后面的工作,借鉴了以前上课的课件,今天总结一下机器学习的几种数据预处理方法。

1. 规范化(包括标准化和归一化)

        将特征值按比例缩放映射至指定的区间,例如[-1,0]、[0,1],从而克服不同特征之间的取值差异。

1.1 标准化(Standardization)

Z-score标准化

        μ为所有样本特征的平均值,σ为所有样本特征的标准差,处理后的样本特征符合标准正态分布(即均值为0、标准差为1),即:

#标准化
from sklearn import preprocessing
import numpy as np
X_train = np.array([[ 1., -4., 6.], [ 0., -4., 2.], [ 1., -1., 0.]])
scaler = preprocessing.StandardScaler().fit(X_train)
X_scaled = scaler.transform(X_train)
#处理后数据的均值和方差
print(X_scaled.mean(axis=0))
print(X_scaled.std(axis=0))
#直接使用模型对测试集数据进行转换
X_test=scaler.transform([[-1.,  6., 2.]])                
print(X_test)

 

1.2 归一化(Normalization)

min-max normalization:

通过对原始样本特征的进行以下线性变换,使结果值映射到[0,1]之间

        其中,xx*分别为原始特征与标准化后的特征,x_maxx_min分别为原理特征的最大值与最小值。

        缺点:当有新数据加入时,x_max和x_min可能会发生变化,需要重新定义。

#归一化(缩放特征值)
from sklearn import preprocessing
import numpy as np
X_train = np.array([[ 2.,  -4.,  3.],
                    [ 4.,  -1.,  5.],
                    [ 1.,  0.,  -2.]])
min_max_scaler=preprocessing.MinMaxScaler(feature_range=(-1, 1))#设区间为[-1,1],默认为[0,1]
x_train_feature = min_max_scaler.fit_transform(X_train)
print('x_train_feature:\n',x_train_feature)
print('----------------------------------------')
X_test = np.array([[ -1.,  0.,  1.]])
X_test_feature = min_max_scaler.transform(X_test)
print('X_test_feature:\n',X_test_feature)

2.离散化(Discretization

        为解决特定的分类问题或为简化分类模型的复杂度,有时需要采用特定标记将特征原始取值进行离散化处理;如在成绩预测中,将小于60分成绩标记为C,将6080之间的成绩标记为B,将80100之间的成绩标记为A

scores=[20,70,60,100,80,66,88,92]
grade=[]
for i in scores:
    if i<60 and i>=0:
        grade.append('C')
    if i>=60 and i<80:
        grade.append('B')
    if i>=80 and i<=100:
       grade.append('A')
print(scores)  
print(grade)

 3.正则化(Regularization)

参考:规范化、标准化、归一化、正则化_代码_c的博客-CSDN博客_归一化和规范化

        在求解最优化问题中,调节拟合程度的参数一般称为正则项,越大表明欠拟合,越小表明过拟合

        为了解决过拟合问题,通常有两种方法,第一是减小样本的特征(即维度),第二是正则化(又称为惩罚penalty)

        正则化的一般形式是在整个平均损失函数的最后增加一个正则项(L2范数正则化,也有其他形式的正则化,作用不同)

        正则项越大表明惩罚力度越大,等于0表示不做惩罚。

        正则项越小,惩罚力度越小,极端为正则项为0,则会造成过拟合问题;正则化越大,惩罚力度越大,则容易出现欠拟合问题。




 了解更多特征工程的知识,可以看看大佬的文章:什么是特征工程?如何进行特征工程?_图灵的猫i的博客-CSDN博客_特征工程

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值