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

让数据“变脸”——3种不同的数据缩放方式

监督学习算法已经告一段落了,今天开始我们将介绍无监督学习的相关算法。

无监督学习,就是给你一堆数据,没有标签,没有人来“指导”你,需要自己从中发现知识。

而在无监督学习中,对数据的预处理就显得特别重要。我们需要把数据的格式、范围都调整到统一的维度,这样才能学习出有用的知识。

在scikit-learn中,主要有3种不同的数据预处理的方法,分别是MinMaxScaler、StandardScaler和Normalizer。

MinMaxScaler

先来看第一种缩放方式——MinMaxScaler,这种方式又叫做0-1缩放。它通过数学方式,将数据都缩放到0和1之间。

我们通过之前的癌症数据集来说明这一缩放方式。

首先,加载我们的数据集,并将其分成训练集和测试集

然后,加载我们的处理工具并将其实例化

接着,计算数据集中每个特征的最大值和最小值

对数据进行实际缩放

别忘了,我们还需要对测试集中的数据进行同样的变换

之后,我们就可以用处理过的数据去建模了。

StandardScaler

StandardScaler缩放又叫做标准化缩放,它的效果是将数据的各个特征都变成均值为0,方差为1。

代码的实现与上面的相同,不过这里我们要介绍一种更快捷的方法。

我们还是先加载StandardScaler类,并将其实例化

在对数据转换时,我们可以一步到位:

也就是说,我们使用fit_transform方法,可以一次性计算并完成对数据的转换,而无需分两步进行。

Normalizer

我们来看最后一种数据预处理的方法——Normalizer。

这种缩放方式,使得最后的特征向量的欧式距离为1。也就是说,把数据都投影到了一个圆上。

这种方式意味着每个特征点的缩放比例都不同,当我们对特征的长度不关心时,可以使用这种数据缩放的方式。

当然了,代码的实现方式与上面一致,这里就不赘述了。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券