我想在R中使用多层感知器训练我的数据,并将评估结果看作'auc score'。 R中有一个名为“monmlp”的包,但我不知道如何正确使用它。
我写了以下代码
> mlp.model = monmlp.fit(x, y, hidden1=3, n.ensemble=15, monotone=1, bag=T)
** Ensemble 1
** Bagging on
1 0.9206784
** 0.9206784
** Ensemble 2
** Bagging on
1 0.8200886
** 0.8200886
** Ensemble 3
** Bagging on
1 0.8278868
** 0.8278868
.
.
.
** Ensemble 15
** Bagging on
1 0.8186057
** 0.8186057
mlp.pred <- monmlp.predict(x = x, weights = mlp.model)
现在还可以,但下一步是什么?我怎样才能找到auc分数?
谢谢..
答案 0 :(得分:7)
根据Machine learning task view的建议, 你可以使用ROCR包。
# Sample data
library(monmlp)
n <- 1000
k <- 7
x <- matrix( rnorm(k*n), nr=n )
w <- rnorm(k)
y <- ifelse( logistic( x %*% w ) + rnorm(n, sd = 0.2) > 1, 0, 1 )
# Fit the model and compute the predictions
r <- monmlp.fit(x, y, hidden1=3, n.ensemble=15, monotone=1, bag=TRUE)
z <- monmlp.predict(x = x, weights = r)
# Compute the AUC
library(ROCR)
plot( performance( prediction( z, y ), "tpr","fpr" ) )
performance( prediction( z, y ), "auc" )@y.values[[1]]