def predict_proba(self, X):
        """Probability estimates.

        The returned estimates.

        Parameters
        ----------
        X : array-like, shape = [n_samples, n_features]

        Returns
        -------
        T : array-like, shape = [n_samples, 2]
            Returns the probability of the sample for each class in the model.
        """
        y_prob = np.zeros((X.shape[0], 2))
        y_prob[:, 1] = _sigmoid(np.dot(X, self.coef_) + self.intercept_)
        y_prob[:, 0] = 1 - y_prob[:, 1]
        return y_prob