我从创建了字典 classes_
le = preprocessing.LabelEncoder() ids = le.fit_transform(labels) mapping = dict(zip(le.classes_, range(len(le.classes_))))
去测试:
all([mapping[x] for x in le.inverse_transform(ids)] == ids)
应该回来True
。
之所以有效,是因为fit_transform
用于numpy.unique
同时计算标签编码和classes_
属性:
def fit_transform(self, y): self.classes_, y = np.unique(y, return_inverse=True) return y