R语言 在一个闪亮的应用程序中以有序列表的形式打印概率

von4xj4u  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(96)

我尝试在一段闪亮的代码中使用下面的块来打印xgboost模型预测的每个类,以及它们各自的预测概率。

output$variableValues <- renderPrint({
  pred_probabilities <- as.data.frame(predict(model, new_data, type = "prob"))
  print(pred_probabilities)
})

输出如下所示:

.pred_1 .pred_2 .pred_3 .pred_4 .pred_5
1  0.1136476 0.1755307 0.1819535 0.08851632 0.05145776

有没有办法把这个预测打印在一个有序的列表中?

wj8zmpe1

wj8zmpe11#

好了,我更改了MyViewEvent函数,将数据集转换为一个嵌套框架,然后使用了type= prob的predict函数。然后我转置了X轴和Y轴,就像下面的代码:

observeEvent(input$printButton, {
  new_data <- data.frame(
    age = as.numeric(input$age),
    weight = as.numeric(input$weight),
    height = as.numeric(input$height),
    Tclass = NA
  )
   pred_probabilities_transposed <- t(pred_probabilities)
   class_names_df <- data.frame(Class = rownames(pred_probabilities_transposed))
   pred_probabilities_with_names <- cbind(class_names_df, pred_probabilities_transposed)
   colnames(pred_probabilities_with_names) <- c("Class", "Probability")
   pred_probabilities_with_names <- pred_probabilities_with_names %>%
     arrange(desc(Probability)) 
 
   output$variableValues <- renderTable({
     pred_probabilities_with_names
   }, rownames = FALSE)
})

相关问题