【发布时间】:2020-10-13 02:22:19
【问题描述】:
我制作了预测航班迟到的模型。我想看看真阳性率,假阳性率为 50%。我可以在我绘制的 ROC 曲线中看到这一点。但我想准确计算该值,而不仅仅是从图中读取它。有人知道怎么做吗?
library(modelr)
library(dplyr)
library(sparklyr)
library(ggplot2)
library(nycflights13)
data(flights)
RNGkind(sample.kind="Rounding")
set.seed(42)
flights <- mutate(flights, late_arrival = ifelse(arr_delay > 30, 1, 0))
spark_install()
sc <- spark_connect(master = "local")
flights_tbl <- copy_to(sc, flights, "flights")
flights_tbl <- flights_tbl %>% na.omit(flights_tbl)
partition <- flights_tbl %>%
select(late_arrival, carrier, dep_delay, month, year) %>%
sdf_random_split(train = 0.75, test = 0.25)
train_tbl <- partition$train
test_tbl <- partition$test
########### my model
ml_formula <- formula(late_arrival ~ carrier + dep_delay + month + year)
ml_log <- ml_logistic_regression(train_tbl,ml_formula)
ml_log
pred_lr <- ml_predict(ml_log, test_tbl) %>% collect
pred_lr$p1 <- unlist(pred_lr$probability)[ c(FALSE,TRUE) ]
########## my ROC curve plot
ROC_lr <- get_roc(L = pred_lr$late_arrival, f = pred_lr$p1)
ggplot(ROC_lr, aes(x = FPR, y = TPR)) + geom_line(aes(col = "my prediction")) + ggtitle("ROC curve of my prediction", "logistic regression to predict late arrivals based on carrier, departure delay, month, and year")
【问题讨论】:
-
请不要交叉发布问题,这是不礼貌的行为。见stats.stackexchange.com/questions/473551/…
-
抱歉,我不确定哪个论坛更适合,我是新来的。我不会再这样做了。
标签: r machine-learning roc