gpt4 book ai didi

r - 我是按原样保留具有数字类别的特征还是创建虚拟变量?

转载 作者:行者123 更新时间:2023-11-30 09:20:49 25 4
gpt4 key购买 nike

我正在使用一个数据集,该数据集包含数字特征和类别特征但用整数编码。例如,如果是赛马,

horse_id   race_date    track_no        race_number    barrier_number  won_race  
1 2016-10-01 100 1 4 1
2 2016-10-01 100 1 3 0
1 2016-10-15 200 3 5 0
...

因此,如果我要创建一个马匹赢得比赛的概率模型,并使用诸如 race_number 之类的功能(同一天同一条赛道上可以有几场比赛,这样应该对赛道条件产生影响)和barrier_number(马可能更喜欢在内部障碍物或外部障碍物等),我应该保留这些功能不变还是创建指示 1 的虚拟变量(每行变量的存在)和 0(不存在)?

这是一个简单的示例,但这些列可能有大量可能的值,并且创建虚拟变量将大大增加特征的维度。这是必须做出的权衡,还是只留下一列即可?

编辑:另外,如果我将列保留原样并将其隐藏为 pandas 中的 caregory dtype,这是一个好的做法吗?像 Scikit-learn 这样的现有 ML 库能否正确处理这个问题?

最佳答案

对于所描述的功能(race_numberbarrier_number),我相信保持原样是完全可以的。但是,对于上面的示例,我将对 track_no 功能进行编码。

这是因为各个 track_no 值之间没有关系。

我会把上面的例子变成:

horse_id   race_date    track_100      track_200        race_number    barrier_number  won_race  
1 2016-10-01 1 0 1 4 1
2 2016-10-01 1 0 1 3 0
1 2016-10-15 0 1 3 5 0

希望对您有所帮助!

关于r - 我是按原样保留具有数字类别的特征还是创建虚拟变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40083196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com