COS*_*STA 1 machine-learning k-means random-forest scikit-learn
我正在研究一个广告点击推荐系统,在该系统中,我必须预测用户是否会点击广告。我总共具有98个功能,同时具有USER功能和ADVERTISEMENT功能。对于预测而言非常重要的某些功能具有这样的字符串值。
**FEATURE**
Inakdtive Kunmden
Stammkfunden
Stammkdunden
Stammkfunden
guteg Quartialskunden
gutes Quartialskunden
guteg Quartialskunden
gutes Quartialskunden
Run Code Online (Sandbox Code Playgroud)
整个数据列中有14种不同的字符串值。我的模型无法将字符串值作为输入,因此我必须将它们转换为分类int值。我不知道如何执行此操作并使这些功能有用。我正在使用K-MEANS聚类和随机森林算法。
在将字符串值列表转换为分类整数时要小心,因为模型可能会将整数解释为数值有效的整数,但可能并非如此。
例如,如果:
'Dog'=1,'Cat'=2,'Horse'=3,'Mouse'=4,'Human'=5
Run Code Online (Sandbox Code Playgroud)
然后,聚类算法中的距离量度将认为人类更像老鼠,而不是狗。将它们转换为14个二进制值通常更有用,例如
转这个:
'Dog'
'Cat'
'Human'
'Mouse'
'Dog'
Run Code Online (Sandbox Code Playgroud)
变成这个:
'Dog' 'Cat' 'Mouse' 'Human'
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
1 0 0 0
Run Code Online (Sandbox Code Playgroud)
不是这个:
'Species'
1
2
5
4
1
Run Code Online (Sandbox Code Playgroud)
但是,如果数据将成为您要分类的“目标”而不是数据“特征”,则可以在SciKit-Learn的大多数多分类算法中将它们保留为整数。
| 归档时间: |
|
| 查看次数: |
390 次 |
| 最近记录: |