如果有离散特征,如
[‘Arsenal’,‘ManCity’,‘Liverpool’],将它们转换为数字表示更好[0,1,2]
即使转化为数字表示后,上述数据也不能直接用在很多的分类器中。因为,分类器数据往往是连续的、有序的。但是,按照我们上述的表示,数字并不是有序的,而是随机分配的。
使用OneHot就可以解决此类问题
其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。
例如拥有六个状态的属性独热编码为:000001,000010,000100,001000,010000,100000
对于一个特征,如果它有m个可能值,那么经过独热编码后,就变成了m个二元特征。并且,这些特征互斥,每次只有一个激活。
Python例子:
import pandas as pd
import numpy as np
test_dict = {
'id':[1