机器学习基本模型与算法在线实验闯关

第2关:数据标准化

任务描述

本关任务:在第一关的基础上,对x1 ~ x6数值型变量作均值-方差标准化处理,需要注意的是x7~x15名义变量不需要作标准化处理。

相关知识

为了完成本关任务,你需要掌握:1.如何做均值-方差规范化处理;2.如何对填充后的数据做极差规范化处理。

均值-方差规范化处理

指标之间的数据差异是比较大的,需要做规范化处理。现给出经过均值填充后的数据data,为了区分,记x=datax1=data,对x做均值-方差规范化处理,对x1做极差规范化处理。

data

,

首先,对x做均值-方差规范化处理,步骤如下

 
  1. #(1)导入均值-方差规范化模块StandardScaler。
  2. from sklearn.preprocessing import StandardScaler
  3. #(2)利用StandardScaler创建均值-方差规范化对象scaler。
  4. scaler = StandardScaler()
  5. #(3)调用scaler对象中的fit()拟合方法,对待处理的数据x进行拟合训练。
  6. scaler.fit(x)
  7. #(4)调用scaler对象中的transform()方法,返回规范化后的数据集x(覆盖原未规范化的x)。
  8. X=scaler.transform(x)

示例代码如下:

 
  1. from sklearn.preprocessing import StandardScaler
  2. x=data
  3. scaler = StandardScaler()
  4. scaler.fit(x)
  5. x=scaler.transform(x)

输出:

,

极差规范化处理

其次,对填充后的数据x1做极差规范化处理,基本步骤如下

 
  1. #(1)导入极差规范化模块MinMaxScaler。
  2. from sklearn.preprocessing import MinMaxScaler #导入极差规范化模块
  3. #(2)利用MinMaxScaler创建极差规范化对象min_max_scaler。
  4. min_max_scaler = MinMaxScaler()
  5. #(3)调用min_max_scaler中的fit()拟合方法,对待处理的数据x1进行拟合训练。
  6. min_max_scaler.fit(x1)
  7. #(4)调用min_max_scaler中的transform()方法,返回处理后的数据集x1(覆盖原未处理的X1)。
  8. x1=min_max_scaler.transform(x1)

示例代码如下:

 
  1. from sklearn.preprocessing import MinMaxScaler
  2. x1=data
  3. min_max_scaler = MinMaxScaler()
  4. min_max_scaler.fit(x1)
  5. x1=min_max_scaler.transform(x1)

输出:

,

编程要求

根据提示,在右侧编辑器补充代码。

测试说明

平台会对你编写的代码进行测试哦! 开始你的任务吧,祝你成功!


任务代码

#在上一关的基础上,对自变量X中的数值变量(x1~x6)作均值-方差标准化处理
# 需要注意的是x7~x15名义变量不需要作标准化处理
# 返回结果X1,数据结构为数组形式
# X1中含有标准化后的x1~x6和未标准化的x7~x15
from sklearn.preprocessing import StandardScaler
def return_values():
    import numpy as np
    X=np.load('X.npy')
    scaler = StandardScaler()
    X1 = np.copy(X)
    X1[:, :6] = scaler.fit_transform(X[:, :6])
    return X1
#********** End **********#

你如果想知道这个均值—方差是怎么计算的下面是很直观的代码:

#在上一关的基础上,对自变量X中的数值变量(x1~x6)作均值-方差标准化处理
# 需要注意的是x7~x15名义变量不需要作标准化处理
# 返回结果X1,数据结构为数组形式
# X1中含有标准化后的x1~x6和未标准化的x7~x15
def return_values():
    import numpy as np
    X=np.load('X.npy')
    X1 = np.copy(X)
    X1[:, :6] = (X[:, :6] - np.mean(X[:, :6], axis=0)) / np.std(X[:, :6], axis=0)
    return X1
#********** End **********#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coralberry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值