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. vue.js对列表进行编辑未保存随时变更

    1.不要建立在同一vm对象下 2.使用深拷贝$.extend(true, vm.model, obj); 3.开新标签页

  2. 去重复的sql(Oracle)

    1.利用group by 去重复 2.可以利用下面的sql去重复,如下 1) select id,name,sex from (select a.*,row_number() over(partiti ...

  3. Java必考题目之JVM面试题目和答案

    JVM内存模型 首先我们来了解一下JVM的内存模型的怎么样的: 1.堆:存放对象实例,几乎所有的对象实例都在这里分配内存 堆得内存由-Xms指定,默认是物理内存的1/64:最大的内存由-Xmx指定,默 ...

  4. MySQL的左连接查询,只取出最大的一条数据

    今天有个需求,是通过两张表进行查询.一对多的关系.通过一个主键,取出其中的一条.开始以为还好,直接用用了left join on进行查询.却发现了问题所在.其他的好弄.开始的写法借鉴这篇博客:http ...

  5. python之初入Python

    python优缺点: Python的优点很多,简单的可以总结为以下几点. 简单和明确,做一件事只有一种方法. 学习曲线低,跟其他很多语言相比,Python更容易上手. 开放源代码,拥有强大的社区和生态 ...

  6. Action向视图传值的6种方式(转)

    在使用ASP.NET MVC进行项目开发时,经常会碰到从Action向视图传值的问题,今天我就把我所知道的方式总结了一下,分成了以下六种: 1.使用ViewData进行传值 在Action中,有如下代 ...

  7. 解决 /etc/init.d/php-fpm no such file or directory等相关问题

    vi /etc/init.d/php-fpm #! /bin/sh # Comments to support chkconfig on CentOS # chkconfig: 2345 65 37 ...

  8. 终端复用工具-tmux

    目录 终端复用工具--Tmux 一.为什么要用Tmux? 二.tmux是什么? 三.Tmux基本概念 四.Tmux使用规则 1.安装Tmux 2.基本使用 3.自定义配置文件 五.补充 1.tmux ...

  9. 8、nginx基础

    1Nginx基本简述 Nginx是一个开源且高性能.可靠的Http Web服务.代理服务. 开源: 直接获取源代码 高性能: 支持海量并发 可靠: 服务稳定 我们为什么选择 Nginx服务 Nginx ...

  10. 【2017-04-19】C#中String.Format格式使用

    例子: int a =9; string s= a.ToString("000"); Console.Write(s); 打印出来就是009 C#格式化数值结果表 字符 说明 示例 ...