繁体   English   中英

scikit-learn / python中带有字符的随机森林

[英]random forest with characters in scikit-learn/python

我有一个字符列和数字,但我想对字符列进行分类并应用随机森林分类器。 我意识到有OneHotEncoder,但是任何地方都没有示例。 那么如何将字符分类,例如将具有'f'和'm'的性别列转换为(0,1)之类的整数?

使用LabelEncoder ,它接受一个字符串数组并将其转换为整数数组。

例:

from sklearn.preprocessing import LabelEncoder
import pandas as pd

data = pd.DataFrame()

data['age'] = [17,33,47]
data['gender'] = ['m','f','m']

enc = LabelEncoder()

print(data)
enc.fit(data['gender'])
data['gender'] = enc.transform(data['gender'])
print(data)

输出:

   age gender
0    17      m
1    33      f
2    47      m
   age  gender
0    17       1
1    33       0
2    47       1

另外,您可以使用pandas的get_dummies函数 ,该函数执行标签编码和一种热编码。

在:

import pandas as pd
s = pd.DataFrame(list('abca'))
s = pd.get_dummies(s)
print s

日期:

    a   b   c
0   1   0   0
1   0   1   0
2   0   0   1
3   1   0   0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM