首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用字符串特征进行分类?

如何使用字符串特征进行分类?
EN

Stack Overflow用户
提问于 2014-11-28 15:11:04
回答 2查看 915关注 0票数 1

我正在开发一个广告点击推荐系统,在这个系统中,我必须预测用户是否会点击广告。我总共有98个功能,既有用户功能,也有广告功能。一些对预测非常重要的特征是具有这样的字符串值。

代码语言:javascript
复制
**FEATURE**
Inakdtive Kunmden
Stammkfunden
Stammkdunden
Stammkfunden
guteg Quartialskunden
gutes Quartialskunden
guteg Quartialskunden
gutes Quartialskunden

在整个数据列中有14个不同的字符串值。我的模型不能接受字符串值作为输入,所以我必须将它们转换为分类的int值。我不知道如何做到这一点,并使这些功能有用。我使用K-MEANS聚类和RANDOMFOREST算法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-29 00:31:31

在将字符串值列表转换为分类整数时要小心,因为模型可能会将整数解释为在数值上有意义,但它们可能不是。

例如,如果:

代码语言:javascript
复制
'Dog'=1,'Cat'=2,'Horse'=3,'Mouse'=4,'Human'=5

然后,聚类算法中的距离度量将认为人类更像老鼠而不是狗。将它们转换为14个二进制值通常更有用,例如

旋转此选项:

代码语言:javascript
复制
'Dog'
'Cat'
'Human'
'Mouse'
'Dog'

如下所示:

代码语言:javascript
复制
'Dog'  'Cat'  'Mouse'  'Human'
  1      0       0        0
  0      1       0        0
  0      0       0        1
  0      0       1        0
  1      0       0        0

不是这样的:

代码语言:javascript
复制
'Species'
    1
    2
    5
    4
    1

然而,如果数据将是你分类的“目标”,而不是数据的“特征”,你可以在SciKit-Learn的大多数多分类算法中将它们保留为int。

票数 5
EN

Stack Overflow用户

发布于 2014-11-29 05:26:04

我喜欢user1745038的answer,它应该会给你相当好的结果。但是,如果您希望从字符串中提取更有意义的特征(特别是在字符串数量显著增加的情况下),请考虑使用一些NLP技术。例如,‘狗’和‘猫’比‘狗’和‘鼠标’更相似。

祝好运

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27183625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档