楼主: 麻烦and纠结
2428 5

[问答] 这个函数AUCRF [推广有奖]

  • 0关注
  • 0粉丝

本科生

55%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
479 点
帖子
73
精华
0
在线时间
46 小时
注册时间
2013-10-16
最后登录
2015-4-3

楼主
麻烦and纠结 发表于 2013-12-6 11:22:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
QQ图片20131206112100.jpg >AUCRF
function (formula, data, k0 = 1, pdel = 0.2, ranking = c("MDG",
    "MDA"), ...)
{
    AUC.randomForest <- function(rf, clase = 1) {
        r <- rank(rf$votes[, as.character(clase)])
        rd <- mean(r[rf$y == clase])
        nd <- sum(rf$y == clase)
        nnd <- length(rf$y) - nd

        return((rd - nd/2 - 0.5)/nnd

只截取了一部分 就是AUCRF函数的功能

解释一下 r <- rank(rf$votes[, as.character(clase)])这句,这是对votes进行排序,但是这个设置的是按什么排序呀? as.character(clase)]是什么意思呀

AUC.randomForest <- function(rf, clase = 1)还有这句的意思解释一下





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:AUC randomForest function Ranking Formula

QQ图片20131206112100.jpg (53.73 KB)

QQ图片20131206112100.jpg

沙发
jmpamao 发表于 2013-12-7 20:49:38
AUCRF 包:
AUC.randomForest <- function(rf, clase = 1) {
                     r <- rank(rf$votes[, as.character(clase)])
                     rd <- mean(r[rf$y == clase])
                     nd <- sum(rf$y == clase)
                     nnd <- length(rf$y) - nd
                     return((rd - nd/2 - 0.5)/nnd)
                   }
         while (k >= k0) {
                     fitRF <- randomForest(formula, data = data[, c(yname,
                                                                    vars[1:k])], ...)
                     getAUC <- AUC.randomForest(fitRF)     

randomForest 包:


查看
randomForest:::randomForest.default


randomForest=function(......
      out.votes <- t(matrix(rfout$counttr, nclass, nsample))[1:n,  ]
if (norm.votes)

            out.votes <- t(apply(out.votes, 1, function(x) x/sum(x)))
class(out.votes) <- c(class(out.votes), "votes")
out <- list(call = cl, type = if (addclass) "unsupervised" else "classification",
            predicted = if (addclass) NULL else out.class, err.rate = if (addclass) NULL else t(matrix(rfout$errtr,
                nclass + 1, ntree, dimnames = list(c("OOB", levels(y)),
                  NULL))), confusion = if (addclass) NULL else con,

            votes = out.votes, oob.times = oob.times, classes = levels(y), ....)
class(out)<-"randomForest"


methods(print.randomForest)
randomForest:::print.randomForest



数据的结构一环扣一环的,慢慢看吧。自虐了一回,希望有帮助






藤椅
麻烦and纠结 发表于 2013-12-10 11:27:15
jmpamao 发表于 2013-12-7 20:49
AUCRF 包:
AUC.randomForest
我运用AUCRF这个函数出现了下面的问题,所以……

> tw<-read.csv("www.csv", header=T)
> fit <- AUCRF(class~., data=tw)
错误于rf$votes[, as.character(clase)] : 下标出界
>
对数据tw进行随机森林建模是rf<-randomForest(class ~ ., tw, importance=TRUE)

板凳
麻烦and纠结 发表于 2013-12-10 11:30:59
jmpamao 发表于 2013-12-7 20:49
AUCRF 包:
AUC.randomForest
  1. AUC.randomForest <- function(rf, clase = 1) {
  2.         r <- rank(rf$votes[,as.character(clase)])
复制代码
不太理解这两个,这里的AUC.randomForest是AUCRF函数??还有clase = 1这个什么意思?下面as.character(clase)是将clase这个参数设置成字符类型,那么clase这是一个参数,这个参数在哪里

报纸
jmpamao 发表于 2013-12-10 16:53:08
麻烦and纠结 发表于 2013-12-10 11:30
不太理解这两个,这里的AUC.randomForest是AUCRF函数??还有clase = 1这个什么意思?下面as.character(c ...

地板
麻烦and纠结 发表于 2013-12-11 17:41:12
rf$votes[, as.character(clase)]这个的意思是?像rf$votes[2,3]我知道指的是矩阵第二行第三列的一个元素,那么rf$votes[, as.character(clase)]是什么意思

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 21:08