机器学习基础自学二(数据预处理)

主要是用到了统计学的方法去预处理数据

# 调整数据尺度(0..)
from pandas import read_csv
from numpy import set_printoptions
from sklearn.preprocessing import MinMaxScaler#调整数据尺度,将不同计量单位数据统一成相同尺度
from sklearn.preprocessing import StandardScaler#正态化数据
from sklearn.preprocessing import Normalizer#“归一元”处理
from sklearn.preprocessing import Binarizer#二值数据
# 导入数据
filename = 'D:\example\MachineLearning-master\pima_data.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
# 将数据分为输入数据和输出结果
array = data.values
X = array[:, 0:8]#取二维数组中第1(m)维到7维(第n-1维,8-1)的所有数据,相当于取第1(m)列到第7(n-1,8-1)列的所有数据
Y = array[:, 8]#取二维数组中第7(8-1)维的所有数据,相当于取第7(8-1)列的所有数据
scaler = MinMaxScaler(feature_range=(0, 1))#数据标准,聚集到0附近,方差为1
rescaledX = scaler.fit_transform(X)# 数据转换
set_printoptions(precision=3)# 设定数据的打印格式,打印精度为3
print(rescaledX)

scaler = StandardScaler().fit(X)# 正态分布数据转换
rescaledX = scaler.transform(X)# 数据转换
set_printoptions(precision=3)# 设定数据的打印格式,打印精度为3
print(rescaledX)

scaler = Normalizer().fit(X)# 标准化数据
rescaledX = scaler.transform(X)# 数据转换
set_printoptions(precision=3)#设定数据的打印格式,打印精度为3
print(rescaledX)

transform = Binarizer(threshold=0.0).fit(X)
# 数据转换
newX = transform.transform(X)
# 设定数据的打印格式
set_printoptions(precision=3)
print(newX)

'''
MinMaxScaler:提高与距离相关的算法准确度(如K近邻算法)
StandardScaler:有效的处理高斯分布的数据手段,输出结果为0为中位数,方差为1
 Normalizer: “归一元” 适合处理稀疏数据(具有很多为0的数据)
 归一化处理的数据对使用权重输入的神经网络和使用距离K近邻算法准确度有显著提高。
 二值化数据 大于阀值设置为1,小于阀值设置为0,用于图像处理多
 在生成明确或特征工程增加属性的使用
'''

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值