- 本书赞誉
- 前言
- 目标读者
- 不适合阅读本书的读者
- 本书结构
- 什么是数据处理
- 遇到困难怎么办
- 排版约定
- 使用代码示例
- 致谢
- 第 1 章 Python 简介
- 第 2 章 Python 基础
- 第 3 章 供机器读取的数据
- 第 4 章 处理 Excel 文件
- 第 5 章 处理 PDF 文件 以及用 Python 解决问题
- 第 6 章 数据获取与存储
- 第 7 章 数据清洗:研究、匹配与格式化
- 第 8 章 数据清洗:标准化和脚本化
- 第 9 章 数据探索和分析
- 第 10 章 展示数据
- 第 11 章 网页抓取:获取并存储网络数据
- 第 12 章 高级网页抓取:屏幕抓取器与爬虫
- 第 13 章 应用编程接口
- 第 14 章 自动化和规模化
- 第 15 章 结论
- 附录 A 编程语言对比
- 附录 B 初学者的 Python 学习资源
- 附录 C 学习命令行
- 附录 D 高级 Python 设置
- 附录 E Python 陷阱
- 附录 F IPython 指南
- 附录 G 使用亚马逊网络服务
- 关于作者
- 关于封面
8.1 数据归一化和标准化
数据集的标准化和归一化可能意味着利用当前数据计算新数据,也可能是对特定列或特定数据进行标准化或归一化,这取决于你的数据和所从事的研究类型。
从统计学的观点来看,归一化通常需要对数据集进行计算,使数据都位于一个特定的范围。比如说,你可能需要将测验成绩归一化到一定范围,这样你就可以准确查看成绩分布。你可能还需要对数据做归一化,以便准确查看百分位数,或不同群体(或世代)之间的百分位数。
假设你想查看某队在给定赛季得分的分布情况。你可能首先会将比赛分为赢、输、平三种情况。然后再进一步分为赢多少分、输多少分,等等。你还可以按比赛时长和每分钟得分数来分类。你可以访问所有这些数据集,现在你希望在球队之间进行对比。如果要对数据归一化,你可能会将总得分归一化到 0-1 区间。离群值(最高得分)将会接近于 1,较低得分将会接近于 0。然后你可以利用新数据的分布情况,查看有多少支球队的得分位于中游,在低分和高分区间是否有很多球队。你还可以找出离群值(比方说,如果大多数得分都在 0.3 和 0.4 之间,那么你就知道,没在这个范围内的得分可能就是离群值)。
如果想对同样的数据做标准化,应该怎么做呢?举个例子,你可以将数据标准化,计算出每分钟的平均得分。然后你可以将平均得分作图,查看分布情况。哪些球队每分钟得分较高?有没有离群值?
你还可以计算标准差来查看分布情况。在第 9 章中我们会更全面地介绍标准化,但主要问题就是:数据的正常范围是什么?这个范围之外都有哪些数据?数据有没有什么规律?
可以看出,归一化和标准化是不同的。但二者通常都可以让研究人员或调查人员确定数据的分布,并明白该分布对后续研究或计算的含义。
数据标准化和归一化有时还需要删除离群值,这样你才能更好地发现数据的规律和分布。回头看前面的球队例子,如果你从整个联赛中删除顶级得分球员的得分,球队的成绩是否发生了巨大的变化?如果一名球员得到了所在球队一半的得分,那么回答是“是的”,这会使球队成绩发生巨大的变化。
与此类似,如果某支球队总是大比分胜出,从联赛数据中剔除这支队伍,可能会大幅改变平均得分及其分布情况。你可以使用归一化、标准化和剔除离群值的方法来帮你找到问题的答案,这取决于你要解决的问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论