def fit(self, X, y): self.label_binarizer_ = LabelBinarizer(neg_label=-1, pos_label=1) y = np.asfortranarray(self.label_binarizer_.fit_transform(y), dtype=np.float64) if self.eta is None or self.eta == 'auto': eta = get_auto_step_size( X, self.alpha, self.loss, self.is_saga) else: eta = self.eta if self.alpha * eta == 1: # to match the beaviour of SAGA # in this case SAGA decreases slightly eta eta *= 0.9 loss = self._get_loss(self.loss) self.penalty = self._get_penalty(self.penalty) if not self.is_saga and self.penalty is not None: raise ValueError("PySAGClassifier only accepts l2 penalty. Please " "use `saga=True` or PySAGAClassifier.") if self.is_saga: self.coef_ = _fit_saga(X, y, eta, self.alpha, loss, self.penalty, self.max_iter, self.rng) else: self.coef_ = _fit_sag(X, y, eta, self.alpha, loss, self.max_iter, self.rng)
def fit(self, X, y): self._set_label_transformers(y) y = np.asfortranarray(self.label_binarizer_.transform(y), dtype=np.float64) if self.eta is None or self.eta == 'auto': eta = get_auto_step_size(get_dataset(X, order="c"), self.alpha, self.loss, self.is_saga) else: eta = self.eta if self.alpha * eta == 1: # to match the beaviour of SAGA # in this case SAGA decreases slightly eta eta *= 0.9 loss = self._get_loss(self.loss) self.penalty = self._get_penalty(self.penalty) if not self.is_saga and self.penalty is not None: raise ValueError("PySAGClassifier only accepts l2 penalty. Please " "use `saga=True` or PySAGAClassifier.") if self.is_saga: self.coef_ = _fit_saga(X, y, eta, self.alpha, loss, self.penalty, self.max_iter, self.rng) else: self.coef_ = _fit_sag(X, y, eta, self.alpha, loss, self.max_iter, self.rng)
def fit(self, X, y): self.label_binarizer_ = LabelBinarizer(neg_label=-1, pos_label=1) y = np.asfortranarray(self.label_binarizer_.fit_transform(y), dtype=np.float64) if self.eta is None or self.eta == "auto": self.eta = get_auto_step_size(X, self.alpha, self.loss, self.is_saga) self.loss = self._get_loss(self.loss) self.penalty = self._get_penalty(self.penalty) if not self.is_saga and self.penalty is not None: raise ValueError("PySAGClassifier only accepts l2 penalty. Please " "use `saga=True` or PySAGAClassifier.") if self.is_saga: self.coef_ = _fit_saga(X, y, self.eta, self.alpha, self.loss, self.penalty, self.max_iter, self.rng) else: self.coef_ = _fit_sag(X, y, self.eta, self.alpha, self.loss, self.penalty, self.max_iter, self.rng)