怎样用Python进行数据转换和归一化
off999 2024-11-11 12:38 21 浏览 0 评论
怎样用Python进行数据转换和归一化
1、概述
实际的数据库极易受到噪声、缺失值和不一致数据的侵扰,因为数据库太大,并且多半来自多个异种数据源,低质量的数据将会导致低质量的数据分析结果,大量的数据预处理技术随之产生。本文让我们来看一下数据预处理中常用的数据转换和归一化方法都有哪些。
2、数据转换(Data Transfer)
对于字符型特征的处理:转换为字符型。
数据转换其实就是把一些字符型数据转换为计算机可以识别的数值型数据的过程,例如我们有性别这个属性,其中有“男”、“女”这两个元素,那我们就可以用数字0代表“男”,1代表“女”。
用python代码来实现一下:
import pandas as pd
data = {'性别' : ['男', '女', '男', '女', '女']}
df = pd.DataFrame(data)
print(df)
df[u'性别'] = df[u'性别'].map({'男': 1, '女': 0})
print(df)
3、零均值归一化(Z-Score Normalization)
说到零均值归一化,我们就要先来聊聊归一化是什么。
归一化是我们在数据预处理中经常要用到的方法。假设我们通过一个人的身高和体重去判断一个人的胖瘦,有一个人的身高为1.80m体重为80kg,大家都知道胖瘦是由身高和体重共同来决定的,但是此时体重的数值远远大于身高,也就会导致在计算的时候体重被赋予更高的权重,最终导致预测结果不准确,此时我们就会想到把两种属性映射到一个范围内去计算,这种方法就叫做归一化。
了解了归一化,再让我们来了解一下零均值归一化。零均值归一化也叫Z-score规范化(零均值标准化),该方法要求变换后各维特征的均值为0,方差为1,计算方式是将特征值减去均值,再除以标准差。
公式:$z-score = \frac{x_i - \mu}{\sigma}$
注:我们一般会把train和test放在一起做标准化
用python代码来实现一下:
from sklearn.preprocessing import StandardScaler, MinMaxScaler
import pandas as pd
views = pd.DataFrame([1295., 25., 1900., 50., 100., 300.], columns=['views'])
print(views)
ss = StandardScaler()
views['zscore'] = ss.fit_transform(views[['views']])
根据结果我们可以看到,属性views被缩放到了很小的范围内,也成功避免了属性值间差异过大的问题。
4、最大最小归一化(Min-Max Scaling)
归一化的另一种常用方法就是最大最小归一化(线性函数归一化),该方法将所有的数据变换到[0,1]区间内。
公式:$\frac{x_i - min(x)}{max(x) - min(x)}$
用python代码来实现一下:
mms = MinMaxScaler()
views['minmax'] = mms.fit_transform(views[['views']])
print(views)
根据结果我们可以看出,最大最小归一化相比于零均值归一化而言映射到了一个更小的空间内,
5、为什么要进行归一化
我们不妨从随机梯度下降的角度来思考一下,假设有两种数值型特征,x1的取值范围是[0,100],x2的取值范围是[0,10],我们就可以构造出一个图1中a的图形。当我们的学习速率相同的时候,很明显x1的更新速度会大于x2的更新速度,也就会导致收敛速度变慢,但是当我们把x1和x2归一化到同一个数值空间时,就会变成图1中b的图形,x1和x2的更新速度保持一致,从而加快了收敛速度。
图1
6、小结
1、在实际应用中,通过梯度下降法进行求解的模型通常都是需要进行归一化的,例如:线性回归、逻辑回归、支持向量机、神经网络等。而决策树模型中信息增益与数据是否经过了归一化没有关系,此时是不需要进行归一化的。
2、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,零均值归一化表现的更好。
3、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用最大最小归一化或其他归一化方法。
相关推荐
-
- 游戏盒子电脑版(电脑板游戏盒子)
-
除了Steam之外,比较有名的电脑游戏盒子有WeGame。WeGame是腾讯游戏平台的升级版本,该平台面向全球及国内玩家,直接将游戏开发者与用户连接起来,为两者创造更多的沟通与互动。WeGame平台提供一站式服务,包括游戏的资讯、购买、下载...
-
2026-01-17 11:03 off999
- 欢乐斗地主下载安装(欢乐斗地主下载安装免费 app)
-
您可以按照以下步骤在华为手机上下载欢乐斗地主游戏:1.打开华为手机上的应用商店(一般为华为应用市场或者AppGallery)。2.在应用商店的搜索栏中输入"欢乐斗地主",然后点击搜...
- 腾讯游戏全部停服一天(明天腾讯游戏停服一天)
-
关服停运的游戏通常是没有收益的原因。腾讯游戏通常关服停运的游戏是因为没有成本收益,无法支持游戏的正常运行,所以会进行关服停运,这是最重要的原因。一人之下手游停止运营了,原因是氪金太严重。3年的等待,中...
- 设置来电铃声50首(免费手机铃声100首)
-
1.首先找到并点击打开华为手机桌面上的【设置】,2.在设置菜单下点击进入【声音】选项,3.点击【来电铃声】进行设置,如果有两张卡,这里会显示卡1来电铃声、卡2来电铃声,点击选择需要设置电话铃声的卡即可...
- 10个比1688便宜的拿货网(比阿里巴巴便宜的货源网站)
-
比1688便宜的进货渠道有:1、53货源网53货源网主要经营的是3c电子数码。产品的质量及售都是不错的,做3C的朋友可以去看看。2、58食品网该网站主要经营奶制品、饮品等批发;还有许多小零...
- 诺基亚8800(诺基亚8800e真假图片)
-
这部手机定位就是高端机,它的做功和机身材质都比较好,用料有皮料,宝石等,还是金属外壳,它卖的不是功能,就是身价,它的定位不同于n73这种街机,价格高买的人就相对比较少,再加上不会大量生产.买8800a...
- winkawaks模拟器中文版(winkawaks1.45模拟器)
-
这个要求汉化包的支持,具体在于WinKawaksRomCenter.dat这个文件要经过汉化才能显示中文的游戏列表。你用英文原版是怎么调也没用的。首先,要下载Winkawaks模拟器软件,然后在模拟...
- 木马查杀软件下载(常用的木马查杀工具)
-
若需鉴定手机是否有病毒,建议您:1.部分手机支持智能管理器(内存管理器),可以通过其中的"设备安全"扫描设备,对设备内存进行检测,查找设备是否存在威胁或有恶意软件。2....
-
- 免费ppt软件官方下载(免费ppt软件有哪些)
-
1.第一个是优品ppt,首先网站设计的很漂亮,ppt的质量不错,重点是免费;2.第二个是51ppt,里面的模板也都可以免费下载,可以说是非常的良心了,...3.第三个是officeplus,是office的官方网站,出品的模板质量不错,.....
-
2026-01-17 08:51 off999
-
- 免费下载电影的网站(免费下载电影的网站或者app)
-
电影天堂很多高清电影可以下载1.打开片库网,点击需要下载的影视进入。2.进入到视频播放页面,直接点击屏幕中的下载按钮即可.在电驴里面有这种蓝光电影,你可以去下载。以前用过一个80s电影网,不知道现在还能不能用了,好久没用了,刚出的电影也有的...
-
2026-01-17 08:43 off999
- ie浏览器官网入口(ie浏览器中文版官方下载)
-
没有手机版本的IE浏览器,所以就没有官方入口这一说法。用户还是使用手机自带的浏览器,或者在应用商店中下载其他的浏览器,比如夸克浏览器、X浏览器、QQ浏览器等等。1、进入手机浏览器,选择三字形的按钮。...
- 电信宽带测速手机版(中国电信宽带测速器)
-
可以使用网速测试工具进行测速。一般来说,打开浏览器,输入“速度测试”或“网速测试”等关键词,选择一个网速测试网站进行测速即可。测试时需确保关闭所有下载、上传、在线观看视频等网络活动,以免干扰测速结果...
- 用自己名字设计logo免费(店名设计logo免费生成器)
-
进入短信--设置--我的头像选择一照片设置即可微信在名字里加上小图标的步骤如下:1丶打开手机微信,在微信聊天框中输入你包含小图标的昵称,并长按复制。2丶之后点击微信中的设置选项。3丶点击红框中的昵称...
- 网页制作app手机版(网页在线制作app)
-
有区别图虫网登录麻烦,图虫app方便图虫网是一个专业摄影网站,有数十个摄影相关社区,有各个题材的图库,有大量注册摄影师上传照片并展示。优秀摄影作品可以出售卖钱。需要电脑网页登录。《图虫》APP是今日头...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
Python 批量卸载关联包 pip-autoremove
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
