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

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

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

对于数值型特征,为消除特征间的量纲影响,应对特征进行归一化处理,使得不同指标之间具有可比性。常用归一化方法:线性函数归一化(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. 和socket、rs232通信遇到的糟糕问题。备查!

    procedure Tfrm_FoldingCloth.btn1Click(Sender: TObject); var SND:array of byte; begin if Not cnrs232. ...

  2. QT创建快捷方式

    1.当我第一次安装完QT后发现它并没有在桌面上给我创建快捷方式,使用起来很难受啊,于是寻找办法,终于找到一个懒办法: 首先进入到上图的BIN目录下找到qtcreator文件,双击运行,然后系统就会在左 ...

  3. caffe中的前向传播和反向传播

    caffe中的网络结构是一层连着一层的,在相邻的两层中,可以认为前一层的输出就是后一层的输入,可以等效成如下的模型 可以认为输出top中的每个元素都是输出bottom中所有元素的函数.如果两个神经元之 ...

  4. js限制checkbox选中个数

    今天在做项目时,碰到一个问题,我须要展示多个checkbox复选框,而仅仅能同意最多选6个.调试了老半天.最终出来了,代码例如以下: <SCRIPT LANGUAGE="JavaScr ...

  5. 【C++/数据结构】顺序表的基本操作

    <span style="font-size:18px;"><strong>#pragma once #include <iostream> u ...

  6. graphviz.js的图形及属性简单用法

    digraph A { graph[bgcolor="cadetblue" label="图的标题" fontsize=48 fontcolor="g ...

  7. c27---typedef

    // // main.c // typedef #include <stdio.h> /* typedef可以给一个已知的数据类型起别名. typedef 原有的数据类型 别名; 注意: ...

  8. Hdu-5983 2016ACM/ICPC亚洲区青岛站 B.Pocket Cube 模拟

    题面 题意:给你一个2*2的魔方,给你每个面每个小块的颜色,一共24个,然后问你能否在一步之内还原. 题解:手动在纸上画,推出每种变化对应的置换,显然,一共有6种,而且可以当成3种,(具体哪3种,就是 ...

  9. [Algorithm]扔杯问题

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  10. win10 + vs2017 + vcpkg —— VC++ 打包工具

    vcpkg 是微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库. vcpkg 自身也是使用 C++ 开发的 ...