What's an algorithm to solve this?

So I essentially had a bunch of students, and had them complete a "personality quiz". The personality quiz basically consisted of them rating themselves on a 1-10 scale for a number of different traits (ie introversion, ability to focus etc.)

The students were then put into groups and were made to do a couple of group assignments. I then made them do another quiz where they basically reflected on their performance on the assignments - things like how well the group got together, their mark on the assignments, how much disagreement they had, how well they were able to focus, etc. All on a 1-10 scale.

I now have a new set of students and made them complete the same personality quiz I gave to the first set of students.

I want to now make a machine learning algorithm and train it using the personality and performance data I got from the first set of students. I want it to now be able to group the new set of students using their personality quiz results so that the performance of the groups is maximized.

In other words, I had a set of students and I measured their personality and performance in groups I made up. I now have a new set of students and want a machine learning algorithm to learn from the original set of students' data and put the new students into groups so that their personalities work together to maximize performance.

Could someone point me in the right direction please? I have no experience in machine learning whatsoever and so have no idea what to use.


First, as the comments mentioned, this is off topic for this site. But I am answering because I want to.

Now, the whole experiment you are doing is subject to some bias that may be problematic. I am not putting out reference because I am willing to spend time (you should find your own references for these points):

  • People rate group-related performance more optimistically
  • Self-formed groups sometimes inherent social ties, which affects performance
  • Self-accessment of work may not correlate with global evaluation of the output
  • Different tasks (classes in your case) requires different kinds of collaborations. Hence your algorithm will very likely work only for one class, if it works at all.
  • Now you have not define the following:

  • Metric of performance for each group
  • Metric of goodness for your model trained on a set of groups
  • Size of groups (uniform or variant)
  • Number of groups ( a pre-specified number or variant)
  • In general, you can do N cross-folding on your dataset using most models. In your case it is likely to be an optimization problem of goodness metric, calculated from combination of performances of groups, on all possible partitioning of students. It will be computationally expensive and not scalable at all if you don't devise a greedy algorithm.

    I will leave you here. Now it's your time to do some work.

    链接地址: http://www.djcxy.com/p/40196.html

    上一篇: 我如何从4名牌手之间的9张牌中找到最高的牌手?

    下一篇: 什么是算法来解决这个问题?