我有一个逻辑回归模型,系数已经确定,我想部署在R。
我知道编写自己的函数来完成它非常简单,但我很好奇是否有一些我遗漏的现有功能甚至更简单?
基本上我希望使用predict()
glm
的{{1}}功能和我自己的系数,而不是在R中拟合模型。
答案 0 :(得分:2)
不推荐,但您可以随时手动更改系数。
iris2 <- iris[, 1:4]; iris2$dep_var <- as.integer(ifelse(iris2$Sepal.Length > 5, 1, 0))
x <- glm(dep_var ~ ., family = binomial(link = logit), iris2)
x$coefficients
# (Intercept) Sepal.Length Sepal.Width Petal.Length Petal.Width
# -1990.9311682 392.5953392 2.0776581 0.5389770 0.9594286
predict(x, iris2[1, ])
# 1
# 19.52332
x$coefficients['Sepal.Length'] <- 393
predict(x, iris2[1, ])
# 1
# 21.58709
请注意,这可能会与summary(x)
。
答案 1 :(得分:2)
您可以使用矩阵形式执行此操作:
logitp_est <- sum(c(1, values) * coefficients)
如果你想要概率,
prob_est <- 1 / (1 + exp(-1 * logitp_est))
或内置plogis()
:
prob_est <- plogis(logitp_est)
如果您想要分类:
class_est <- logitp_est > 0