好久没写了,从CSDN转移到了简书。
初学总结,如有不准确的地方请及时指出哦~
结合sci-kit learn案例学习one hot
相关代码如下:
from sklearn import preprocessing
enc=preprocessing.OneHotEncoder()
enc.fit([[0,0,3],[1,1,0],[0,2,1],[1,0,2]])
array=enc.transform([[0,1,1]]).toarray()
print("enc.n_values_ is:",enc.n_values_)
print ("enc.feature_indices_ is:",enc.feature_indices_)
print(array)
当然,需要先安装numpy,scipy
输出结果如下:
enc.n_values_ is: [2 3 4]
enc.feature_indices_ is: [0 2 5 9]
[[1. 0. 0. 1. 0. 0. 1. 0. 0.]]
根据官方文档所说,n_values_表示Maximum number of values per feature,即每个特征的个数。这样理解下来,我们fit拟合了二维数组的3个特征值,第一个特征值有两种(0:10,1:01),第二个特征值有3种(0:100,1:010,2:001),第三个特征值有4种(0:1000,1:0100,2:0010,3:0001)
从这里就看出one-hot编码的特点了,只有一位是1,其余都是0
网友评论