机器学习-特征工程(2)

文章介绍了数据预处理中的无量纲化和标准化方法,包括概念、公式和PythonSklearn库中的API应用。无量纲化消除量纲影响,但易受异常值影响;标准化使数据分布在均值0和标准差1的范围内,更适合大数据场景。
摘要由CSDN通过智能技术生成

数据预处理

通过一些转换函数将特征工程数据转换成更加适合算法模型的特征数据过程。

包含内容

数值型数据的无量纲化:

  • 归一化
  • 标准化

注:

  • 量纲和单位的区别,长度,时间,质量等都叫做量纲,而米,千米,秒,分钟,等都是单位,国际单位制规定了七个基本量纲单位。
  • 无量纲化,也称为数据的规范化,是指不同指标之间由于存在量纲不同致其不具可比性,故首先需将指标进行无量纲化,消除量纲影响后再进行接下来的分析。

特征预处理API

sklearn.preprocessing

归一化

定义

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

公式

API

 

import pandas as pd
from sklearn.preprocessing import MinMaxScaler
#1、获取数据
data = pd. read_csv("dating. txt")
data = data. iloc[:, :3]
print("data:\n", data)
# 2、实例化一个转换器类
transfer = MinMaxScaler(feature_range=[2,3])
# 3.调用fit_ _transform
data_new = transfer. fit_transform( data)
print ("data_ new:\n", data_new)

总结

  • 最大值和最小值是变化的。
  • 最大纸盒最小值容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确数据场景。

【鲁棒性详情点链接】 

标准化

定义

通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内

公式

 标准差:集中程度。

  • 对于归一化来说:如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变。
  • 对于标准化来说:如果出现异常点,由于具有一-定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小。

API

sklearn.preprocessing.StandardScaler()

  • 处理之后,对每列来说,所有数据都聚集在均值为0附近,标准差为1
  • StandardScaler.fit transform(X)
  • X:numpy array格式的数据[n_ samples,n_ features]
  • 返回值:转换后的形状相同的array
import pandas as pd
from sklearn.preprocessing import MinMaxScaler,StandardScaler
#1、获取数据
data = pd. read_csv("dating. txt")
data = data. iloc[:, :3]
print("data:\n", data)
# 2、实例化一个转换器类
transfer = StandardScaler()
# 3.调用fit_ _transform
data_new = transfer. fit_transform( data)
print ("data_ new:\n", data_new)
  • 导入StandardScaler。
  • 使用StandardScaler转化器,不需要feature_range标签。

总结

在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值