我使用了sklearn的LogisticRegression,并且想查看参数C,因为我的模型似乎出现了过拟合。所以我做了以下操作:
weightes,params = [],[]for c in np.arange(-5,5): lr = LogisticRegression(C=10**c,random_state=0,n_jobs=-1) lr.fit(trainDataX,trainDataY) weightes.append(lr.coef_[1]) params.append(10**c)
但是我得到了以下错误:
IndexError Traceback (most recent call last)<ipython-input-30-2b13dbdd7faf> in <module>() 4 lr = LogisticRegression(C=10**c,random_state=0,n_jobs=-1) 5 lr.fit(trainDataX,trainDataY)----> 6 weightes.append(lr.coef_[1]) 7 params.append(10**c)IndexError: index 1 is out of bounds for axis 0 with size 1
我真的很想知道为什么会这样,以及如何解决这个问题…..
回答:
lr.coef_
中存储的数组只有一个元素。Logistic回归模型将拟合的截距存储在lr.intercept
中,将预测变量的系数存储在lr.coef
中。你的模型可能只有一个预测变量。