How to get output as Yes or No instead of Thershold values?

Viewed 60

I have written my logic and I am also getting the Output in the form of thershold values . But I need it in the form of Yes Or No . The dataset attribute which I am using for prediction is also Yes/No .But still it throws Thershold values. Yes -> Risky Person No -> Safe Person This is my server code.

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

I have used my "Output" variable as Bankruptcies Which is also in the character format(Yes or no)enter image description here

When I submit to check eligibility It is throwing some thershold values as output enter image description here

This is what I am getting .. I need it as Yes -> The Customer is a risky person No -> The customer is a Safe Person Please help me solve this issue . In which part I have to edit my code to get the desired Format(Yes/ No)

1 Answers

Before this code, you need to specify your conditions for what is risky and what is not risky:

  output$text2 <- renderText({
    paste("Is this Customer Risky ",credfraudpred())
  })

For example, before this code, you might put:

if credfraudpred() > 0.1 {
credfraudlabel = 'Yes, the customer is a risky person'
} else {
credfraudlabel = 'No, the customer is not a risky person'
}

Then, you could alter your code to replace credfraudpred with credfraudlabel:

  output$text2 <- renderText({
    paste("Is this Customer Risky: ",credfraudlabel)
  })
Related