Machine Learning, gleiche ID aggregieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lambkin
User
Beiträge: 17
Registriert: Dienstag 22. Mai 2018, 08:29

Hi,

ich bräuchte mal ein paar Denkanstöße und würde mich über einen interessanten Austausch freuen. Ich versuche mich aktuell an einer Machine Learning Lösung.
Zunächst einmal hier beispielhaft ein Ausschnitt aus dem Dataframe.

row | Aufgabe | Abteilung | Unterabteilung | Kosten
0 | 1 | Abteilung 1 | Team 1 | Ja
1 | 1 | Abteilung 1 | Team 2 | Ja
2 | 1 | Abteilung 3 | Team 5 | Nein
3 | 2 | Abteilung 2 | Team 3| Ja
4 | 3 | Abteilung 1 | Team 1 | Ja
5 | 3 | Abteilung 3 | Team 1 | Ja

Info: Abteilung 1: Team 1 ist nicht identisch mit Abteilung 3 : Team 1. Alle Unterabteilungen sind also verschieden.

Die Abteilungen werden den Aufgaben bislang manuell zugeteilt. Ich möchte nun herausfinden, ob man voraussagen kann, welche Abteilungen + Unterabteilungen betroffen sein werden.

Ich habe mir überlegt, dass ich die Abteilungen aggregiere und die Unterabteilungen.. Ich weiß aber nicht, ob das dann nicht etwas Overkill ist, denn die Daten muss ich ja anschließend auch weiterbearbeiten. Also hätte ich ja ein DF wie folgt:

row | Aufgabe | Abteilung | Unterabteilung | Kosten
0 | 1 | Abteilung 1: Team 1, Team 2 ; Abteilung 3: Team 5 | Ja, Ja, Nein
1 | 2 | Abteilung 2: Team 3 | Ja
2 | 3| Abteilung 1: Team 1, Abteilung 3: Team 1 | Ja, Ja

und dann fängts ja schon an, wie kann ich die Daten nun weiterverwenden, gar nicht mal so schön....also wohl nicht so klug?
Aber welche Möglichkeiten hätte ich denn sonst? Habt ihr Tipps?
Auf jeden Fall muss ich ja eine Gesamtbetrachtung für jede Aufgabe (kann wie eine ID gesehen werden) hinbekommen?
Irgendwie steh ich da grad wohl aufm Schlauch....Oder ist es tatsächlich nicht so einfach :-)
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Hört sich prinzipiell nach einem Klassifikationsmodell per Logistic Regression an.
Woran willst du denn versuchen "vorherzusagen" welche Abt./Team "betroffen" ist?
Haben die Aufgaben nur Nummern oder gibt es da noch mehr Parameter, die interessant und bekannt sind? Was ist mit Kosten gemeint?
Haben die Teams spezifische Parameter die interessant wären, etc.
Ein entsprechendes ML Modell würdest du ja mit den vorhandenen Daten trainieren um dann eine Vorhersage mit unbekannten Daten zu treffen.
Im Moment sehe ich da aber nur einen Input, die Aufgabe und viele Zielklassen, die Abteilungen mit Teams.
Da braucht man mehr Input.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Eine Vorhersage ist dann möglich, wenn die Zuordnung in der Zukunft ähnlich verläuft wie in der Vergangenheit.
Um Ähnlichkeiten festzustellen brauchst du aber mehr Attribute. Ähnelt die Aufgabe 3 von morgen wirklich am meisten der Aufgabe 3 von gestern? Oder ist die Nummerierung der Aufgaben jedes mal neu und Aufgabe 3 von morgen ähnelt eher Aufgabe 7 von gestern?
a fool with a tool is still a fool, www.magben.de, YouTube
lambkin
User
Beiträge: 17
Registriert: Dienstag 22. Mai 2018, 08:29

Hi,

ja es gibt noch ein Haufen Input Parameter. Aber die Feature Auswahl möchte ich gar nicht zur Frage stellen, hier weiß ich was ich hinzuziehen kann. Meine Fragestellung war wohl aber auch nicht klar ausgedrückt.
Eigentlich geht es mir tatsächlich nur um das Target. Wie soll ich damit umgehen, dass mehrere Abteilungen als Output herauskommen können? Ich muss die Daten ja vorher entsprechend bereinigen und da dachte ich eben an aggregieren, aber scheint mir auch nicht überzeugend.
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Nun, das musst du für dich herausfinden.
Du kannst zuerst die Teams in die Abteilungen aggregieren und schauen wie es läuft
und dann alle Teams als separate Targets trainieren.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Antworten