在进行特征向量的处理的时候,我们经常需要将分类的变量变化以数字形式表达的变量,比如某一个特征向量里为:’amsterdam’, ‘paris’, ‘tokyo‘ 三个地名,不能直接运用于模型中,需要转换为数字变量,比如:amsterdam对于为0,paris为1,tokyo为2。这时我们可以通过LabelEncoder对特征值进行编码。
    其功能主要有一下两点:

    1. LabelEncoder可用于规范标签。
      1. >>> from sklearn import preprocessing
      2. >>> le = preprocessing.LabelEncoder()
      3. >>> le.fit([1, 2, 2, 6]) #将list:[1,2,2,6]进行标签编码
      4. LabelEncoder()
      5. >>> le.classes_
      6. array([1, 2, 6]) #查看包含的元素
      7. >>> le.transform([1, 1, 2, 6])#先进性编码然后得出索引值
      8. array([0, 0, 1, 2]...)
      9. >>> le.inverse_transform([0, 0, 1, 2])#返回标签值原来的编码
      10. array([1, 1, 2, 6])
      2.它也可以用于将非数字标签转换为数字标签。
      1. >>> le = preprocessing.LabelEncoder()
      2. >>> le.fit(["paris", "paris", "tokyo", "amsterdam"])
      3. LabelEncoder() #将上述数组进行增添标签
      4. >>> list(le.classes_)
      5. ['amsterdam', 'paris', 'tokyo'] #查看编码后的类别
      6. >>> le.transform(["tokyo", "tokyo", "paris"]) #查看数组对应的标签编码
      7. array([2, 2, 1]...)
      8. >>> list(le.inverse_transform([2, 2, 1]))#返回标签值原来的编码
      9. ['tokyo', 'tokyo', 'paris']
      总结如下:
      1. fit(self, y):给数据增加标签
      2. fit_transform(self, y):增加标签并返回标签值
      3. inverse_transform(self, y):返回原来的值