def transform(self, y, replace_unique=False):
"""Transform labels to normalized encoding.
Parameters
----------
y : array-like of shape [n_samples]
Target values.
Returns
-------
y : array-like of shape [n_samples]
"""
self._check_fitted()
classes = np.unique(y)
_check_numpy_unicode_bug(classes)
if len(np.intersect1d(classes, self.classes_)) < len(classes):
diff = np.setdiff1d(classes, self.classes_)
if replace_unique:
mode = stats.mode(y)[0][0]
for i in xrange(0,len(y)):
if y[i] in diff:
y[i]=mode
else:
raise ValueError("y contains new labels: %s" % str(diff))
return np.searchsorted(self.classes_, y)
评论列表
文章目录