七月算法机器学习 6 特征工程
目录
主要内容
特征工程: 大神们怎么看
特征工程
意义
互联网公司机器学习的“真相”
数据与特征处理
数据采集
数据格式化数据清洗
数据清洗示例/思考角度
数据采样
正负样本不平衡处理办法
特征处理
特征处理之数值型
数值型特征Python处理
特征处理之类别型
类别型特征Python处理: Hash技巧
类别型特征Python处理: Histogram映射
特征处理之时间型
特征处理之文本型词袋
把词袋中的词扩充到n-gram
使用Tf–idf 特征
特征处理之统计特征
特征处理示例
特征处理之组合特征
特征选择
o 原因:
特征选择 VS 降维
常见特征选择方式之 过滤型
过滤型特征选择Python包
常见特征选择方式之 包裹型
包裹型特征选择Python包
常见特征选择方式之 嵌入型
嵌入型特征选择Python包
主要内容
特征工程: 大神们怎么看
l Coming up with features is difficult, time-consuming, requires expert knowledge.
"Applied machine learning" is basically feature engineering.
——Andrew Ng
l Actually the success of all Machine Learning algorithms depends on how you
present the data.
——Mohammad Pezeshki
l …some machine learning projects succeed and some fail. What makes the
difference? Easily the most important factor is the features used.
——Pedro Domingos
l The algorithms we used are very standard for Kagglers. […] We spent most of our
efforts in feature engineering.
—— Xavier Conort
特征工程
o 特征 => 数据中抽取出来的对结果预测有用的信息
o 特征工程是使用专业背景知识和技巧处理数据, 使得特征能在机器学习算法上发挥更好的作用的过程。
意义
o 更好的特征意味着更强的灵活度
o 更好的特征意味着只需用简单模型
o 更好的特征意味着更好的结果
互联网公司机器学习的“真相”
数据与特征处理
数据采集
大多数情况下, 你的工作: 思考哪些数据有用
埋点和数据打标存储会有其他的同学做
数据格式化
数据清洗
数据清洗示例/思考角度
数据采样
正负样本不平衡处理办法
特征处理
特征处理之数值型
数值型特征Python处理
分位数,从大到小排序后,25%, 50%,的样本
原来是连续,现在离散,如果其值落在某个区段则其为1,其它为0
变为稀疏的离散的向量
pandas as pd
特征处理之类别型
o one-hot编码
o 哑变量
o Hash与聚类处理
o 小技巧:统计每个类别变量下各个target比例, 转成数值型
类别型特征Python处理: Hash技巧
bucket是词集 word list
类别型特征Python处理: Histogram映射
【散步,足球, 看电视视】
特征处理之时间型
特征处理之文本型
词袋
bags of words
把词袋中的词扩充到n-gram
n-gram, 将词语组合,放到里面
我很喜欢你
你很喜欢我
我,很喜欢,(很和喜欢组合),喜欢你(喜欢和你组合)
使用Tf–idf 特征
TF-IDF是一种统计方法, 用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。 字词的重要性随着它在文件中出现的次数成正比增加, 但同时会随着它在语料库中出现的频率成反比下降。
深度学习用的word2vec
king和queen 与man和woman的关系类似,其距离差不多的,
word2vec能得到一个词相对于另一个词的特征
特征处理之统计特征
特征处理示例
特征处理之组合特征
特征选择
o 原因:
冗余: 部分特征的相关度太高了, 消耗计算性能。
噪声: 部分特征是对预测结果有负影响
特征选择 VS 降维
前者只踢掉原本特征里和结果预测关系不大的, 后者做特征的计算组合构成新特征
SVD或者PCA确实也能解决一定的高维度问题
特征选择不会改变原来的特征
降维会做一些运算
常见特征选择方式之 过滤型
过滤型特征选择Python包
K的选择不好定,通过SelectPercentile设定百分比来确定
常见特征选择方式之 包裹型
把特征选择看做一个特征子集搜索问题, 筛选各种特征子集, 用模型评估效果。
典型的包裹型算法为 “递归特征删除算法” (recursive feature elimination algorithm)
比如用逻辑回归, 怎么做这个事情呢?
① 用全量特征跑一个模型
② 根据线性模型的系数(体现相关性), 删掉5-10%的弱特征, 观察准确率/auc的变化
③ 逐步进行, 直至准确率/auc出现大的下滑停止
包裹型特征选择Python包
特征映射得到的如one-hot编码
常见特征选择方式之 嵌入型
根据模型来分析特征的重要性(有别于上面的方式,是从生产的模型权重等) 。
最常见的方式为用正则化方式来做特征选择。
举个例子, 最早在电商用LR做CTR预估, 在3-5亿维的系数特征上用L1正则化的LR模型。 剩余2-3千万的feature, 意
味着其他的feature重要度不够
theta0 + theta1*x1 + theta2*x2+-----+ thetan*xn
x1,x2----特征重要则theta大否则就小
L1截断性效应,不重要就不要了
L2是缩小
嵌入型特征选择Python包
七月算法机器学习 6 特征工程相关推荐
- 【机器学习】特征工程概述
特征工程 "数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已." 1.概念 维基百科:特征工程是利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特征的过 ...
- 面向机器学习的特征工程 三、文本数据: 展开、过滤和分块
来源:ApacheCN<面向机器学习的特征工程>翻译项目 译者:@kkejili 校对:@HeYun 如果让你来设计一个算法来分析以下段落,你会怎么做? Emma knocked on t ...
- 面向机器学习的特征工程 七、非线性特征提取和模型堆叠
七.非线性特征提取和模型堆叠 来源:ApacheCN<面向机器学习的特征工程>翻译项目 译者:friedhelm739 校对:(虚位以待) 当在数据一个线性子空间像扁平饼时 PCA 是非常 ...
- 机器学习之 特征工程
之前相关文章目录: 机器学习 之线性回归 机器学习 之逻辑回归及python实现 机器学习项目实战 交易数据异常检测 机器学习之 决策树(Decision Tree) 机器学习之 决策树(Decisi ...
- 【AlgorithmStar机器学习】AS机器学习库特征工程使用说明文档
目录 Algorithm Star介绍 概述 AS库的一般处理流程 数据采集与清洗 向量生成与特征提取选择 机器学习 后续处理 Algorithm Star使用 数据类型-操作数 浮点类型操作数 整数 ...
- 【CS224W】(task2)传统图机器学习和特征工程
note 和CS224W课程对应,将图的基本表示写在task1笔记中了:传统图特征工程:将节点.边.图转为d维emb,将emb送入ML模型训练 Traditional ML Pipeline Hand ...
- 面向机器学习的特征工程翻译版
前些日子推荐了一个仓库,是知名开源apachecn组织翻译的<面向机器学习的特征工程>英文版,可以说是特征工程的宝典,值得推荐. 仓库说明 知名开源apachecn组织翻译了<面向机 ...
- 面向机器学习的特征工程 六、降维:用 PCA 压缩数据集
来源:ApacheCN<面向机器学习的特征工程>翻译项目 译者:@cn-Wziv 校对:@HeYun 通过自动数据收集和特征生成技术,可以快速获得大量特征,但并非所有这些都有用.在第 3 ...
- 面向机器学习的特征工程 一、引言
来源:ApacheCN<面向机器学习的特征工程>翻译项目 译者:@ZhipengYe 校对:(虚位以待) 机器学习将数据拟合到数学模型中来获得结论或者做出预测.这些模型吸纳特征作为输入.特 ...
- 面向机器学习的特征工程 八、自动化特征提取器:图像特征提取和深度学习
来源:ApacheCN<面向机器学习的特征工程>翻译项目 译者:friedhelm739 校对:(虚位以待) 视觉和声音是人类固有的感觉输入.我们的大脑是可以迅速进化我们的能力来处理视觉和 ...
最新文章
- cocos v3.10 下载地址
- python 2/3 joblib.dump() 和 joblib.load()
- Android常见控件— — —EditText
- grread使用例子 lisp_LISP函数(分类)大全
- oracle报V27的错误解决办法,oracle11g ora-27154 past/wait 错误解决方法
- android tcpdump log分析,android 系统启动过程中加入tcpdump和logcat
- index mysql_mysql 原理~ index的详解
- 4G模块使用记录SIMCOM7070
- 穿孔发光字/外露发光字制作流程步骤
- 2010年北京大学软件与微电子学院毕业生就业去向(官方不完全统计)
- CSS复合选择器、元素显示模式、背景
- java队列研究_【文献检索】队列研究检索策略过滤器
- RK3399平台开发系列讲解(应用开发篇)1.12、RTC闹钟唤醒
- AtCoder题解——Beginner Contest 167——C - Skill Up
- python 日期字符串转换时间戳
- AttributeError: ‘DatetimeProperties’ object has no attribute ‘weekday_name’ 的解决方法
- jdk1.8 window 32位免费下载
- 软件测试30K*16(总包50W+)入职offer,一位字节跳动女测试开发的自述
- SEC合规审查办公室2018工作重点:加强对加密货币企业信息披露的监管
- 腾创秒会达Webrtc视频会议系统简介
热门文章
- oracle merge into where,Oracle merge into语法简介
- WM_CLOSE、WM_DESTROY、WM_QUIT区别
- TranslateMessage 和 DispatchMessage
- android卡片式通知,原子通知+超级卡包,OriginOS比传统安卓更懂用户的需求
- iOS--利用Fastlane实现自动化打包
- 带接口的webservice方式发布
- Windows Server 2016-抢占FSMO角色
- 淘宝又推新政策!所有商家视频流量免费,短视频红利来了
- Struts2常量配置
- WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘