sklearn中的编码器LabelEncoder

对于不同的feature,每次用都要进行初始化一次,因为特征不同,编码规则肯定也是不同的。

基本上都是按照从小到大来排序的,比如数字,0,2,5,9,编码结果肯定是0,1,2,3

字母的话一般也是如此考虑a,b,c,d啥的,如果你实在不清楚怎么对应的话,我建议你自己提前做成one-hot的形式,自己对应,然后存下这个对应标签。

下面是例子:

>>> xx=[3,2,4,6,9,87,12]
>>> lbe = LabelEncoder()
>>> lbe.fit_transform(xx)
array([1, 0, 2, 3, 4, 6, 5], dtype=int64)
>>> lbe.classes_
array([ 2,  3,  4,  6,  9, 12, 87])

最后一个表示编码的顺序,从0到6对应的什么,下面是字母的编码规则,就是abcd这种顺序

>>> yy=['k','f','m','p','w']
>>> lbe = LabelEncoder()
>>> lbe.fit_transform(yy)
array([1, 0, 2, 3, 4], dtype=int64)
>>> lbe.classes_
array(['f', 'k', 'm', 'p', 'w'], dtype='

提前规定也好,或者记录编码后的lbe.classes_都是可以的

 

补充:20200608

编码后能给有这些数据类型的array或者list编码吗?

可以的,

lbe.transform

 

另外有相关问题可以加入QQ群讨论,不设微信群

QQ群:868373192 

语音图像视频推荐深度-学习群

最近主要做召回recall部分,欢迎加入交流问题。

For Video Recommendation in Deep learning QQ Group 277356808

For Speech, Image, Video in deep learning QQ Group 868373192

I'm here waiting for you

 

你可能感兴趣的:(python)