我想构建逻辑回归并在从Teradata导入数据集的Python中提取交互项的p值。但是这里出现了一些错误消息,我不确定该如何处理。
我尝试了两种不同的方法来构建逻辑回归模型。第一种方法无法打印出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).
想知道如何修复两个模型中的任何一个,以便获得“ inter”项的p值的结果
答案 0 :(得分:0)
将statsmodels.formula.api导入为smf 尝试使用smf.logit函数,您还将获得p值和摘要