前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习虾扯淡之特征工程(一)No.38

机器学习虾扯淡之特征工程(一)No.38

作者头像
大蕉
发布2018-02-05 17:52:31
6220
发布2018-02-05 17:52:31
举报

0x00瞎扯淡

当当当,我又来啦。

哇咔咔,很多人都说我好久好久没写机器学习的东西啦。是不是忘啦?

没有没有,记着呢。

只是最近在看很多其他的东西,比如敲敲scikit-learn的文档啦,比如看看《Head First 数据分析》啦,比如看看《集体智慧编程》啦,看看gossip算法啦。

Head First 数据分析,这个,能不看就别看了,几乎没啥用。

《集体智慧编程》真心是给我开了一个脑洞,原来还可以用遗传算法自动生成程序,哎呀我天。

哎呀扯回正题,特征工程特征工程。

敲黑板敲黑板。今天讲特征提取的套路,啊。

???

快睁开眼睛。

???

好。

0x01简述

特征工程,顾名思义,就是批量生产特征的工程化,特征工程一般来说分为两部分,特征提取和特征选择。

好的特征是成功的一半嘛,这个步骤的结果直接决定了你最终模型训练的上限。

那么特征提取的套路呢,就分五步走,分别解决两个问题,提什么,以及怎么提。

◇ 拍一拍 ◇ 看一看 ◇ 抽一抽 ◇ 洗一洗 ◇ 改一改 ◇

0x02具体都是些啥

拍一拍

拍啥呢?

拍脑门啊。

管它啥玩意特征提取,先按照业务场景的实际需求先拍一些想去抓取的数据范围出来先。

看一看

那要看什么呢?

看的目的是对数据进行可用性评估。

评估数据获取的难度,数据的规模,数据的准确率,数据的覆盖率。

  1. 数据获取的难度?

比如你想知道整个城市垃圾场的数据,一桶一桶称?

啊,咋获取,你告诉我咋获取。

难度非常大,这些难度非常大的数据,如果我们觉得它们很重要,我们得换别的思路去代替。

  1. 数据的规模

数据的规模是十万,一百万还是几千亿?这个一定要摸清楚啊,跟后面处理的工具有很大关系。

  1. 数据的准确率

社交媒体上的年龄能信?

社交媒体上的性别能信?我看到真人我都无别甄别性别好吗?

  1. 数据的覆盖率

你所想要实现的业务需求的场景,数据能覆盖吗?会不会有些地方,根本就没有这个数据。或者数据只会存在在某些特定的用户,而其他用户根本就不会有这些数据的?

比如某个农村小白比如小蕉的资产信息,哪来哪来?

“EI,我跟你说,不存在的。”

?

“那你很棒棒喔。”

?

抽一抽

啊,这个有技术含量了。

抽完放哪?抽哪些子集?

放哪?

喏,放那里。☝️

离线部分,可以抽完放HDFS上,或者RDBMS上。

在线部分,可能就要分级放在HBase、ElasticSearch,或者KV数据库等能快速索引的地方了。

抽哪些子集?

有时候数据上千亿,难道全部拿出来咩?也处理不了这么多啊。

只能按照数据分布来采集子集啦。

常用方法有随机采样啦,固定比例采样啦,接受-拒绝采样啦,重要性采样啦,Gibbs采样啦。

抽完还要看看数据分布,看看是不是要重采样啦,是不是要降采样啦,这样。

洗一洗

  1. 结合业务场景,进行数据列规则进行过滤

"钞票小于100元的我通通都不要。"

"这种拿小钱的粗活累活就让我来承担吧"

  1. 使用算法进行异常点检测

常用的套路有这些。

K均值聚类啊,层次聚类啊,谱聚类啊,DBSCAN啊,KNN啊。

以及四分位啊,极差啊,标准差,均差,看看数据分布大概是怎样的。

至于偏离太远的,得看看是特殊用户,还是垃圾数据,反正不太应该出现在我们接下里的过程里。

改一改

主要有三个套路要去弄。

标准化,离散化,缺省值。

  1. 什么叫标准化?

嗯,就是把所有的特征呢,都归到同一个值域里面。头长砍头,脚长砍脚。

?"咦,好血腥。。你再这样这个发不出去的小蕉。"

比如颜色像素,有256个值对不对,归到0-1就是全部处于256啦。这个叫归一化。

比如1、3、5、7、9。这种咋办呢?直接每个值都除以(最大值-最小值),这个叫最大最小值归一化。

也可以用Logistic函数,直接映射到0-1上,这个叫函数映射。

也可以直接排序,给他们强行改成新值,这个叫排序归一化。

  1. 什么叫离散化?

就是将连续的数值进行分箱啦。

(1元,5元]的一箱,(5元,10元]的一箱,这样

“都说了少于100元的我都不要了”

“妈蛋又不是给你的”

  1. 什么叫缺省值?

就是肯定有些值不知道什么鬼原因,反正就不见了嘛。咋办?

普遍的做法呢,要么就填个众数,要么就填个平均值,要么就用其他机器学习方法预测一个填进去。

别填过头,会粗事的。。

0xFF结束鸟

凑活着看吧,没了~

如果觉得有帮助呢,就分享给朋友或者点个赞,都是对我很大的支持喔。感谢大家的支持。点下订阅呗,差几个就700了。

赞赏一下,开心一周

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名叫大蕉的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00瞎扯淡
  • 0x01简述
  • 0x02具体都是些啥
  • 0xFF结束鸟
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档