Как получить вывод как Да или Нет вместо значений Thershold? - PullRequest
2 голосов
/ 03 марта 2020

Я написал свою логику c, и я также получаю Вывод в виде значений удержания. Но мне это нужно в форме Да или Нет. Атрибут набора данных, который я использую для прогнозирования, также имеет значение Да / Нет. Но все равно он выбрасывает значения Thershold. Да -> Рискованное лицо Нет -> Безопасное лицо Это код моего сервера.

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

Я использовал свою переменную «Выход» в качестве банкротств, которая также имеет формат символов (да или нет) enter image description here

Когда я отправляю в проверить соответствие Это выводит некоторые значения thershold как вывод enter image description here

Это то, что я получаю .. Мне нужно это как Да -> Клиент - рискованный человек Нет -> Клиент - безопасный человек Пожалуйста, помогите мне решить эту проблему. В какой части я должен отредактировать свой код, чтобы получить желаемый формат (да / нет)

1 Ответ

3 голосов
/ 03 марта 2020

Перед этим кодом вам нужно указать свои условия для того, что рискованно, а что нет:

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

Например, перед этим кодом вы можете поставить:

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

Затем вы можете изменить свой код, чтобы заменить credfraudpred на credfraudlabel:

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