• R语言已解决
  • 求助:predict函数返回预测的概率,如何转换为具体的预测结果(0或1)?

以鸢尾花数据集前100行为例,是一个二分类的结局,建立sepal.length对species的线性回归模型:

mod <- glm(Species~Sepal.Length,data = iris[1:100,],family = 'binomial')
pred <- predict(mod,newdata = iris[1:100,],type = 'response')

返回的结果:(显示一部分)

1 2 3 4
0.165793673 0.066371931 0.024798254 0.014980608
5 6 7 8
0.106236800 0.481599353 0.014980608 0.106236800
9 10 11 12
0.005410589 0.066371931 0.481599353 0.040783566

应该怎么操作,才能让这些0.几几的概率值,变成0或者1,或者“setosa""versicolor"这样具体的结果呢?
如果用if_else(v>0.5,'setosa','versicolor')这样感觉好傻

    hagiaatcos 首先要理解二项广义线性回归模型是对概率建模,返回的结果就是概率,至于阈值卡多少,认为是类别 1 或类别 2,你自己看着定。