我们学生会会组织一场歌唱比赛,我校的每个人都可以通过点击网站上歌手的照片来选择他/她最喜欢的歌手,然后学生投票(点击照片)结合 10 位音乐专业人士的投票(每位评委只能对一名选手投“喜欢”或“不喜欢”),最终选出今年最有价值歌手。
问:如果我现在知道每个参赛者的点击率(1+ - 40,000+)和评委评分(0 - 10),那我可以选择哪种方式?(最好使用 Python 描述算法)
任何想法将不胜感激!
我们学生会会组织一场歌唱比赛,我校的每个人都可以通过点击网站上歌手的照片来选择他/她最喜欢的歌手,然后学生投票(点击照片)结合 10 位音乐专业人士的投票(每位评委只能对一名选手投“喜欢”或“不喜欢”),最终选出今年最有价值歌手。
问:如果我现在知道每个参赛者的点击率(1+ - 40,000+)和评委评分(0 - 10),那我可以选择哪种方式?(最好使用 Python 描述算法)
任何想法将不胜感激!
首先将两个特征标准化为相同的比例,简单的方法是标准化为 [0,1] 区间1:
students_score = (throughput-1)/40000.0
judge_score = judge/10.0
现在你有两个归一化分数,你需要决定每个分数的权重,并用它们的线性组合进行评估:
final_score = a * students_score + b * judge_score
a,b
您可以在哪里调整参数,以及students_score ,judge_score
上面计算的标准化结果
您也可以a,b
使用线性回归选择最优值- 如果您愿意手动为参赛者样本打分
(1)有时最好用动态的东西来规范化,max { throughputfor all }
例如,而不是硬绝对超级限制(在你的情况下为 40000)