Как добавить диагональную линию на график кривой ROC от PRROC? - PullRequest
1 голос
/ 27 сентября 2019

Вот пример кривой ROC в PRROC

library(PRROC)
# create artificial scores as random numbers
x <- rnorm( 1000 );
y <- rnorm( 1000, -1 );

# compute area under PR curve
pr <- pr.curve( x, y );
print( pr );

# compute area under ROC curve
roc <- roc.curve( x, y );
print( roc );

# compute PR curve and area under curve
pr <- pr.curve( x, y, curve = TRUE );
# plot curve
plot(pr);

# compute ROC curve and area under curve
roc <- roc.curve( x, y, curve = TRUE );
# plot curve
plot(roc);

Я хочу добавить диагональную линию на этом графике, но координата всегда неверна.

1 Ответ

0 голосов
/ 27 сентября 2019

Ниже код будет работать.При условии, что у вас установлен пакет ggplot2.

, если у вас не установлен ggplot2.сначала запустите этот код

install.packages("ggplot2")

, а затем запустите код ниже

library(PRROC)
# create artificial scores as random numbers
x <- rnorm( 1000 );
y <- rnorm( 1000, -1 );

data = as.data.frame(cbind(x,y))
# compute area under PR curve
pr <- pr.curve( x, y );
print( pr );

# compute area under ROC curve
roc <- roc.curve( x, y );
print( roc );

# compute PR curve and area under curve
pr <- pr.curve( x, y, curve = TRUE );
# plot curve
plot(pr);

# compute ROC curve and area under curve
roc <- roc.curve( x, y, curve = TRUE );
# plot curve
plot(roc)

library(ggplot2)
data <- as.data.frame(roc$curve)
data <- data[,1:2]
ggplot(data, aes(x=data$V1, y=data$V2))+geom_line()+ geom_abline(slope = 1)
...