What makes a good feature
import numpy as np
import matplotlib.pyplot as plt
greyhounds = 500 # 灰猎犬500只
labs = 500 # 拉布拉多犬500只
# 灰猎犬的身高高于拉布拉多犬
grey_height = 28 + 4 * np.random.randn(greyhounds)
lab_height = 24 + 4 * np.random.randn(labs)
plt.hist([grey_height,lab_height],stacked=True,color=['r','b'])
plt.show()
aaarticlea/png;base64,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" alt="img">
从上图中我们可以得到的信息,首先在height低于20时,我们可以很高的概率预测这只狗是拉布拉多犬,而在height高于35时,我们也能相当有信心的预测这只狗是灰猎犬,但是当height位于这两者之间时,两种狗的概率很接近。因此height是一个有用的特征但是并不完美。
所以在机器学习中,我们总是需要多种特征,否则我们只需要写if-else的规则而不是分类器。
Independent features are best
独立的特征给你不同类型的信息,试想一下上面的例子,有两个特征,用厘米测定的height和用英寸测定的height。这两个特征是高度相关的。从训练数据中删除高度相关的特征是一个很好的做法,因为很多分类器没有足够的智能明白用厘米或英寸度量的身高是同样的事情。因此分类器可能会重复计算height特征的重要性。
Features should be easy to understand (simpler relationships are easier to learn)
举一个例子,假如你把一封信从一个城市寄到另一个城市,预测需要多少天。两个城市之间的距离越远所需时间也就越长。一个有用的特征是用英里表示两个城市之间的距离,一个较差的特征是用城市的经纬度去标示其位置。
reference
What makes a good feature? - machine learning recipes # 3
histogram_demo_multihist.py - 做EDA时可以参考的代码
What makes a good feature的更多相关文章
- 代码的坏味道(18)——依恋情结(Feature Envy)
坏味道--依恋情结(Feature Envy) 特征 一个函数访问其它对象的数据比访问自己的数据更多. 问题原因 这种气味可能发生在字段移动到数据类之后.如果是这种情况,你可能想将数据类的操作移动到这 ...
- SharePoint 2013: A feature with ID has already been installed in this farm
使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...
- ABP源码分析二十一:Feature
Feature是什么?Feature就是对function的分类方法,其与function的关系就比如Role和User的关系一样. ABP中Feature具有以下属性: 其中最重要的属性是name, ...
- Atitit. Atiposter 发帖机 新特性 poster new feature v7 q39
Atitit. Atiposter 发帖机 新特性 poster new feature v7 q39 V8 重构iocutilV4,use def iocFact...jettyUtil V ...
- django之一些feature
前端之django一些feature 本节内容 cookie session 跨站请求保护 分页 序列化 model模块 CBV和FBV 模板渲染对象 1. cookie cookie 是一种发送到客 ...
- 关于 feature team 的一些内容
矩阵式管理,是常见的经典管理架构.其最早起源于美国的航空航天部门,然后被美国人带到了日本,然后被日本人带到了台湾,然后台湾人带到大陆...矩阵管理最典型的特征是,组织架构按职能与专业划分,项目由跨越部 ...
- Feature Access
在ArcGIS Server中发布支持Feature Access地图服务,你需要知道的几点: 所绘制的mxd地图文件中包含的数据,必须来自企业级数据库链接: mxd中包含的所有图层的数据,必须来自同 ...
- (十一)WebGIS中要素(Feature)的设计
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在GIS中元素一般分为点元素,线元素,面元素以及symbol ...
- SQL Server 2012安装错误案例:Error while enabling Windows feature: NetFx3, Error Code: -2146498298
案例环境: 服务器环境 : Windows Server 2012 R2 Standard 数据库版本 : SQL Server 2012 SP1 案例介绍: 在Windows Ser ...
- [有意思]The IT workers of Star Wars -- That's not a bug. It's a feature
Yeah, that Artoo is kinda mouthy... ... now select, "restore to factory settings." That'll ...
随机推荐
- 【原创】大叔经验分享(70)marathon重启app后一直处于waiting状态
marathon重启app后一直处于waiting状态,查看marathon日志 # journalctl -u marathon -f 有如下日志: Jun 14 12:58:38 DataOne- ...
- warning LNK4076: 无效的增量状态文件“../×××.ilk”;正在非增量链接
VS编译警告:warning LNK4076: 无效的增量状态文件“../×××.ilk”;正在非增量链接 解决方法:删除程序提示的输出目录的×××.ilk,重新编译,即可
- HashMap工作原理总结
看了不少关于HaskMap工作原理的博客,下面自己总结记录一下: 1.了解HashMap之前,需要知道Object类的两个方法:hashCode和equals: 默认实现方法: /** JNI,调用底 ...
- 使用WSGI创建REST接口
问题 你想使用一个简单的REST接口通过网络远程控制或访问你的应用程序,但是你又不想自己去安装一个完整的web框架. 解决方案 构建一个REST风格的接口最简单的方法是创建一个基于WSGI标准(PEP ...
- Spring自定义标签的实现
首先 简单写下 spring xml解析的过程 通过一段简单的 调用spring代码开始 public static void main(String[] args) { ApplicationCon ...
- Oracle笔记(八) 复杂查询及总结
一.复杂查询 1. 列出至少有一个员工的所有部门编号.名称,并统计出这些部门的平均工资.最低工资.最高工资. 1.确定所需要的数据表: emp表:可以查询出员工的数量: dept表:部门名称: emp ...
- sql注入搞事情(连载一)
SQL注入搞事情(连载一) 概述 写在最前面 为了有个合理的训练计划,山人准备长期开放自己的训练计划以及内容以供大家参考.山人专业是信息对抗技术,不是web方向的博客保证句句手打,如有问题请及时小窗. ...
- 《设计模式之美》 <01>为什么需要学习掌握设计模式?
1. 应对面试中的设计模式相关问 题学习设计模式和算法一样,最功利.最直接的目的,可能就是应对面试了.不管你是前端工程师.后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类 ...
- java线程基础巩固---多线程与JVM内存结构的关系及Thread构造函数StackSize的理解
继续学习一下Thread的构造函数,在上次[http://www.cnblogs.com/webor2006/p/7760422.html]已经对如下构造都已经学习过了: 多线程与JVM内存结构的关系 ...
- mysql解除锁表
查看下在锁的事务 :SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; 杀死进程id(就是上面命令的trx_mysql_thread_id列):kill 线程ID