sklearn之模型预处理

1、获取样本数据

from sklearn import datasets  

boston = datasets.load_boston()  #  Bunch部含有多个属性
# boston.data, boston.target
# housing = datasets.fetch_california_housing()  # 适用于较大数据集,需外部下载

2、创建样本数据

from sklean import datasets  # datasets.make_*?

# 创建回归数据
reg_data = datasets.make_regression()  # 参数自行设置
blobs  = datasets.make_blobs()  # 创建聚类数据

3.1、把数据调整为标准正态分布

      数学公式: X_new = (X_i - E(data)) /  Std(data)

      数据标准化在机器学习中很有必要,有些模型对数据标准较敏感。例如SVM经过数据标准化后性能明显提高。

from sklearn import preprocessing
from sklearn import datasets
X, Y = boston.data, boston.target

# 将数据标准正态话->preprocessing.scale,转换后数据均值为0,方差为1
print(X[:, :5].mean(axis=0))
print(X[:, :5].std(axis=0), '\n')

X_pre = preprocessing.scale(X) # 参数自行设置
print(X_pre[:, :5].mean(axis=0))
print(X_pre[:, :5].std(axis=0))

   

my_scaler = preprocessing.StandardScaler()  # 中心化与标准化类
my_scaler.fit(X[:, :3])

print(my_scaler.transform(X[:, :3]).mean(axis=0))   # 将数据转化为均值为0, 标准差为1
print(my_scaler.transform(X[:, :3]).std(axis=0)) 

  

3.2、数据缩放映射到一个范围,MinMaxScale类,通常缩放到(0, 1)

        数学公式: X_new = (X_i - Min(data)) /  (Max(data)-Min(data))

min_max_scale = preprocessing.MinMaxScaler(feature_range=(0 ,1))  # 指定数据范围
min_max_scale.fit(X[:, :5])
new_data = min_max_scale.transform(X[:, :5])
new_data.min(axis=0)  

3.3、正态化方法:将每个样本长度标准化为1, 该方法不在乎向量的长度,只和角度有关,在求欧式距离时此变换很有必要

normalized_X = preprocessing.normalize(X[:, :5]) 

以上就是数据变换的主要常用方法。

4、管道命令

      组合多个步骤并成一个对象执行

未完待续......

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值