所以我有一个训练数据集是这样的(但更大):监督学习随机森林通过
Group PID Var1 Var2 Best
0 111 1 1 1 1
1 111 2 2 1 2
2 111 3 1 2 2
3 112 1 1 2 2
4 112 2 2 1 1
5 113 1 1 2 2
6 113 2 1 1 2
7 113 3 2 1 1
8 113 4 3 2 2
其中每个组(即共享一组数列)中包含的人的名单(每个唯一每个组中的PID)以及组中的一个人,其中Best = 1,其余的最佳= 2。我的目标是使用这个训练数据预测每个组中哪个人是最好的(Best = 1),基于Var1和Var2。
我玩过Scikit学习,并尝试使用随机森林模型来预测最佳测试数据,但它不考虑组,并且可以为每组多于一个PID分配Best = 1。
我想知道如何训练/运行模型,以便学习为每个组分配一个Best = 1,而不是跨所有行和组分配它。指向我的方向有用的资源将是一样好,因为我不完全确定去哪里寻求帮助。
因为你的特点是'Var1'&'Var2',它会尝试从这些预测'Best'两列。它会独立预测每个样本,因此可能导致同一组中的许多样本。 – MMF
好吧,我会尝试添加组和PID到功能,并看看是否会产生所需的结果。谢谢! – Nizag
恐怕不会更好。你应该使用'OneHotEncoder'来编码特征'Group',否则它会排列它们之间的组,它确实意味着什么。为什么组111应该比组112更不重要(仅仅是因为111 <112') – MMF