Я использую файл данных load_breast_cancer () для классификации опухоли.
После запуска statsmodels для проверки p-значения каждой переменной возникает ошибка:
Warning: Maximum number of iterations has been exceeded.
Current function value: inf
Iterations: 35
LinAlgError: Singular matrix
Надеюсь, ты мне поможешь!
Спасибо!
Я попробовал какое-то решение на stackoverflow об этой проблеме, но оно не работает!
это мой код:
from sklearn.datasets import load_breast_cancer
df = load_breast_cancer()
df_cancer = pd.DataFrame(np.c_[df['data'], df['target']], columns = np.append(df['feature_names'], ['target']))
import statsmodels.api as sm
import scipy.stats as st
from statsmodels.tools import add_constant as add_constant
df_constant = add_constant(df_cancer)
df_constant.head()
st.chisqprob = lambda chisq, df_cancer: st.chi2.sf(chisq, df_cancer)
cols=df_constant.columns[:-1]
model=sm.Logit(df_cancer['target'],df_constant[cols])
result = model.fit()
ожидаемое значение - результат, который показывает результаты регрессии Logit!