我有4类二进制分类模型。该模型可以识别特定学生适合的班级。
例如,我们有user 1和4个类的推荐模型。
模型确定了这个用户希望如何对待它的类。
通过阅读user 1的S个人资料(特写),模型A,B,C,D预测每个类别的适应度。二元分类阈值均为50%。
model A:77%,真实值model B:65%,真实model C:33%,假model D:88%,真实在此基础上,系统将类A, B, and C推荐给user 1。
然而,模型的性能各不相同。每种模型都有不同的F1评分,例如model A:77%,model B:64%,model C:81%,model D:55%。
如何根据模型的F1评分,合理地度量每个推荐分数?
I also had thought that some recommender system might works, however recommendation algorithms were limit to utilize user's profile.
发布于 2021-06-04 02:50:43
我搜集了一些关于这个问题的资料。就像这个叫做,Multilabel Classification的问题。与多类分类不同,多标签分类对包括both 1s'或all zeros在内的标签进行分类。
您可以从sklearn:https://scikit-learn.org/stable/modules/multiclass.html中引用这些想法。
发布于 2021-06-03 07:29:49
这四种模式正在解决不同的问题。因此,似乎不应该将这些模型与自身进行比较。
例如,如果您有3个不同的模型来对A类进行分类,那么您可以比较这些模型,因为它们都试图解决相同的问题。
比较模型A、B、C和D是很困难的,因为它们有不同的训练样本,而且从本质上讲,情况可能比较困难。例如,假设A班是“初学者的英语”,B班是“高级数据科学”,那么学生的国籍也许有助于预测A班,但学生过去的课程对B的预测是必要的,所以,也许A的分数>90%很容易,因为你掌握了所有的信息,但是B的分数超过90%是非常困难的。最后,如果model_A的得分为87.32%,model_B的得分为84.15%,那么谁认为model_A更好呢?我们不能这样做,因为他们解决的问题是不同的。
另一方面,如果您有解决相同问题的model_A1、model_A2和model_A3,则可以将它们与相同的测试集进行比较。
另一种看待你的问题的方法,是作为一个单一的问题。
虽然您有像model_A、model_B、model_C和model_D这样的小模型,但是它们可以组合成一个模型。
您可以获取每个模型的结果并创建一个最终的输出向量(例如[1,1,0,1]),这意味着推荐A、B和D。
然后使用这个结果给出整个系统的分数。
您仍然可以使用个人分数来查看微调的位置,但也许需要报告整个系统的得分。
https://datascience.stackexchange.com/questions/95205
复制相似问题