sklearn onehotencoder()

 For example a person could have features 

["male", "female"]

["from Europe", "from US", "from Asia"]

["uses Firefox", "uses Chrome", "uses Safari", "uses Internet Explorer"].

Such features can be efficiently coded as integers,

for instance ["male", "from US", "uses Internet Explorer"] could be expressed as [0, 1, 3] 

["female", "from Asia", "uses Chrome"] would be [1, 2, 1].

首先要明白,输入数组转化成如下形式:

特征分布默认为列分布,也就是第一列是一个特征,第二列又是一个。

通过fit这个method,分析输入的数组,可以得到n_values 也就是能得到每一个特征 需要多少位来表示。比如第一列,发现范围是 0-1,那么需要两位;第二列 0-2 需要三位;第三列 0-3需要四位。

所以【0,1,3】这个数组表示三个特征值,等价于 [1,0,    0,1,0,    0,0,0,1]

我们也可以直接输入 n_values的array

如果你已经知道n_values 那么fit 已经没什么意义了 (测试过 fit中不同数组结果是一样的)

猜你喜欢

转载自www.cnblogs.com/nzmx123/p/9001425.html