So habe ich ein Trainingsdaten wie folgt festgelegt (aber viel größer):Learning Zufalls Wald von Gruppe Betreute
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
Wo jede Gruppe (Zeilen, die eine Gruppennummer teilen) enthält eine Liste von Personen (jede eindeutige PID innerhalb jeder Gruppe), und eine Person innerhalb der Gruppe mit Best = 1 und der Rest mit Best = 2. Mein Ziel ist es, anhand dieser Trainingsdaten vorherzusagen, welche Person in jeder Gruppe die beste (Best = 1) basierend auf Var1 ist und Var2.
Ich habe mit Scikit lernen gespielt und versucht, das zufällige Waldmodell zu verwenden, um Best für die Testdaten vorherzusagen, aber es berücksichtigt nicht die Gruppen und kann Best = 1 für mehr als eine PID pro Gruppe zuweisen.
Ich frage mich, wie man das Modell trainieren/laufen lässt, so dass es lernt, ein einzelnes Best = 1 pro Gruppe zuzuweisen, anstatt es über alle Zeilen und Gruppen hinweg zuzuordnen. Es wäre genauso gut, mich in Richtung hilfreicher Ressourcen zu führen, denn ich bin mir nicht sicher, wo ich Hilfe suchen soll.
Da Ihre Funktionen sind 'Var1' &' Var2', wird es versuchen 'Best' von diesen vorherzusagen zwei Spalten. Es wird jede Probe unabhängig voraussagen und kann daher viele in derselben Gruppe ergeben. – MMF
Ok, ich werde versuchen, Group und PID zu den Features hinzuzufügen und zu sehen, ob das die gewünschten Ergebnisse liefert. Vielen Dank! – Nizag
Ich fürchte, es wird nicht besser. Sie sollten 'OneHotEncoder' verwenden, um das Feature' Group' zu codieren, sonst wird es die Gruppen zwischen ihnen ordnen und es bedeutet alles. Warum sollte Gruppe '111' weniger wichtig sein als Gruppe' 112' (nur weil '111 <112') – MMF