百面机器学习--跟课Task整理
涉及书中内容:特征工程&&模型评估
不同的特征如何进行特征工程?
特征是原始数据作为输入,特征工程的结果,作为输入供算法和模型使用。
对于数值型特征,为消除特征间的量纲影响,应对特征进行归一化处理,使得不同指标之间具有可比性。常用归一化方法:线性函数归一化(Max-min Scaling)、零均值归一化。在实际应用中,通过梯度下降求解的模型通常是需要归一化的,但对于决策树,归一化并不改变样本在某个特征上的信息增益,因此,对于决策树模型,特征归一化与否并不影响结果。
对于类别型特征,除决策树模型可以接受字符串作为输入,逻辑回归、支持向量机等模型都需要将类别型特征进行编码,转换为数值型特征。常用的编码方式有:序号编码、独热编码、二进制编码等。
为了提高复杂关系的拟合能力,在特征工程中经常把一阶离散特征两两组合,构成高阶特征,若特征x1的数量为m、特征x2的数量为n,则组合特征相关的参数为m*n,当m和n均很大时,学习变得困难。一种行之有效的方法是将两个特征均用k维的低维向量表示,即通过降维来减少两个高维特征组合后需要学习的参数。上述采用两个特征两两组合得到高维特征,并不是很有效,可以通过决策树实现更加有效的特征组合,每一条从根节点到叶节点的路径都可以看成是一种特征组合的方式。
模型评估中不同的指标用在什么场景中?
对于分类模型,常用的评估指标有:错误率(error)和精度(accuracy)、查准率(Precision)和查全率(Recall)、ROC和AUC等。
精度(Accuracy)指的是分类正确的样本占样本总数的比例,错误率指的是分类错误的样本占样本总数的比例;
查准率指的是预测为正的样本中真正正样本的占比,查全率指的是预测为正且确实为正的样本占所有正样本的比例,即数据集中正样本的召回率;
ROC曲线的横坐标为假阳率(False Positive Rate,FPR)、纵坐标为真阳率(True Positive Rate,TPR),FPR计算的是预测为正的负样本占真实负样本的比例,TPR计算的是预测为正的正样本占真实正样本的比例;AUC计算的是ROC曲线下的面积,一般取值在0.5~1之间,AUC值越大说明模型分类性能越好。
精度和错误率既适用于二分类任务,也适用于多分类任务。PR曲线和ROC/AUC主要针对二分类问题提出的,对于多分类问题,可以将其转换为多个二分类问题,然后求均值得到最终的PR曲线或ROC曲线。ROC曲线相对PR曲线,对样本分布变化更加鲁棒,即增加测试集中负样本的数量不会造成ROC曲线的变换,但是严重干扰PR曲线。
对于回归模型,常用的评估指标有:MAE、MSE、RMSE等。
MAE指的是平均绝对值误差、MSE指的是均方差、RMSE指的是平方根误差。
一般情况下,平方根误差能够很好地反应回归模型预测与真实值的偏离程度,但是离群点(Outlier)对RMSE的干扰很大,容易噪声RMSE指标的失效。相应的解决方案,可以是判断离群点是否为噪声,如果是噪声可以将其过滤掉;也可以进一步提高模型的预测能力;或者改进评估指标,新指标可以通过归一化的方式消除离群点的影响,书中采用差值/真实值,即计算百分比误差来达到目的。
作者:iSherryZhang
出处:https://www.cnblogs.com/shuezhang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
百面机器学习--跟课Task整理的更多相关文章
- 机器学习技法课之Aggregation模型
Courses上台湾大学林轩田老师的机器学习技法课之Aggregation 模型学习笔记. 混合(blending) 本笔记是Course上台湾大学林轩田老师的<机器学习技法课>的学习笔记 ...
- C# 异步编程Task整理(二)异常捕捉
一.在任务并行库中,如果对任务运行Wait.WaitAny.WaitAll等方法,或者求Result属性,都能捕获到AggregateException异常. 可以将AggregateExceptio ...
- 《百面机器学习算法工程师带你去面试》高清PDF及epub+《美团机器学习实践》PDF及思维导图
http://blog.sina.com.cn/s/blog_ecd882db0102yuek.html <百面机器学习算法工程师带你去面试>高清PDF及epub+<美团机器学习实践 ...
- Andrew机器学习第一课
批梯度下降算法: 训练样本为一个时:更新Θi 让代价函数最小,利用沿梯度下降方向函数会变得越来越小.这个函数是代价函数J关于(Θi )的.这里并没有在讨论x,y. 关于为什么式子(图是复制的 ...
- C# 异步编程Task整理(一)
一.简介 .Net Framework 4.0新增了一个System.Threading.Tasks命名空间,它包含的类提供了任务的相关操作.使用任务不仅可以获得一个抽象层,还能对底层线程进行很多统一 ...
- Google内部培训过1.8万人的机器学习速成课
什么是(监督)机器学习?简而言之,它是以下几点: ML系统学习如何组合输入以产生对从未见过的数据的有用预测. 我们来探讨基本的机器学习术语. 标签 一个标签是我们预测物品的属性,比如变量y在简单线性回 ...
- 机器学习- Numpy基础 吐血整理
Numpy是专门为数据科学或者数据处理相关的需求设计的一个高效的组件.听起来是不是挺绕口的,其实简单来说就2个方面,一是Numpy是专门处理数据的,二是Numpy在处理数据方面很牛逼(肯定比Pytho ...
- 李宏毅老师机器学习第一课Linear regression
机器学习就是让机器学会自动的找一个函数 学习图谱: 1.regression example appliation estimating the combat power(cp) of a pokem ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
随机推荐
- vue中的slot理解和使用
最近被vue 搞得一塌糊涂,理解的比较慢,工作进度进度要求太快,需求理解不明,造成了很大的压力. 在理解Vue中的Slot的时候看了网上的相关内容,看了半天没看到明白说的是什么,然后自己就安装了vue ...
- 【ABCD组】Scrum meeting 1
前言 第1次会议在6月13日由组长在教9 405召开. 主要对下一步的工作进行说明安排,时长90min. 任务分配 姓名 当前阶段任务 完成情况 所遇困难 贡献时间 下阶段任务 朱石景 编写登录界面代 ...
- django QuerySet对象转换成字典对象
>>> from django.contrib.auth.models import User >>> from django.forms.models impor ...
- Spring Boot-properties使用(二)
自定义属性 @value注入 在application.properties新增配置 student.name=小明student.age=12student.info=${student.name} ...
- SpringBoot+FreeMarker开发word文档下载,预览
背景: 开发一个根据模版,自动填充用户数据并下载word文档的功能 使用freemarker进行定义模版,然后把数据进行填充. maven依赖: <parent> <groupId& ...
- iOS音频播放之AudioQueue(一):播放本地音乐
AudioQueue简单介绍 AudioStreamer说明 AudioQueue具体解释 AudioQueue工作原理 AudioQueue主要接口 AudioQueueNewOutput Audi ...
- luogu3369 【模板】 普通平衡树 Splay
题目大意 维护一个数据结构,满足以下操作: 插入x数 删除x数(若有多个相同的数,因只删除一个) 查询x数的排名(排名定义为比当前数小的数的个数+1.若有多个相同的数,因输出最小的排名) 查询排名为x ...
- c16---字符串
// // main.c // 字符串的基本概念,字符串和字符数组的共用的char[], #include <stdio.h> int main(int argc, const char ...
- hdoj--2255--奔小康赚大钱(KM算法模板)
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- Linux下清屏的方法
转自“https://blog.csdn.net/lis_12/article/details/54943626” clear,刷新屏幕,本质上是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之 ...