R 如何将输出设置为是或否,而不是阈值?

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

我已经写了我的逻辑,并且我也得到了以thershold值形式的输出。但我需要的是或不是的形式。我用于预测的dataset属性也是Yes/No。但它仍然抛出了阈值。是->危险人员否->安全人员 这是我的服务器代码

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)
  })