涉及书中内容:特征工程&&模型评估

不同的特征如何进行特征工程?

特征是原始数据作为输入,特征工程的结果,作为输入供算法和模型使用。

对于数值型特征,为消除特征间的量纲影响,应对特征进行归一化处理,使得不同指标之间具有可比性。常用归一化方法:线性函数归一化(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整理的更多相关文章

  1. 机器学习技法课之Aggregation模型

    Courses上台湾大学林轩田老师的机器学习技法课之Aggregation 模型学习笔记. 混合(blending) 本笔记是Course上台湾大学林轩田老师的<机器学习技法课>的学习笔记 ...

  2. C# 异步编程Task整理(二)异常捕捉

    一.在任务并行库中,如果对任务运行Wait.WaitAny.WaitAll等方法,或者求Result属性,都能捕获到AggregateException异常. 可以将AggregateExceptio ...

  3. 《百面机器学习算法工程师带你去面试》高清PDF及epub+《美团机器学习实践》PDF及思维导图

    http://blog.sina.com.cn/s/blog_ecd882db0102yuek.html <百面机器学习算法工程师带你去面试>高清PDF及epub+<美团机器学习实践 ...

  4. Andrew机器学习第一课

    批梯度下降算法:      训练样本为一个时:更新Θi 让代价函数最小,利用沿梯度下降方向函数会变得越来越小.这个函数是代价函数J关于(Θi )的.这里并没有在讨论x,y. 关于为什么式子(图是复制的 ...

  5. C# 异步编程Task整理(一)

    一.简介 .Net Framework 4.0新增了一个System.Threading.Tasks命名空间,它包含的类提供了任务的相关操作.使用任务不仅可以获得一个抽象层,还能对底层线程进行很多统一 ...

  6. Google内部培训过1.8万人的机器学习速成课

    什么是(监督)机器学习?简而言之,它是以下几点: ML系统学习如何组合输入以产生对从未见过的数据的有用预测. 我们来探讨基本的机器学习术语. 标签 一个标签是我们预测物品的属性,比如变量y在简单线性回 ...

  7. 机器学习- Numpy基础 吐血整理

    Numpy是专门为数据科学或者数据处理相关的需求设计的一个高效的组件.听起来是不是挺绕口的,其实简单来说就2个方面,一是Numpy是专门处理数据的,二是Numpy在处理数据方面很牛逼(肯定比Pytho ...

  8. 李宏毅老师机器学习第一课Linear regression

    机器学习就是让机器学会自动的找一个函数 学习图谱: 1.regression example appliation estimating the combat power(cp) of a pokem ...

  9. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

随机推荐

  1. Problem 52

    Problem 52 It can be seen that the number, 125874, and its double, 251748, contain exactly the same ...

  2. Spring Cloud系列(三) 应用监控与管理Actuator

    Spring Cloud系列(二) 应用监控与管理Actuator 前言:要想使用Spring Cloud ,Spring Boot 提供的spring-boot-starter-actuator模块 ...

  3. android 权限清单

    常用权限: 读写存储卡装载和卸载文件系统 android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_EXTERNAL_STOR ...

  4. raize5的修改。

    ( ( ; Col1: $; Col2: $; Col3: $; Col4: $ ), ( ; Col1: $; Col2: $FA; Col3: $; Col4: $ ), ( ; Col1: $C ...

  5. java陷阱之spring事物管理导致锁无效

    模拟锁情况无效 1.创建一个表 SET NAMES utf8mb4; ; DROP TABLE IF EXISTS `demo`; CREATE TABLE `demo` ( `id` ) NOT N ...

  6. Welcome to the Real World

     Welcome to the Real World Gregor Hohpe EnginEERS liKE pRECiSion, especially software engineers who ...

  7. 一见钟情Sublime

    打开 preferences -> Setting-User,加入下面代码 { "font_size": 14, "ignored_packages": ...

  8. 【Java】基本类型和引用类型(值传递)

    [关键词] [问题] · 加深对基本类型和引用类型的理解: [效果图] [分析] 參见最后的[參考资料] [解决方式] [代码] public void test() throws Exception ...

  9. TRIZ系列-创新原理-8-重量补偿原理

    重量补偿原理的表述例如以下: 1)将某一物体与还有一种提供上升力的物体组合,以补偿其重量:2)通过与环境(利用空气动力,流体动力或其他力等)的相互作用.实现对物体的重量补偿: 重力使得我们能够稳稳的依 ...

  10. MySQL联结表

    联结 SQL最强大的功能之中的一个就是能在数据检索查询的运行中联结表.而联结表是基于关系表. 理解关系表例如以下,假如由同一供应商生产的多种物品.在数据库中须要存储产品信息,而在产品信息的这一行不存储 ...