'Fit a multi-class classifier by combining binary classifiers
Each binary classifier predicts one class versus all others. This
strategy is called OVA: One Versus All.'

def _fit_multiclass(self, X, y, alpha, C, learning_rate, sample_weight, max_iter):

    result = Parallel(n_jobs=self.n_jobs, backend='threading', verbose=self.verbose)((delayed(fit_binary)(self, i, X, y, alpha, C, learning_rate, max_iter, self._expanded_class_weight[i], 1.0, sample_weight) for i in range(len(self.classes_))))
    n_iter_ = 0.0
    for (i, (_, intercept, n_iter_i)) in enumerate(result):
        self.intercept_[i] = intercept
        n_iter_ = max(n_iter_, n_iter_i)
    self.t_ += (n_iter_ * X.shape[0])
    self.n_iter_ = n_iter_
    if (self.average > 0):
        if (self.average <= (self.t_ - 1.0)):
            self.coef_ = self.average_coef_
            self.intercept_ = self.average_intercept_
        else:
            self.coef_ = self.standard_coef_
            self.standard_intercept_ = np.atleast_1d(self.intercept_)
            self.intercept_ = self.standard_intercept_
