微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

polr 的预测值仅生成一小部分响应值

如何解决polr 的预测值仅生成一小部分响应值

我想为一些有序分类响应数据创建一个模型,其值从 0 到 10,有 3 个预测变量是分类和数字。因此,我正在使用函数 MASS::polr。这是一个虚拟示例:

data <- data.frame(response = factor(sample.int(11,size = 300,replace = TRUE),levels = c("1","2","3","4","5","6","7","8","9","10","11"),ordered = TRUE),gender = rep(0:1,300),pred2 = sample.int(11,age = rpois(300,30))

问题是,当我使用类型为“class”的预测函数并将预测数据与实际结果进行比较时,模型似乎只考虑了响应变量中的一些值,特别是培训中最常见的:

index <- createDataPartition(data$response,p = 0.7,list = FALSE)

dummy_train <- data[index,]
dummy_test <- data[-index,]

> table(dummy_train$response)
  1  2  3  4  5  6  7  8  9 10 11 
 37 31 48 21 66 37 31 35 45 30 42
model_polr <- polr(response ~ gender + pred2 + age,data = dummy_train,Hess = TRUE)
predict_polr <- predict(model_polr,newdata = dummy_test,type = "class")

> summary(predict_polr)
  1   2   3   4   5   6   7   8   9  10  11 
  0   0   0   0 177   0   0   0   0   0   0 

我有点迷茫,因为我看到这些是概率最高的结果,但我没有看到这种类型的预测有任何效用。我在设置预测数据的过程中是否遗漏了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?