我知道我在对逻辑回归的理解中遗漏了一些东西,并且非常感谢任何帮助。
据我了解,逻辑回归假设给定输入的“1”结果的概率是输入的线性组合,通过逆逻辑函数传递。这在以下 R 代码中得到了例证:
#create data:
x1 = rnorm(1000) # some continuous variables
x2 = rnorm(1000)
z = 1 + 2*x1 + 3*x2 # linear combination with a bias
pr = 1/(1+exp(-z)) # pass through an inv-logit function
y = pr > 0.5 # take as '1' if probability > 0.5
#now feed it to glm:
df = data.frame(y=y,x1=x1,x2=x2)
glm =glm( y~x1+x2,data=df,family="binomial")
我收到以下错误消息:
警告消息:1:glm.fit:算法未收敛 2:glm.fit:拟合概率为 0 或 1
我已经使用 R 有一段时间了;足以知道我可能是罪魁祸首..这里发生了什么?