Python 中的逻辑回归交互项 p 值

问题描述 投票:0回答:2

我想构建一个逻辑回归并在 Python 中提取交互项的 p 值,其中数据集是从 Teradata 导入的。但出现了一些错误消息,我不知道如何处理。

我尝试了两种不同的方法来构建逻辑回归模型。第一种方法无法打印出 model.summary() 命令,因此尝试了第二种方法。所有包含的变量都已转换为 str,并且所有变量都是分类变量。

import pandas as pd
import numpy as np
import seaborn as sns; sns.set()
from sklearn.linear_model import LogisticRegression
import sklearn.linear_model as lm
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics import classification_report
import statsmodels.api as sm
import statsmodels.formula.api as smf
from patsy import dmatrices;

y = testing.respond
feature_cols = ['t1', 't2', 'inter']
X = testing[feature_cols].as_matrix()

import warnings
warnings.filterwarnings("ignore", category=FutureWarning)
model = LogisticRegression(solver='lbfgs')
result = model.fit(X,y)
result.summary
AttributeError: 'LogisticRegression' object has no attribute 'summary'

model = sm.Logit(y, X)
model_fit = model.fit()
print(model_fit.summary)
ValueError: Pandas data cast to numpy dtype of object. Check input data with np.asarray(data).

想知道如何修复任一模型,以便获得“间”项的 p 值的结果

sql python-3.x logistic-regression
2个回答
0
投票

将 statsmodels.formula.api 导入为 smf 尝试使用 smf.logit 函数,然后您也会获得 p 值和摘要


0
投票
print(model_fit.summary())

您忘记了摘要中的括号。

© www.soinside.com 2019 - 2024. All rights reserved.