对于数值型变量模型怎么知道是连续变量还是离散变量?

  统计/机器学习 监督式学习 数据预处理    浏览次数: 127
0

如果对于一个特征有四种可能取值,如所属年级 大学一年级,大学二年级,大学三年级,大学四年级,此时使用LabelEncoding转换为0,1,2,3,如果不进行one-hot编码的话,输入模型后,模型是怎么理解这个特征的?拿树模型(CART)来说的话,是不是自动地就把他当做一个连续性特征进行处理了?但我总觉得这个过程中丢失了部分信息。

突然间有点混乱,关于特征的连续与离散以及预测目标的连续与离散以及one-hot编码将特征维度大量扩大的同时的好处是什么?

谢谢!

 

dzzxjl   2018-04-09 16:06



   2个回答 
1

把年级转为0,1,2,3,在决策树中,这个变量是会被当作连续变量处理。这样的处理并没有很精细化,如果和直接把它们进行one-hot相比。假如大学二年级(“1”)明显的与其他三个不同,决策树只能切出{0,1}和{2,3},而不能做到{0,2,3}和{1}。


Jiho   2018-04-09 21:10

那为什么rf,xg等模型,是不需要独热的, - 陈十一   2018-04-10 09:03
是的,不是必须的。对于决策树来说,也不是必须的。具体是不是one hot,其实影响的是performance。 - Jiho   2018-04-10 10:24
1

网上找到一个答案,对于xgb什么时候适合用onehot提到了:

1.对于类别有序的类别型变量,比如 age 等,当成数值型变量处理可以的。对于非类别有序的类别型变量,推荐 one-hot。但是 one-hot 会增加内存开销以及训练时间开销。

2.类别型变量在范围较小时(tqchen 给出的是[10,100]范围内)推荐使用

仅供参考

dzzxjl   2018-04-13 10:47



  相关主题

数据一样,y却不一样的样本该怎么处理?   2回答

在数据预处理阶段,特征的标准化有哪些方法?   1回答

python的dataframe如何重新排列行或者列   1回答

让DataFrame中的行按照某一列元素的绝对值从大到小排列   1回答

怎么求一个数组的移动平均数   1回答

线性回归的变量归一化的问题   1回答

训练集中重复的样本需要被删除吗?   3回答

对进行回归分析之前,如何处理不同类型的变量?   1回答

sklearn OneHotEncoder string类型报错   1回答

决策树、随机森林中的多重共线性问题   3回答

对pandas.DataFrame进行groupby结果中index的问题   2回答

怎么把collections.Counter的计数结果转为pandas的DataFrame   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!