LinAlgError: Сингулярная матрица при подборе регрессионной модели logisti c с использованием p-значений - PullRequest
0 голосов
/ 07 февраля 2020

Я строю регрессионную модель логистики c с p-значениями. Я использовал следующую функцию для вычисления p-значения:

class LogisticRegression_with_p_values:
    def __init__(self, *args, **kwargs):
      self.model = linear_model.LogisticRegression(*args, **kwargs)
    def fit(self, X, y):
      self.model.fit(X, y)
      denom = (2.0 * (1.0 + np.cosh(self.model.decision_function(X))))
      denom = np.tile(denom, (X.shape[1],1)).T
      F_ij = np.dot((X/denom).T,X)
      Cramer_Rao = np.linalg.inv(F_ij)
      sigma_estimates = np.sqrt(np.diagonal(Cramer_Rao))
      z_scores = self.model.coef_[0] / sigma_estimates
      p_values = [stat.norm.sf(abs(x)) * 2 for x in z_scores]
      self.coef_ = self.model.coef_
      self.intercept_ = self.model.intercept_
      self.p_values = p_values
reg = LogisticRegression_with_p_values()
reg.fit(inputs_train, loan_data_targets_train)

Я получаю:

LinAlgError: Ошибка единичной матрицы.

Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...