全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 学习笔记1.0
537 1
2014-12-06
        rfModel <- randomForest(FLAG~.,importance=TRUE,data=inputdataTrain)
       
        predTest <- predict(rfModel,inputdataTest[,-72],type="response")
       
        predFlag <- as.numeric(as.character(predTest))
        realFlag <- as.numeric(as.character(inputdataTest$FLAG))

        indexTP <- which(predFlag+realFlag == 2 )
        indexFP <- which(predFlag-realFlag == 1)
        indexTN <- which(predFlag+realFlag == 0 )
        indexFN <- which(predFlag-realFlag == -1 )
       
        Accuracy = (length(indexTP)+length(indexTN))/length(inputdataTest$FLAG)
        Recall = length(indexTP)/(length(indexTP)+length(indexFN))
        Precision = length(indexTP)/(length(indexTP)+length(indexFP))
        FalsePostiveRate = length(indexFP)/(length(indexFP)+length(indexTN))
        FalseNegativeRate = length(indexFN)/(length(indexFN)+length(indexTP))
       
        Accuracy
        Recall
        Precision
        FalsePostiveRate
        FalseNegativeRate
       
        table(predFlag, realFlag)
       
        rocobj <- roc(predFlag, realFlag)
        plot.roc(rocobj)
       

二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-7 09:10:16
        trainData4F <- inputdataTrain[which(inputdataTrain$FLAG==1),]
        trainData4G <- inputdataTrain[which(inputdataTrain$FLAG==0),]
        failNum <- nrow(trainData4F)
        goodNum <- nrow(trainData4G)
        gfRate  <- floor(goodNum/failNum)
       
        predTests <- matrix(0,nrow(inputdataTest),gfRate)
        predlast <- matrix(0,nrow(inputdataTest),gfRate)
        rowIndexs <- 1:nrow(trainData4G)
        set.seed(50)
        for(i in 1:(gfRate-1)){
                train <- NULL
                idxtemp <- sample(1:(goodNum-failNum*(i-1)),failNum,replace=FALSE)
                train <- rbind(trainData4G,trainData4F[rowIndexs[idxtemp],])
#                fit <- randomForest(FLAG~., data=train, distribution="bernoulli", importance=TRUE)
#                glm.model<-glm(FLAG~.,data=train,family=binomial(logit))
#                stepModel<- stepAIC(glm.model,direction="both")
#                rfpred[,i]<- glm.pred <- predict(stepModel,  newdata=inputdataTest,type="response")
                fit <- randomForest(FLAG~., data=train, distribution="bernoulli", importance=TRUE)
                predTests[,i] <- as.numeric(predict(fit,newdata=inputdataTest,type="response"))
                predTests[,i] <- predTests[,i]-1
                rowIndexs <- setdiff(rowIndexs,idxtemp)
        }
        predTests[,gfRate] <- inputdataTest$FLAG
        predlast[,1] <- inputdataTest$FLAG
       
        predlast[,2] <- apply(predTests, 1, mean)
#         for(b in 1:nrow(inputdataTest)){
#                predlast[b,2] <- mean(predTests[b,])
#        }
        #############Train the model for whole data set#################
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群