我正在尝试构建一个分类器,用于为项目 i 选择一个评级(1-5)。对于每个项目 i,我有一个包含大约40个与 i 相关的不同数量的向量 x。我还为每个项目准备了一个黄金标准评级。基于 x 的某个函数,我希望训练一个分类器,使其给出的1-5评级与黄金标准密切匹配。
我看到的大多数关于分类器的信息都只涉及二元决策,而我需要处理的是评级决策。是否有常见的技术或代码库可以处理这种类型的问题?
回答:
我同意你的观点,响应变量在序数尺度上的机器学习问题需要特殊处理——“机器模式”(即返回类别标签)似乎不足,因为类别标签忽略了标签之间的关系(“第一、第二、第三”);同样,“回归模式”(即将序数标签视为浮点数,{1, 2, 3})也不足,因为它忽略了响应变量之间的度量距离(例如,3 – 2 != 1)。
R 语言中有(至少)几个针对序数回归的包。其中一个实际上就叫 Ordinal,但我没有使用过。我使用过 R 语言中的 Design 包进行序数回归,我可以肯定地推荐它。Design 包含了一套完整的函数,用于通过 Ordinal Logistic Model 解决、诊断、测试和呈现序数回归问题的结果。这两个包都可以在 CRAN 上找到。UCLA 统计网站上展示了一个使用 Design 包解决序数回归问题的逐步解决方案。
此外,我最近查看了雅虎一个团队关于使用支持向量机进行序数分类的论文。我还没有尝试应用他们的技术。