weixin_62936205 2022-12-28 10:09 采纳率: 100%
浏览 13
已结题

r语言分类器性能指标

rm(list = ls())
library(dplyr)

新建两列,分别是sepal的长款比(sepal_ratio)和

petal的长宽比(petal_ratio)

df <-read.csv("/data/bigfiles/iris.csv")

我们可以发现Iris-setosa的sepal_ratio值最小,所以可以通过设置一个

sepal_ratio的阈值来把Iris-setosa辨识出来

也就是说,我们此时有一个极简分类器(决策树桩)

只要sepal_ratio小于这个阈值,就将样本预测为Iris-setosa

设置阈值为1.9

thres <- 1.9

使用filter,nrow函数,求整个样本集中的Iris-setosa的个数

n_setosa_all <- df %>%

根据这个阈值thres正确识别出来的Iris-setosa的个数

正确识别的意思就是,它真的是Iris-setosa,并且模型也认为它是Iris-setosa

所谓的模型就是sepal_ratio小于thres即预测为Iris-setosa

n_setosa_hit <-
df %>%

求True positive rate (TPR)

TPR就是检测出来的真阳性(这里的阳就是Iris-setosa)样本数除以

所有真实阳性样本数

tpr <-

求我们根据这个阈值thres错误识别为Iris-setosa的个数(假阳性个数)

n_false_alarm <- df %>%

求False positive rate (FPR)

FPR的含义是检测出来的假阳性样本数除以所有真实阴性样本数。

fpr <-
print(paste(round(tpr, 2), round(fpr, 2)))

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-28 10:24
    关注

    完整的代码如下,望采纳

    # 清空环境中的对象列表
    rm(list = ls())
    
    # 加载 dplyr 包
    library(dplyr)
    
    # 读取 iris 数据集
    df <- read.csv("/data/bigfiles/iris.csv")
    
    # 计算花萼和花瓣的长宽比
    df <- df %>%
      # 在数据集中添加两列:花萼长宽比和花瓣长宽比
      mutate(sepal_ratio = Sepal.Length / Sepal.Width,
             petal_ratio = Petal.Length / Petal.Width)
    
    # 设置花萼长宽比的阈值
    thres <- 1.9
    
    # 计算数据集中 Iris-setosa 的个数
    n_setosa_all <- df %>%
      # 筛选出种类为 Iris-setosa 的样本
      filter(Species == "Iris-setosa") %>%
      # 计算样本数
      nrow
    
    # 计算正确识别的 Iris-setosa 的个数
    n_setosa_hit <- df %>%
      # 筛选出种类为 Iris-setosa 且花萼长宽比小于阈值的样本
      filter(Species == "Iris-setosa", sepal_ratio < thres) %>%
      # 计算样本数
      nrow
    
    # 计算真阳性率
    tpr <- n_setosa_hit / n_setosa_all
    
    # 计算假阳性的个数
    n_false_alarm <- df %>%
      # 筛选出种类不是 Iris-setosa 且花萼长宽比小于阈值的样本
      filter(Species != "Iris-setosa", sepal_ratio < thres) %>%
      # 计算样本数
      nrow
    
    # 计算假阳性率
    fpr <- n_false_alarm / (nrow(df) - n_setosa_all)
    
    # 输出结果
    print(paste(round(tpr, 2), round(fpr, 2)))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月28日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度