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