我正在尝试为我的二进制逻辑回归创建混淆矩阵:
LogModel_support <- glm(support_D ~ owner.n + age.n + gender, data = df.no_missings, family = "binomial")
我尝试过:
confusion_matrix(LogModel_support)
(软件包regclass)
,我得到一个混乱矩阵。 但是考虑到我之前做过的线性模型,矩阵中的数字在实际预测和模型预测方面应该完全相反。
因此,我试图借助另一个函数confusionMatrix()(软件包插入符号)来获得混淆矩阵。 但是,在使用该功能之前,必须在这里定义一些方面:
p<-predict(LogModel_support, df.no_missings$support_D, type = "response")
> summary(p)
> p_class<-ifelse(p>0.5,"owner","no_owner")
> table(p_class)
在这里我获得了owner.n变量的数量
> table(p_class,df.no_missings[["support_D"]])
最后,我尝试创建矩阵:
> confusionMatrix(p_class,df.no_missings[["support_D"]])
但是我得到了错误:
错误:data
和reference
应该是具有相同水平的因子。
我知道目前p_class的级别为0,support_D的级别为2,但是我不知道如何更改变量,以致混淆表最终将向我显示“实际的低支持”而不是“模型”低支持”和“实际高支持”相比,“模型高支持”。
我对R还是很陌生,已经读了很多书,但是现在就被卡住了,所以我真的希望有人能帮助我。