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 ...
随机推荐
- 如何解决windows 80端口被占用的情况
window下如果在安装某个软件或者启动tomcat时 会遇到80端口被占用的情况,通过命令 netstat -ano 查看端口被占用情况 找到占用80端口的进程ID,然后我们在任务管理器当中将这个进 ...
- sqlserver关于发布订阅replication_subscription的总结
(转载)sqlserver关于发布订阅replication_subscription的总结 来自 “ ITPUB博客 ” ,原文地址:http://blog.itpub.net/30126024/v ...
- BLE 5协议栈-属性协议层(ATT)
文章转载自:http://www.sunyouqun.com/2017/04/page/2/ 属性协议(Attribute Protocol)简称ATT. ATT层定义了属性实体的概念,包括UUID. ...
- 简单了解Linux文件目录
/bin :获得最小的系统可操作性所需要的命令 /boot :内核和加载内核所需的文件 /dev :终端.磁盘.调制解调器等的设备项 /etc :关键的启动文件和配置文件 /home :用户的主目录 ...
- springboot集成Spring Session
10.1 分布式集群环境下的集成(同域名.同项目) 10.1.1 创建SpringBoot的web支持项目07-springboot-session 创建项目 10.1.2 ...
- P2664 树上颜色统计 点分治 虚树 树上差分 树上莫队
树上差分O(n)的做法 考虑每种颜色对每个点的贡献,如果对于每种颜色我们把当前颜色的点删除,那么原来的树就会分成几个子树,对于一个点,当前颜色在和他同子树的点的点对路径上是不会出现的.考虑到有多种颜色 ...
- Python爬虫进阶之Scrapy框架安装配置
Python爬虫进阶之Scrapy框架安装配置 初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此 ...
- linux 安装weblogic(转载)
整个过程大同小异,不再笔记,就摘了网上的一篇. 原文地址:http://www.cnblogs.com/walk-the-Line/p/5409094.html 一.安装weblogic10.3.6 ...
- AIDE入侵检测系统
一.AIDE简介 • AIDE(Advanced Intrusion Detection Environment)• 高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那 ...
- Date 对象
JavaScript Date 对象 Date 对象 Date 对象用于处理日期与时间. 创建 Date 对象: new Date() 以下四种方法同样可以创建 Date 对象: var d = ne ...