机器学习Python实践(三)数据转换方法-调整数据尺度,正态化,标准化,二值数据

数据预处理

1.数据转换方法

sklearn提出了两种标准的格式化数据方法:fit and multiple transform(推荐优先选择); combined fit-and-transform(对绘图和汇总处理效果好)

1.1 调整数据尺度

如果数据的各个属性按照不同的方式度量数据,那么通过调整数据的尺度让所有属性按照相同的尺度来度量数据,即将数据的所有属性标准化,并将数据转换到0,1之间。

对于梯度下降算法非常有用,对于回归算法、神经网络算法和K近邻算法的准确度提高也起到很重要的作用。

读入数据

names=['preg','plas','pres','skin','test','mass','pedi','age','class']
data=pd.read_csv("pima_data.csv",names=names)

调整数据尺度

#归调整数据尺度
#将数据分为输入和输出
array=data.values
X=array[:,:8]
Y=array[:,8]
transformer=MinMaxScaler(feature_range=(0,1))
#数据转换
newX=transformer.fit_transform(X)

结果:

1.2 正态化数据

有效处理符合高斯分布的数据的手段,sklearn的StandardScaler处理

#正态化
transformer=StandardScaler().fit(X)
newX=transformer.transform(X)

结果:

1.3 标准化数据

将每一行数据的距离处理成1,适合处理稀疏数据(具有很多为0的数据),归一化处理的数据对使用权重输入的神经网络和使用距离的K近邻算法的准确性的提升有显著作用。

#标准化
transformer=Normalizer().fit(X)
newX=transformer.transform(X)

结果

1.4 二值数据

二值数据是使用值将数据转化为二值,大于阈值设置为1,小于阈值设置为0

#二值数据
transformer=Binarizer(threshold=0.0).fit(X)
newX=transformer.transform(X)

结果:

内容参考《机器学习python实践》魏贞原, 2018.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值