第三周:数据预处理及kNN算法优化与总结

学习目标

  • 无量纲化:最值归一化、均值方差归一化及sklearn中的Scaler
  • 缺失值处理
  • 处理分类型特征:编码与哑变量
  • 处理连续型特征:二值化与分段
  • kNN算法优化与总结

无量纲化

概念及背景

无量纲化处理主要是用于消除不同特征之间由于量纲不同而造成的影响。以电商场景流失用户预测模型中用户总订单金额和用户上一次购物到当前的天数差这两个特征为例,天数通常是100以内的一个数值,而总订单金额则不然,这样在计算距离的时候,其结果会被总订单金额所主导。当然这不是我们期望看到的结果,故此我们需要消除量纲的影响,将这两个特征各自归一化,将其分别处理到[0,1]范围内。通常我们有两种方法做归一化处理(参考:https://mp.weixin.qq.com/s/RkenakI_DSXoMLwNNvUAAw):

  • 最值归一化(normalization): 把所有数据映射到0-1之间。最值归一化的使用范围是特征的分布具有明显边界的(分数0~100分、灰度0~255),受outlier的影响比较大。
  • 均值方差归一化(standardization): 把所有数据归一到均值为0方差为1的分布中。适用于数据中没有明显的边界,有可能存在极端数据值的情况。

代码实现

import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split

iris = datasets.load_iris()
X = iris.data
y = iris.target
X_train,X_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.2,random_state=666
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值