R 如何将输出设置为是或否,而不是阈值?
我已经写了我的逻辑,并且我也得到了以thershold值形式的输出。但我需要的是或不是的形式。我用于预测的dataset属性也是Yes/No。但它仍然抛出了阈值。是->危险人员否->安全人员 这是我的服务器代码R 如何将输出设置为是或否,而不是阈值?,r,shiny,random-forest,prediction,R,Shiny,Random Forest,Prediction,我已经写了我的逻辑,并且我也得到了以thershold值形式的输出。但我需要的是或不是的形式。我用于预测的dataset属性也是Yes/No。但它仍然抛出了阈值。是->危险人员否->安全人员 这是我的服务器代码 credfraudframe <- data.frame(credfrauddata$Credit.Score,credfrauddata$Annual.Income,credfrauddata$Current.Loan.Amount,credfrauddata$Number.of
credfraudframe <- data.frame(credfrauddata$Credit.Score,credfrauddata$Annual.Income,credfrauddata$Current.Loan.Amount,credfrauddata$Number.of.Open.Accounts,credfrauddata$Current.Credit.Balance,credfrauddata$Maximum.Open.Credit,credfrauddata$Bankruptcies)
credfraudfit <- randomForest(Bankruptcies ~ Credit.Score+Annual.Income+Current.Loan.Amount+Number.Of.Open.Accounts+Current.Credit.Balance+Maximum.Open.Credit,
data=credfraudframe,na.action = na.roughfix)
cred_reactive1 <- eventReactive(input$eligibility,{
usercredcs <- input$uicscred
})
cred_reactive2 <- eventReactive(input$eligibility,{
userannualinc <- input$uiannualincome
})
cred_reactive3 <- eventReactive(input$eligibility,{
userlamt <- input$uilamt
})
cred_reactive4 <- eventReactive(input$eligibility,{
usernoopenacc <- input$uiopenacc
})
cred_reactive5 <- eventReactive(input$eligibility,{
usercurrcredbal <- input$uicurrcredbal
})
cred_reactive6 <- eventReactive(input$eligibility,{
usermaxopencred <- input$uiopencred
})
credfraudrv <- reactiveValues(usercredcs = NULL,
userannualinc = NULL,
userlamt = NULL,
usernoopenacc = NULL,
usercurrcredbal = NULL,
usermaxopencred = NULL)
observeEvent(input$eligibility,{
req(input$uicscred, input$uiannualincome, input$uilamt, input$uiopenacc,input$uicurrcredbal,input$uiopencred)
credfraudrv$usercredcs <- input$uicscred
credfraudrv$userannualinc <- input$uiannualincome
credfraudrv$userlamt <- input$uilamt
credfraudrv$usernoopenacc <- input$uiopenacc
credfraudrv$usercurrcredbal <- input$uicurrcredbal
credfraudrv$usermaxopencred <- input$uiopencred
}
)
credfraudpred <-reactive({
predict(credfraudfit,
newdata=data.frame(Credit.Score=credfraudrv$usercredcs,
Annual.Income=credfraudrv$userannualinc,
Current.Loan.Amount=credfraudrv$userlamt,
Number.Of.Open.Accounts=credfraudrv$usernoopenacc,
Current.Credit.Balance =credfraudrv$usercurrcredbal,
Maximum.Open.Credit=credfraudrv$usermaxopencred))
})
output$text2 <- renderText({
paste("Is this Customer Risky ",credfraudpred())
})
credfraudframe在此代码之前,您需要指定哪些条件有风险,哪些条件没有风险:
output$text2 <- renderText({
paste("Is this Customer Risky ",credfraudpred())
})
然后,您可以更改代码,将credfraudpred
替换为credfraudlabel
:
output$text2 <- renderText({
paste("Is this Customer Risky: ",credfraudlabel)
})
output$text2判断一个人是否有风险的阈值是多少?你需要自己决定。predict函数返回概率。我认为预测值不能大于1。我只是以1为例-必须有一个区分风险和非风险的阈值,这应该在代码中使用。是的,但概率不能超过1。所以最好将其更改为0.1或0到0.999之间的任何值。。。“作为一个更好的例子”。)可能添加():如果credfraudpred()>1{
但是请阅读我的评论。超级酷..非常感谢你们两位的代码。它给了我想要的输出..非常感谢你们及时的帮助。。
output$text2 <- renderText({
paste("Is this Customer Risky: ",credfraudlabel)
})