首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习课程笔记(七)

特征缩放的内涵(Feature Scaling)

由于两个特征参数的绝对值可能差距较大,因此用直接使用这些特征时,较大的那个数值可能发挥更大的主导作用,这样会对结果的准确性产生影响。因此把这些特征缩放到[0,1]的区间来避免这个问题。

在如图所示的例子中,计算机试图通过身高和体重求和的方法来判断到底Chris应该穿与Cameron一样号码的T-shirt还是应该穿与Sarah一样的。

但由于体重的绝对值远远大于身高的绝对值,所以出现了上述问题。按照直觉,Chris应该穿与Cameron一样的L,但按照那种方法计算出来的结果确实穿与Sarah一样的S。

具体的处理方法:

归一化。

比如原来的体重有三个[115,140,175]

那么找到最大最小值,175和115,这样带入公式,140就转化为:

具体的实现方法:

import numpy as np

def featureScaling(arr):

numbers = arr

arr = []

for num in numbers:

arr.append(float(num))

arr = np.array(arr)

arr = (arr - arr.min())/(arr.max()-arr.min())

return arr

or

from skearn.preprocessing import MinMaxScaler

sclaer = MinMaxScaler()

rescaled_weight = sclaer.fit_transform(data)

使用特征缩放会影响到的算法:

SVM和K-means中我们都需要计算距离,因此会受到特征缩放的影响

在线性回归中,计算系数时总是使用比例,因此不受到缩放的影响

在DT中,你只要回答YN,因此也不受到缩放的影响

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304G15VDE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券