Arbeiten mit Entscheidungsbäumen

8

Ich weiß tl; dr;

Ich werde versuchen, mein Problem zu erklären, ohne dich mit massenhaftem Code zu belästigen. Ich arbeite an einem Schulauftrag. Wir haben Bilder von Schlümpfen und wir müssen sie mit einer Hintergrundanalyse im Vordergrund finden. Ich habe einen Entscheidungsbaum in Java, der alle Daten (HSV-Histogramme) 1 einen einzigen Knoten hat. Dann wird versucht, das beste Attribut (aus den Histogrammdaten) zu finden, um den Baum zu teilen. Führt dann die Aufteilung aus und erstellt einen linken und einen rechten Unterbaum mit den Daten, die über beide Knotenbäume verteilt sind. Alle Daten werden immer noch im Hauptbaum gespeichert, um den Gini-Index berechnen zu können.

Nach 26 Minuten Analyse der Schlümpfe hat mein PC einen riesigen Baum mit Splits und anderen Daten. Jetzt ist meine Frage, kann mir jemand eine globale Idee geben, wie man ein neues Bild analysiert und bestimmt, welche Pixel "Smurf Pixel" sein könnten. Ich weiß, dass ich ein neues Array von Datenpunkten mit den HSV-Histogrammen des neuen Smurf erzeugen muss, und dann muss ich den generierten Baum verwenden, um zu bestimmen, welche Pixel zu einem Smurf gehören.

Kann mir jemand einen Hinweis geben, wie das geht?

Einige zusätzliche Informationen.
Jedes Decision Tree-Objekt hat ein Split-Objekt, das das beste Attribut zum Aufteilen, den Wert zum Aufteilen und einen Gini-Index hat.

Wenn ich zusätzliche Informationen bereitstellen muss, würde ich es gerne hören.

    
TFennis 13.02.2011, 11:35
quelle

1 Antwort

2

OK. Grundsätzlich im nicht optimierten Pseudocode: Um Pixel in einem neuen Bild zu kennzeichnen:

Für jedes Pixel im neuen Bild:

  • Berechnen Sie die HSV-Funktionen des Pixels
  • Ausgehend von der Wurzel des Baums rekursiv:
  • Ist das ein Blatt? Wenn ja, geben Sie dem Pixel die dominierende Bezeichnung des Knotens.
  • Andernfalls überprüfen Sie das Aufteilungskriterium anhand der Pixelfunktionen und gehen Sie entsprechend zum rechten oder linken Kind

Ich hoffe, dass dies in Ihrem Kontext sinnvoll ist.

    
Yuval F 13.02.2011, 15:13
quelle