def _curve_wraps(self, func, *args, **kwargs): decision = self._df.decision if util._is_1d_varray(decision): c1, c2, threshold = func(self._target.values, decision.values, *args, **kwargs) return c1, c2, threshold results = {} if self._df.has_multi_targets(): for i, ((name, col), t) in enumerate( zip(decision.iteritems(), self._target.values.T)): # results can have different length c1, c2, threshold = func(t, col.values, pos_label=i, *args, **kwargs) results[name] = c1, c2, threshold else: for i, (name, col) in enumerate(decision.iteritems()): # results can have different length c1, c2, threshold = func(self._target.values, col.values, pos_label=i, *args, **kwargs) results[name] = c1, c2, threshold return results
def _wrap_predicted(self, predicted, estimator): """ Wrapper for predict methods """ if util._is_1d_varray(predicted): predicted = self._constructor_sliced(predicted, index=self.index) else: predicted = self._constructor(predicted, index=self.index) self._predicted = predicted return self._predicted
def _wrap_transform(self, transformed, columns=None): """ Wrapper for transform methods """ if len(transformed.shape) == 2: if (util._is_1d_harray(transformed) or util._is_1d_varray(transformed)): transformed = transformed.flatten() else: from pandas_ml.core.frame import ModelFrame return ModelFrame(transformed, index=self.index) return self._constructor(transformed, index=self.index, name=self.name)
def _wrap_probability(self, probability, estimator): """ Wrapper for probability methods """ try: if util._is_1d_varray(probability): # 2 class probability = self._constructor(probability, index=self.index) else: probability = self._constructor(probability, index=self.index, columns=estimator.classes_) except ValueError: msg = "Unable to instantiate ModelFrame for '{0}'" warnings.warn(msg.format(estimator.__class__.__name__)) return probability
def _curve_wraps(self, func, *args, **kwargs): decision = self._df.decision if util._is_1d_varray(decision): c1, c2, threshold = func(self._target.values, decision.values, *args, **kwargs) return c1, c2, threshold results = {} if self._df.has_multi_targets(): for i, ((name, col), t) in enumerate(zip(decision.iteritems(), self._target.values.T)): # results can have different length c1, c2, threshold = func(t, col.values, pos_label=i, *args, **kwargs) results[name] = c1, c2, threshold else: for i, (name, col) in enumerate(decision.iteritems()): # results can have different length c1, c2, threshold = func(self._target.values, col.values, pos_label=i, *args, **kwargs) results[name] = c1, c2, threshold return results