Redian新闻
>
encode high cardinality categorical features
avatar
encode high cardinality categorical features# Programming - 葵花宝典
I*t
1
刚刚打电话激活AA卡,客服一口浓厚的西班牙语腔。
avatar
n*n
2
I changed job while keep my PD from my previous company. my pd will be
current in Jan 2012. but new company has not started perm yet.
1. can I hold my pd after Jan 2012 ? if yes, how long?
2. can I submit 485 immediately after 140 approved ?
avatar
g*u
3
打算 lightgbm or xgboost
有几个 categorical features 有5000个不同的值。 这种怎么encode ?
谢谢
另外一般说high cardinality categorical features 多少个算是high?
thx
avatar
s*3
4
很多公司都这么干 即使是也不奇怪
avatar
n*s
5

yes. no limit.
You need to relink 140 (your new 140 has 2012 PD). then if PD is still
current, then yes.

【在 n********n 的大作中提到】
: I changed job while keep my PD from my previous company. my pd will be
: current in Jan 2012. but new company has not started perm yet.
: 1. can I hold my pd after Jan 2012 ? if yes, how long?
: 2. can I submit 485 immediately after 140 approved ?

avatar
w*g
6
word2vec

【在 g*******u 的大作中提到】
: 打算 lightgbm or xgboost
: 有几个 categorical features 有5000个不同的值。 这种怎么encode ?
: 谢谢
: 另外一般说high cardinality categorical features 多少个算是high?
: thx

avatar
h*o
7
阿三国也很多吧。。。
avatar
m*o
8
binary encoding : 2^12 = 5000

【在 g*******u 的大作中提到】
: 打算 lightgbm or xgboost
: 有几个 categorical features 有5000个不同的值。 这种怎么encode ?
: 谢谢
: 另外一般说high cardinality categorical features 多少个算是high?
: thx

avatar
g*e
9
有可能
咖喱口音太难忍受了
而且电话线路比voip电话卡差很多
avatar
f*r
10
binary encoding是一个值得一试的办法。类似的还有hashing trick。
除此之外,google "supervised ratio" 和 "weight of evidence",把categorical变
成numerical。
还有就是看level distribution,如果是几个major level和一大堆minor level,
minor level数量小过某个阈值,比如总feature数乘十这种,也可以考虑合并minor
level。
avatar
g*u
11
binary 应该不适合tree 类型的分类器吧 。素以首先排除
flamewalker 说的后面几个可能可以把?我想的就是根据分布 用直方图。这样就转化
为numerical的了。 吧所有很小的 都轨到一类
因为 5000多种 很多 直方图数值很小 直接用 我担心都接近0 可能会有问题 所以想
小于某个值的都归到 一个数值。
wudong说的word2vec貌似比较高级? 听过没用过。 我可以看看 。 问一下,
word2vec适合这种tree类型的 分类器吗?
thx
avatar
m*r
12
什么叫做binary encoding ? 比如我一个变量有8层, 分别代表8个州,NY,CA,TX,NY,
etc
然后你用3个变量做binary encoding?? 000, 001, 010,110,... 111 ??
看起来不太对劲吧?
avatar
f*r
13
binary和传统的dummy code都不适合决策树类型的分类器,因为把寻找最优分岔的问题
限制在one vs all这个局限里面了。但是在实际应用中效果还是不错的。有文章说在
cardinality很大的情况下,直接把每个level按照出现概率rank一下然后就哪rank取代
之变成numerical feature也一样work。实际上真正严格遵守最悠久或者近似最优解来
做决策树分叉的算法在high cardin的情况下非常慢,这也是为啥r的随机森林只支持
cardinality小于53的categorical feature。Python里的版本直接就是用的rank来替代
的。
xgboost只支持数值变量,把这个问题丢给了用户去自己找合适的编码方案。
word2vec是根据在意过语料集里单词上下文co-occurrance的频率来学习一个单次的分
布式表达或者向量表达,这个表达的euclidean distance保留一些语义上和语法上的相
似度或者可替代度。这个概念也可以用在其他有co-occurrance的feature上,不仅限于
NLP。用这个方法做feature转换需要有语料集或者co-occurrance matrix来做训练。不
是所有high cardinality问题都适合

【在 g*******u 的大作中提到】
: binary 应该不适合tree 类型的分类器吧 。素以首先排除
: flamewalker 说的后面几个可能可以把?我想的就是根据分布 用直方图。这样就转化
: 为numerical的了。 吧所有很小的 都轨到一类
: 因为 5000多种 很多 直方图数值很小 直接用 我担心都接近0 可能会有问题 所以想
: 小于某个值的都归到 一个数值。
: wudong说的word2vec貌似比较高级? 听过没用过。 我可以看看 。 问一下,
: word2vec适合这种tree类型的 分类器吗?
: thx

avatar
f*r
14
你理解的没错,看起来不喝啦,但是就像dummy code一样,只保留部分原始
categorical feature的特性,但是在实际中能work就行。
机器学习就是这样,很多trick没有理论支持甚至违反理论假设,但是用起来可能效果
不错,比如naive bayes

【在 m******r 的大作中提到】
: 什么叫做binary encoding ? 比如我一个变量有8层, 分别代表8个州,NY,CA,TX,NY,
: etc
: 然后你用3个变量做binary encoding?? 000, 001, 010,110,... 111 ??
: 看起来不太对劲吧?

avatar
S*s
15
一般不是都会做个fe把high cardinal的category转成numerical的feature么?

【在 f*********r 的大作中提到】
: binary和传统的dummy code都不适合决策树类型的分类器,因为把寻找最优分岔的问题
: 限制在one vs all这个局限里面了。但是在实际应用中效果还是不错的。有文章说在
: cardinality很大的情况下,直接把每个level按照出现概率rank一下然后就哪rank取代
: 之变成numerical feature也一样work。实际上真正严格遵守最悠久或者近似最优解来
: 做决策树分叉的算法在high cardin的情况下非常慢,这也是为啥r的随机森林只支持
: cardinality小于53的categorical feature。Python里的版本直接就是用的rank来替代
: 的。
: xgboost只支持数值变量,把这个问题丢给了用户去自己找合适的编码方案。
: word2vec是根据在意过语料集里单词上下文co-occurrance的频率来学习一个单次的分
: 布式表达或者向量表达,这个表达的euclidean distance保留一些语义上和语法上的相

avatar
m*o
16
word2vec除非你的inputs是有context的概念,一个 input前后跟着其它input,有
temporal dependency,才可能用上。binary encoding效果肯定不如1hot,但是是一个
好的starting point。feature engineering从来都是一个反复有反复的过程。但是一
切反复都要有个起点。

【在 g*******u 的大作中提到】
: binary 应该不适合tree 类型的分类器吧 。素以首先排除
: flamewalker 说的后面几个可能可以把?我想的就是根据分布 用直方图。这样就转化
: 为numerical的了。 吧所有很小的 都轨到一类
: 因为 5000多种 很多 直方图数值很小 直接用 我担心都接近0 可能会有问题 所以想
: 小于某个值的都归到 一个数值。
: wudong说的word2vec貌似比较高级? 听过没用过。 我可以看看 。 问一下,
: word2vec适合这种tree类型的 分类器吗?
: thx

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。