如何按严重程度排序分类字符串特征?

Posted

技术标签:

【中文标题】如何按严重程度排序分类字符串特征?【英文标题】:How to order categorical string features in order of severity? 【发布时间】:2018-12-26 15:54:24 【问题描述】:

如果我的数据集的特征之一是分类字符串的分数,例如:

Score
X1c
X3a
X1a
X2b
X4
X1a
X1b
X4

其中X1a 最弱,其次是X1b, X1c, X2a, X2b ...X4X4 最强,我如何将其编码为整数,使得X1a 可以是最低整数,X4 是最高整数。我正在寻找使用随机森林分类器。此外,训练集是一个单独的数据集,因此应该为新数据集维护这种编码。

【问题讨论】:

你为完成这个任务做了什么? LabelEncoder,在 scikit-learn 中,它就是用来按您需要的字母顺序排列数据的。 【参考方案1】:

您可以尝试使用排名:

df['Score_int'] = df.Score.rank(method='dense')

输出:

  Score  Score_int
0   X1c        3.0
1   X3a        5.0
2   X1a        1.0
3   X2b        4.0
4    X4        6.0
5   X1a        1.0
6   X1b        2.0
7    X4        6.0

【讨论】:

以上是关于如何按严重程度排序分类字符串特征?的主要内容,如果未能解决你的问题,请参考以下文章

测试文档

bug 怎样划分等级

如何按受欢迎程度对 iTunes 商店 API 实体 = 歌曲进行排序?

具有字符/字符串特征的二进制分类

Java类按属性排序

如何在 spark ml 中处理决策树、随机森林的分类特征?