【问题标题】:Creating a confusion matrix for multiclass classification in keras using R使用 R 在 keras 中为多类分类创建混淆矩阵
【发布时间】:2021-10-30 00:54:24
【问题描述】:

我正在使用 Keras 在 R 中为多类文本分类运行双向 LSTM。我已经运行了我的模型,我需要创建一个混淆矩阵。我尝试使用 predict_classes() 但我的 RStudio 抛出了一个错误,即 predict_classes() 已被弃用。我尝试使用在 RStudio Keras 网站上找到的这段代码:

prediction1 <- model %>% 
  predict(x.test)  %>% 
  k_argmax(axis = -1)

注意:x.test 是我的包含文本特征的矩阵。

我不知道如何使用它 + 我还没有找到任何在线使用它的示例,所以我很困惑。任何人都可以提供任何帮助,我将不胜感激!

谢谢

【问题讨论】:

    标签: r tensorflow keras


    【解决方案1】:

    您可以使用'caret' 库来实现。

    #Install required packages
    install.packages('caret')
     
    #Import required library
    library(caret)
     
    #Creates vectors having data points
    expected_value <- factor(c(1,0,1,0,1,1,1,0,0,1))
    predicted_value <- factor(c(1,0,0,1,1,1,0,0,0,1))
     
    #Creating confusion matrix
    example <- confusionMatrix(data=predicted_value, reference = expected_value)
     
    #Display results 
    example
    

    或者table函数:

    pred <- model %>% predict(x_test, batch_size = batch_size)
    y_pred = round(pred)
    # Confusion matrix
    confusion_matrix = table(y_pred, y_test)
    

    对于“插入符号”示例:

    https://www.journaldev.com/46732/confusion-matrix-in-r

    【讨论】:

    • 感谢您的建议。我尝试了提到的方法,但它给了我一个只有 0 和 1 的二进制混淆矩阵。我有 7 个不同的级别,所以我不确定如何实现这一目标
    • 在这个这里:stackoverflow.com/questions/25497398/…,我可以看到 OP 也转换了多类分类。
    • 不同之处在于,每个矩阵中没有声明“FP”或“FN”,但您可以像这样推断它们(主对角线上方是 FP,主对角线下方是 FN) /
    • 第二个带表的方法应该更容易。
    • 我现在就要试试!我会更新你的!!
    猜你喜欢
    • 2019-05-26
    • 2014-10-19
    • 2020-01-18
    • 2019-01-05
    • 2021-03-25
    • 2018-10-21
    • 2017-08-20
    • 2021-11-11
    • 1970-01-01
    相关资源
    最近更新 更多