R语言 使用Caret包可视化混淆矩阵

R语言 使用Caret包可视化混淆矩阵

在这篇文章中,我们将使用R编程语言中的Caret包来实现混淆矩阵的可视化。

混淆矩阵是一种类型的矩阵,用于可视化预测值和实际值。混淆矩阵中的行头代表预测值,列头用来代表实际值。混淆矩阵包含四个单元,如下图所示。

使用R中的Caret包可视化混淆矩阵

混淆矩阵

  1. 真负值 - 表示有多少负值被模型预测为负值。

  2. 假阳性 - 表明有多少负值被模型预测为阳性值。

  3. 假阴性 - 表示有多少正值被模型预测为负值。

  4. 真阳性 - 表明有多少阳性值被模型预测为阳性。

confusionMatrix()函数

在R编程中,混淆矩阵可以通过caret包中的confusionMatrix()函数来实现可视化。

语法: confusionMatrix(data, reference, positive = NULL, dnn = c(“Prediction”, “Reference”)

其中

  • data 预测类的一个因子。
  • reference 一个作为真实结果的类的因子。
  • positive(可选) -- 一个可选的因子级别的字符串。
  • dnn(可选) 表的dimnames的一个字符向量。

使用confusionMatrix()函数在R中可视化混淆矩阵。

第1步: 首先我们需要安装和加载所需的软件包。在R中运行以下命令来安装 “caret “包。

# Install the required package
install.packages("caret")

第2步:接下来我们需要初始化我们的预测和实际数据。在我们的例子中,我们将使用两个因子来代表预测值和实际值。

# Load the installed package
library(caret)
 
# Initialization of Sample factors
# of predicted and actual values
pred_values <- factor(c(TRUE,FALSE,
       FALSE,TRUE,FALSE,TRUE,FALSE))
actual_values<- factor(c(FALSE,FALSE,
          TRUE,TRUE,FALSE,TRUE,TRUE))

第3步: 随后使用caret包的confusionMatrix(),我们将找到并可视化混淆矩阵。

# Confusion Matrix
cf <- caret::confusionMatrix(data=pred_values,
                     reference=actual_values)
print(cf)

解释: 运行上述代码后,我们将得到以下混淆矩阵的输出,利用它我们可以直观地看到预测值和实际值的数据,我们可以看到输出中有两个 “真阳性”、”真阴性”、”假阴性 “和一个 “假阴性”。正如我们在 “pred_values “和 “actual_values “的数据框中给出的那样。

输出

使用R中的Caret包可视化混淆矩阵

混淆矩阵输出

使用fourfoldplot()函数将混淆矩阵可视化。

混淆矩阵也可以使用R中内置的fourfoldplot()函数来绘制。fourfoldplot()函数只接受数组类型的对象,但在默认情况下,caret包将产生一个矩阵类型的混淆矩阵。因此,我们需要使用as.table()函数将矩阵转换为表格。

语法:fourfoldplot(x,color,main)

其中

  • x – 大小为2X2的数组或表格
  • color – 长度为2的向量,指定对角线的颜色
  • main – 要添加到四折图中的标题
# Visualizing Confusion Matrix
fourfoldplot(as.table(cf),color=c("green","red"),main = "Confusion Matrix")

输出

使用R中的Caret包可视化混淆矩阵

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程