初识人工智能(二):机器学习(二):sklearn数据特征预处理

时间:2020-04-17
本文章向大家介绍初识人工智能(二):机器学习(二):sklearn数据特征预处理,主要包括初识人工智能(二):机器学习(二):sklearn数据特征预处理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1. sklearn数据特征预处理

通过特定的统计方法(数学方法)将数据转换成算法要求的数据。

数值型数据:标准缩放:

  • 归一化
  • 标准化

类别型数据:

  • one-hot编码

时间类型:

  • 时间的切分

sklearn特征处理的API为:sklearn.preprocessing。

1.1 归一化

特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间。

公式:

注:作用于每一列,max为一列的最大值,min为一列的最小值,那么X’’为最终结果,mx,mi分别为指定区间值默认mx为1,mi为0。

sklearn归一化API:sklearn.preprocessing.MinMaxScaler。

MinMaxScaler语法:

MinMaxScalar(feature_range=(0,1)…)

  • 每个特征缩放到给定范围(默认[0,1])
  • MinMaxScalar.fit_transform(X)
    •   X:numpy array格式的数据[n_samples,n_features]
    •   返回值:转换后的形状相同的array
from sklearn.preprocessing import MinMaxScaler

def mm():
    """
    归一化处理
    :return: NOne
    """
    mm = MinMaxScaler(feature_range=(2, 3))

    data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])

    print(data)

    return None

if __name__ == "__main__":
    mm()

运行结果:

1.2 归一化案例:约会对象数据

相亲约会对象数据,这个样本时男士的数据,三个特征,玩游戏所消耗时间的百分比、每年获得的飞行常客里程数、每周消费的冰淇淋公升数。然后有一个所属类别,被女士评价的三个类别,不喜欢didnt、魅力一般small、极具魅力large也许也就是说飞行里程数对于结算结果或者说相亲结果影响较大,但是统计的人觉得这三个特征同等重要。

这时候我们就需要进行归一化处理了。 

注意在特定场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。

1.3 标准化

特点:通过对原始数据进行变换把数据变换到均值为0,方差为1范围内。

公式:

注:作用于每一列,mean为平均值,

$flag 上一页 下一页