李沐-斯坦福《实用机器学习》-02章
1.探索性数据分析
导入相关包
numpy:python中做数据分析常用的包;
pandas:也是用于数据分析,擅长处理表,数据没那么大要放入内存中,这将是首选;
matplotlib.pyplot:源自matlab的画图工具;
seaborn:基于matplotlib,提供更多的画法
剩下两行用于将图片设成svg文件(画起来分辨率相对高一点)
读取数据
csv文件存下来相对比较大,可以先压缩成一个zip或一个tar,主流的读取文件都可以从压缩文件中读取。建议存成压缩文件,在传输存储都会比较好,甚至还会比直接读取还要好
做简单的处理
把不正常的数据去除
看看卖的价格的分布
看看房子的种类
看看不同类别的房子是什么价格
看看一平米可以卖多少钱
看看每个邮政编码的房价
看看每个特征之间的关系(协方差)
总结
2.数据清理
思维导图:
本小节讲如何提升数据的质量
数据不干净(噪声多)?需要做数据的清理,将错误的信息纠正过来;
数据比较干净(数据不是想要的格式)?对数据进行变换;(之后讲)
数据对模型不是很友好,对数据的特征进行提取。(之后讲)
数据的错误
收集到的数据与真实观测值不一致【数值丢失,数值错误,极端的值】
好的模型对错误是有容忍度的【给了错误的数据一样是能够收敛但是精度会比用干净的数据低一点】
部署了这样的模型后可能会影响新收集来的数据结果
数据错误的类型
数据中某个样本的数值不在正常的分布区间中(Outlier)
违背了规则(Rule violations)
违反了语法上或语义上的限制(Pattern violations)
不同类型的错误要怎么做检测:
画图时超出范围的数据会单独列出来
3数据变换
数据标注、清理到特征工程之间的操作是数据变换
对数值的变换
正常化
1.把一个列里面的数值的最小值与最大值都限定到一个固定区间内,然后把所有的元素只通过线性变化出来【将数据的单位放到合理的区间】;
2.Z-score 一个更常见的算法:通过算法使得均值变为0,方差变为1
3.把一列的数据换成是-1到1之间的数据
4.对数值都是大于0,且数值变换比较大可以试一下log一下【log上面的加减等于原始数据的乘除,可以将计算基于百分比的】
对图片的变换
将图片的尺寸变小【机器学习对低分辨率的图片不在意】
图片采样的比较小,且jpeg选用中等质量压缩,可能会导致精度有1%的下降(ImageNet)【数据的大小与质量要做权衡】
对视频的变换
使用短视频(10s以内),将视频切到感兴趣的部分
对文本的变换
词根化(语法化):把一个词变成常见的形式
词元化(机器学习算法中最小的单元)
4.特征工程
因为机器学习的算法比较喜欢定义的比较好的、它能比较好的去处理的、固定长度的输入输出
对常见的数据做特征工程
对表的数据
1.对于整型或浮点型的数据,可以直接用或者是把最大最小值拿出来,再把这个数据分成n个区间,如果值在区间中,则会给它对应区间的下标i【这样可以让机器学习算法不去纠结一个具体的值(细粒度的值)】
2.对于类别的数据,一般采用one-hot(独热)编码(虽然有n列,但是只有每一列有值)【虽然有很多的类别但是常见的只有几个类,可以将少数的类别变成不确定的类别,只保留那些比较重要的类别,这样可以把这些重要的类别放到可控的单元内】
3.对于时间的特征,将时间的数据弄成机器学习算法能知道这些天数中是有特殊意义的日子(周末、休息日、新年之类的)
4.特征组合:这样子能拿到两两特征之间相关性的东西
对文本的数据
可以将文本换成一些词元(token)
1.Bag of woeds(BoW) model:把每一个词元(token)弄成one-hot编码,再把句子里的所有词元加起来【这里要注意的是 怎么样把词典构造出来,不能太大也不能太小;BoW model最大的问题在于原句子的信息丢失了】。
2.Word Embeddings(词嵌入):将词变成一个向量,向量之间具有一定的语义性的(两个词之间对应的向量之间的内积比较近的话,说明这两个词在语义上来说是比较相近的)
可以使用预训练的模型(BERT,GPT-3)
对于图片与视频:
传统是用手动的特征方式如SIFT来做
现在用预训练好的深度神经网络来做(ResNet,I3D)
总结
5.数据科学家的日常
要启动一个机器学习任务
1.有没有足够的数据? 没有的话就去收集数据【发掘在哪里找数据;数据增强;生成自己需要的数 据;(以上方法都不可以可能这个任务不那么适合机器学习)】
2.对数据进行提升。 标号?数据质量?模型?
a.对模型之后会展开
b.提升标号:没有标号可以去标;标号里面有很多错误的话,要对它进行清理;【数据标注:半监 督学习;有钱可以众包;看看数据长什么样子,找其他的规则,从数据中提起有弱噪音的标号,也是可以用来训练模型的】
c.数据预处理:看看数据长什么样子;通常来说数据是有很多噪音的,要对数据清洗;将数据变成我们需要的格式;特征工程;
d.上面的过程可以说是一个迭代的过程;
挑战:
1.数据的质与量要做权衡;
2.数据质量:
数据的多样性:产品所关心的方方面面都要考虑;
无偏差:数据不能只是偏向于一个方面
公平性:不区别对待数据
3.大数据的管理是一件很难的事情:存储;快速处理;版本控制;
李沐-斯坦福《实用机器学习》-02章相关推荐
- 极客日报:苹果承认从2019年开始扫描用户邮件寻找虐童资料;新浪回应“花钱买热搜”传闻;李沐斯坦福《机器学习》课程上线
一分钟速览新闻点! 小米成立公寓管理公司:员工宿舍,增强员工幸福感 阿里云回应用户注册信息泄露事件 新浪公布微博热搜管理规则:不存在商业售卖位置 阿里组织调整:俞永福担任本地生活 CEO 高德推出 D ...
- 李沐【实用机器学习】1.3网页数据抓取
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.数据抓取工具 二.实例解析 总结 前言 网页数据抓取目标:在一个网站里面感兴趣的数据抓取出来 数据特点:噪点较多, ...
- 笔记|李沐-动手学习机器学习|CNN基础知识(视频19-23)
李沐-动手学习机器学习|CNN基础知识 卷积层(视频19) 从全连接到卷积(卷积算子) 进行图像识别的两个原则 如何从全连接层出发,应用以上两个原则,得到卷积 卷积层 二维交叉相关 二维卷积层 交叉相 ...
- 李沐-斯坦福《实用机器学习》-01章
1.课程介绍 视频链接 首先介绍了机器学习作为技术本身, 它的大致构成以及所面临的一些挑战. 然后讲述学习机器学习,你会变成什么样的角色. 最后讲述了本课程中会涉及到哪些主题. 举例:房价预测问题 工 ...
- 跟李沐学AI:实用机器学习 | 第九章
9.1 模型调参 手动调参 从一个好的基线开始,从工具包或者论文中的设置选择起始参数. 每次调一个超参数的值,观察性能变化. 虽然SGD在参数调得好的情况下模型效果会优于Adam,但是Adam相比于S ...
- 跟李沐学AI:实用机器学习 | 第一章
1.1 课程介绍 问题的提出.数据.训练模型.部署模型.监控模型(迭代) 1.2 数据获取 常见的公开数据集(爬虫/收集) MNIST:手写数字 ImageNet:来自搜索引擎的图片类型的数据集,百万 ...
- 李沐分享斯坦福2021秋季新课:实用机器学习
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:新智元 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 李沐 ...
- 李沐在斯坦福开新课了!面向机器学习实战,课程全部免费,9月1日可报名
明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 朋友们,又有新课可以白嫖了! 斯坦福新课<实践机器学习(CS 329P)>上线了,主讲人为李沐.黄清清.Alex Smola. ...
- 重磅!李沐在斯坦福开新课了!
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 朋友 ...
最新文章
- perl里字符串取长度,比较等一些操作
- aop阻止方法运行_Spring AOP无法拦截内部方法调用
- NOIP2020洛谷P7115:移球游戏(分治)
- 阿里OSS对象存储,实现图片上传代码;
- win10显示nvidia控制面板的方法
- 弥补性能鸿沟,傲腾在企业应用中加速普及
- Metasploit [基础]
- 红帽子安装oracle,红帽子AS4安装oracle9i
- python掷骰子实验报告_python掷骰子游戏
- 在移动端打开 Google 的网页快照
- 导出 Excel 表格
- Halide:简化图像编程
- error RC1015: cannot open include file 'sal.h'.
- Unity UI架构设计理念
- 欧拉函数求互质数的个数
- ISO9001质量认证的详细步骤流程
- 三十一、java版商城之移动商城金刚区管理 Spring Cloud+SpringBoot+mybatis+uniapp b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
- 常见气体红外吸收峰查询网站
- PCA算法之特征值分解
- 如何用进度猫思维导图做项目管理?