Python机器学习:数据预处理

"""
数据预处理
"""

import numpy as np
import sklearn.preprocessing as sp

# 均值移除
print('均值移除')
# 数据预处理之:均值移除示例
# 样本数据
raw_samples = np.array([
    [3.0, -1.0, 2.0],
    [0.0, 4.0, 3.0],
    [1.0, -4.0, 2.0]
])
print(raw_samples)
print('每列的平均值', raw_samples.mean(axis=0))  # 求每列的平均值
print('每列的标准差', raw_samples.std(axis=0))  # 求每列标准差
print('*' * 22)
std_samples = raw_samples.copy()  # 复制样本数据
for col in std_samples.T:  # 遍历每列
    col_mean = col.mean()  # 计算平均数
    col_std = col.std()  # 求标准差
    col -= col_mean  # 减平均值
    col /= col_std  # 除标准差

print(std_samples)
print('每列的平均值', std_samples.mean(axis=0))
print('每列的标准差', std_samples.std(axis=0))

print('*' * 22)
# sklearn提供sp.scale函数
std_samples = sp.scale(raw_samples)  # 求标准移除
print(std_samples)
print('每列的平均值', std_samples.mean(axis=0))
print('每列的标准差', std_samples.std(axis=0))

# 范围缩放
print('范围缩放')
# 样本数据
raw_samples = np.array([
    [1.0, 2.0, 3.0],
    [4.0, 5.0, 6.0],
    [7.0, 8.0, 9.0]]).astype("float64")

# print(raw_samples)
mms_samples = raw_samples.copy()  # 复制样本数据

for col in mms_samples.T:
    col_min = col.min()
    col_max = col.max()
    col -= col_min
    col /= (col_max - col_min)
print(mms_samples)

# sklearn的API
mms = sp.MinMaxScaler(feature_range=(0, 1))  # 定义对象(修改范围观察现象)
# 使用范围缩放器实现特征值范围缩放
mms_samples = mms.fit_transform(raw_samples)  # 缩放
print(mms_samples)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值