我有一群学生,让他们完成了一份“个性测试”。个性测试基本上是让他们对一些不同的特质(如内向性、专注能力等)进行1到10的自我评分。
然后学生们被分成小组,并完成了一些小组作业。我接着让他们做另一个测试,反思他们在作业中的表现——比如小组的合作情况、作业的得分、分歧的程度、专注能力等,同样是1到10的评分。
现在我有一批新学生,让他们完成了我给第一批学生的相同个性测试。
我想现在创建一个机器学习算法,并使用从第一批学生那里获得的个性和表现数据进行训练。我希望它能够根据新学生的个性测试结果,将他们分组,以最大化小组的表现。
换句话说,我有一组学生,我测量了他们的个性和我在组中安排的表现。现在我有一组新学生,希望有一个机器学习算法可以从原始学生数据中学习,并将新学生分组,使他们的个性能够协同工作以最大化表现。
请问有人能指导我正确的方向吗?我完全没有机器学习的经验,所以不知道该使用什么。
回答:
首先,正如评论中提到的,这在本站是偏离主题的。但我还是想回答这个问题。
现在,你进行的整个实验可能存在一些可能有问题的偏见。我不提供参考资料,因为我愿意花时间(你应该自己找到这些点的参考资料):
- 人们对与小组相关的表现评分更乐观
- 自组的小组有时具有社会联系,这会影响表现
- 对工作的自我评估可能与对输出的整体评估不相关
- 不同的任务(在你的案例中是课程)需要不同类型的合作。因此,你的算法很可能只适用于一个课程,如果它能工作的话。
现在你还没有定义以下内容:
- 每个小组的表现指标
- 基于一组小组训练的模型的优良度指标
- 小组的大小(统一或变化)
- 小组的数量(预先指定的数量或变化)
一般来说,你可以对你的数据集进行N次交叉验证,使用大多数模型。在你的案例中,这很可能是基于所有可能的学生分组组合计算的表现指标的优化问题。这将是计算上昂贵的,并且如果不设计一个贪婪算法,将完全不具备可扩展性。
我在这里就停了。现在轮到你做一些工作了。