class_docstr: This pipeline extends the sklearn Pipeline to support transformers that change X, y,
  sample_weight, and the number of samples.
  
  It also adds some new options for setting hyper-parameters with callables and in reference to
  other parameters (see examples).
  
  Parameters
  ----------
  steps : list
      List of (name, transform) tuples (implementing fit/transform) that are chained, in the
      order in which they are chained, with the last object an estimator.
  scorer : sklearn scorer object
  memory : currently not implemented
  
  Attributes
  ----------
  N_train : number of training samples - available after calling fit method
  N_test : number of testing samples - available after calling predict, or score methods
  
  Examples
  --------
  
  >>> from seglearn.transform import FeatureRep, SegmentX
  >>> from seglearn.pipe import Pype
  >>> from seglearn.datasets import load_watch
  >>> from sklearn.ensemble import RandomForestClassifier
  >>> from sklearn.preprocessing import StandardScaler
  >>> data = load_watch()
  >>> X = data['X']
  >>> y = data['y']
  >>> pipe = Pype([('segment', SegmentX()),
  >>>              ('features', FeatureRep()),
  >>>              ('scaler', StandardScaler()),
  >>>              ('rf', RandomForestClassifier())])
  >>> pipe.fit(X, y)
  >>> print(pipe.score(X, y))
code: def __init__(self, steps, scorer=None, memory=None):
      self.scorer = scorer
      self.N_train = None
      self.N_test = None
      self.N_fit = None
      self.history = None
      super(Pype, self).__init__(steps, memory=memory)
  
imports: import numpy
  from sklearn.base import BaseEstimator
  from sklearn.pipeline import Pipeline
  from .transform import XyTransformerMixin, Segment
  from .util import segmented_prediction_to_series
label_desc: Use image node_id 1 to create a new Pype object from inherited base classes: Pipeline with example: obj = Pype(steps, scorer, memory)