如何为逻辑回归提供适当的初始猜测和界限?

我正在尝试在Python中使用scipy.optimize来实现逻辑回归。当我尝试使用sklearn时,我了解了可用于预测给定数据集的beta值。但是,当我尝试在scipy优化函数中使用它时,代价值将变为无穷大,有时值也可以,但是截距不存在。原因是,界限和初步猜测似乎。如何制定呢?如果还有其他方法,请告诉我。

import scipy 
import numpy as np 


def sigmoid(x,beta):
    return((np.exp(np.dot(x,beta))/(1.0 + np.exp(np.dot(x,beta)))))

def mle(beta,x,y):
    return(-(np.sum(y*np.log(sigmoid(x,beta)) + (1-y)*(np.log(1-sigmoid(x,beta))))))

# x0 value ? and bounds ? 
result = scipy.optimize.minimize(mle,x0 = np.array([-.1]),args = (x,y))

没有拦截。数据框的形状为(100,2)。请指教

b454545 回答:如何为逻辑回归提供适当的初始猜测和界限?

我刚刚添加了x = np.hstack((np.ones((x.shape [0],1)),x)),这解决了这个问题。

本文链接:https://www.f2er.com/3134355.html

大家都在问