Advertisement
Guest User

Untitled

a guest
Aug 11th, 2015
846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.27 KB | None | 0 0
  1. import numpy as np
  2. from sklearn.preprocessing import LabelBinarizer
  3.  
  4.  
  5. class LabelBinarizer2:
  6.  
  7.     def __init__(self):
  8.         self.lb = LabelBinarizer()
  9.  
  10.     def fit(self, X):
  11.         # Convert X to array
  12.         X = np.array(X)
  13.         # Fit X using the LabelBinarizer object
  14.         self.lb.fit(X)
  15.         # Save the classes
  16.         self.classes_ = self.lb.classes_
  17.  
  18.     def fit_transform(self, X):
  19.         # Convert X to array
  20.         X = np.array(X)
  21.         # Fit + transform X using the LabelBinarizer object
  22.         Xlb = self.lb.fit_transform(X)
  23.         # Save the classes
  24.         self.classes_ = self.lb.classes_
  25.         if len(self.classes_) == 2:
  26.             Xlb = np.hstack((Xlb, 1 - Xlb))
  27.         return Xlb
  28.  
  29.     def transform(self, X):
  30.         # Convert X to array
  31.         X = np.array(X)
  32.         # Transform X using the LabelBinarizer object
  33.         Xlb = self.lb.transform(X)
  34.         if len(self.classes_) == 2:
  35.             Xlb = np.hstack((Xlb, 1 - Xlb))
  36.         return Xlb
  37.  
  38.     def inverse_transform(self, Xlb):
  39.         # Convert Xlb to array
  40.         Xlb = np.array(Xlb)
  41.         if len(self.classes_) == 2:
  42.             X = self.lb.inverse_transform(Xlb[:, 0])
  43.         else:
  44.             X = self.lb.inverse_transform(Xlb)
  45.         return X
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement