许多机器学习库要求类标以整数值的方式进行编码。虽然scikit-learn中大多数分类预估器都会在内部将类标转换为整数,但通过将类标转换为整数序列能够从技术角度避免某些问题的产生,在实践中这被认为是一个很好的做法。为了对类标进行编码,可以采用与前面讨论的有序特征映射相类似的方式。要清楚一点,类标并不是有序的,而且对于特定的字符串类标,赋予哪个整数值给它对我们来说并不重要。因此,我们可以简单地以枚举的方式从0开始设定类标。
接下来,我们可以使用映射字典将类标转换为整数:
我们可以通过下列代码将映射字典中的键一值对倒置,以将换转过的类标还原回原始的字符串表示:
此外,使用scikit-learn中的LabelEncoder类可以更加方便地完成对类标的整数编码工作:
请注意:fit_transform方法相当于分别调用fit和transform方法的快捷方式,我们还可以使用inverse_transform方法将整数类标还原为原始的字符串表示: