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的更多相关文章

  1. 代码的坏味道(18)——依恋情结(Feature Envy)

    坏味道--依恋情结(Feature Envy) 特征 一个函数访问其它对象的数据比访问自己的数据更多. 问题原因 这种气味可能发生在字段移动到数据类之后.如果是这种情况,你可能想将数据类的操作移动到这 ...

  2. SharePoint 2013: A feature with ID has already been installed in this farm

    使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...

  3. ABP源码分析二十一:Feature

    Feature是什么?Feature就是对function的分类方法,其与function的关系就比如Role和User的关系一样. ABP中Feature具有以下属性: 其中最重要的属性是name, ...

  4. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39

    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39 V8   重构iocutilV4,use def iocFact...jettyUtil V ...

  5. django之一些feature

    前端之django一些feature 本节内容 cookie session 跨站请求保护 分页 序列化 model模块 CBV和FBV 模板渲染对象 1. cookie cookie 是一种发送到客 ...

  6. 关于 feature team 的一些内容

    矩阵式管理,是常见的经典管理架构.其最早起源于美国的航空航天部门,然后被美国人带到了日本,然后被日本人带到了台湾,然后台湾人带到大陆...矩阵管理最典型的特征是,组织架构按职能与专业划分,项目由跨越部 ...

  7. Feature Access

    在ArcGIS Server中发布支持Feature Access地图服务,你需要知道的几点: 所绘制的mxd地图文件中包含的数据,必须来自企业级数据库链接: mxd中包含的所有图层的数据,必须来自同 ...

  8. (十一)WebGIS中要素(Feature)的设计

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在GIS中元素一般分为点元素,线元素,面元素以及symbol ...

  9. SQL Server 2012安装错误案例:Error while enabling Windows feature: NetFx3, Error Code: -2146498298

    案例环境: 服务器环境 :    Windows Server 2012 R2 Standard 数据库版本 :    SQL Server 2012 SP1 案例介绍:   在Windows Ser ...

  10. [有意思]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 ...

随机推荐

  1. 三、maven学习-高级

    maven父子工程

  2. Windows 7 系统下显示文件类型的扩展名和隐藏文件

    一.显示扩展名 点击开始菜单 在搜索框中输入「文件夹选项」并单击 切换到「查看」栏,取消勾选「隐藏已知文件类型的扩展名」这一项 设置完成 ps: 你也可以通过单击下图位置进行相应操作来达到同样的效果 ...

  3. OGG学习笔记01

    OGG学习笔记01-基础概述OGG(Oracle Golden Gate),最近几年在数据同步.容灾领域特别火,甚至比Oracle自己的原生产品DataGuard还要风光,主要是因为其跨平台.跨数据库 ...

  4. 编辑docker容器中的文件

    一般docker中没有VI或者其它相应的文本编辑器,为了写个东西安装个vi就可以解决问题,除此之外还有别的办法 登陆docker中找到需要编辑的文件的位置 sudo docker ps -a sudo ...

  5. kbmMW 5.09.00是个必须升级的版本!

    这几天遇到的几个问题,从5.08.10升级到5.09.00,自然解决了! 所以建议大家都升级到这个版本. 例如我遇到的问题: 1.在线程中使用ClientQuery注意的问题 2.Invalid pr ...

  6. c++11 移动语义move semantics

    performance, expensive object copies move semantics, temporary objects implemented with rvalue refer ...

  7. PHP的八种数据类型

    PHP 支持8种基本的数据类型. 四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: arr ...

  8. RHEL7中配置本地YUM软件源

     1.创建目录,挂载光盘 [root@localhost ~]# mkdir /mnt/iso [root@localhost ~]# mount /dev/sr0  /mnt/iso mount: ...

  9. Cobbler自动化装机脚本

    #!/bin/bash ens33_ip=192.168.1.3 ens33_gateway=192.168.1.1 ens37_ip=192.168.207.2 dhcp_wd=192.168.20 ...

  10. 线上MYSQL同步报错故障处理总结(转)

    前言 在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,dump完再导入很简单就处理好了,但线上的数据库都150G-200G,如果用单纯的这种方法,成本太高,故经过一段时间的摸索,总结了 ...