如何计算Caret中glm二项模型的精度?

时间:2018-06-07 04:47:33

标签: r r-caret glm

我在插入符号中训练glm二项式模型进行欺诈分类(0表示非欺诈,1表示欺诈):

model.lr <- train(fraud_ind ~ var1 + var2 + var3,
                  data = d_train, method = 'glm', family = 'binomial', trControl=tr_ctrl

我看到模型输出:

> model.lr
Generalized Linear Model 

90826 samples
    3 predictors
    2 classes: '0', '1' 

No pre-processing
Resampling: Cross-Validated (15 fold, repeated 5 times) 
Summary of sample sizes: 84772, 84771, 84770, 84772, 84771, 84770, ... 
Resampling results:

  Accuracy  Kappa   
  0.866818  0.733636

我认为准确性必须与某个阈值相关,但模型没有显示它用于分类的阈值。知道这种准确性究竟是如何基于的吗?

1 个答案:

答案 0 :(得分:0)

跟进:

在我发布问题之后,我通过比较预测的概率和分类结果做了一些详细的分析。

  

u = predict(model.lr,d_train,type =&#39; raw&#39;)

     

v = predict(model.lr,d_train,type =&#39; prob&#39;)

     

w&lt; - data.frame(u,v)

     

查看(w)的

enter image description here

在图片中,X1是预测的欺诈概率,而X0是&#39;非欺诈的概率&#39;。第一列U是二进制分类结果。我们可以清楚地看到截止值为0.5。