2016-05-15 23 views
0

Ich führe eine Klassifizierungsmethode für mehrere Klassen durch und untersuche die Auswirkungen verschiedener Funktionen auf die Leistung. Ich benutze SVM 1v1 Klassifikator für jeden Satz von Funktionen separat, und jetzt möchte ich versuchen, ein kombiniertes Modell zu trainieren, das alle Feature-Sets nutzen wird, die ich habe. Was sind die Möglichkeiten, ein solches kombiniertes Modell zu erstellen, ohne einfach alle Features zusammen zu werfen? Mein Verständnis ist, dass dies der Idee eines Ensemble-Modells ähnlich ist, jedoch konnte ich keine Beispiele für Ensembles finden, die auf mehreren Feature-Sets arbeiten würden.Ensemble-Klassifikator für verschiedene Funktionen

Ich sollte auch erwähnen, dass ich für eine out-of-Box-Implementierungen oder einige Bibliotheken suchen, anstatt die Modelle selbst zu implementieren.

+0

Sie sollten nicht wirklich "glauben", sondern eher testen. Viele Leute, bevor Sie glaubten, dass sie Daten besser verstehen als statistische Analysen - und ml bewiesen, dass sie falsch lagen. Was auch immer Sie am Ende bauen werden - ein Modell auf allen Eigenschaften zusammenzubringen ist ein Must-Have – lejlot

+0

Ich habe Gründe, dies nicht zu tun, und habe die Frage entsprechend bearbeitet. Danke für deinen Kommentar. –

Antwort

0

Wenn Sie nur ein 1-1 Mapping zwischen Ihren abstrakten Objekten und einigen Features in jedem Ihrer Sets haben - dann ist dies eigentlich ein klassisches Ensemble-Modell, es gibt komplett keinen Unterschied. Sie denken über Ihr Modell als mehr verschiedenen Merkmalsextraktoren für die Objekte verwenden, so

ABSTRACT OBJECTS ------ FEATURES ------ MODELS 
\____________________________/    | 
    your definition of data  your definition of model 

während typischen ML-Ansatz (Perspektive auf Ihrem Ansatz)

ABSTRACT OBJECTS ------ FEATURES ------ MODELS 
    |      \_________________/   
    data        model 

mit anderen Worten würde jedes Paar (features_set, Modell) definieren tatsächlichen Modell, und wie Sie sehen können, mit einer solchen Perspektive verwenden Sie einfach alle Ensemble-Technik. Die Tatsache, dass Sie Ihre verschiedenen Features-Sets irgendwie "handgefertigt" haben, ändert nichts an der Tatsache, dass es nur ein Teil der Modellierung einer Funktion von Ihren abstrakten Objekten (was auch immer sie sind) zu tatsächlichen Entscheidungen ist.

+0

Ich verstehe Ihren Standpunkt, könnten Sie mich vielleicht auch auf einige Implementierungen verweisen, die es mir erlauben würden, dies einfach zu erreichen, anstatt die Modelle selbst neu zu implementieren? –

+0

scikit-learn erlaubt einen solchen Ansatz, einfach müssen Ihre Feature-Extraktoren die Form ihrer Transformer-Objekte haben, dann erstellen Sie einen Klassifikator als Pipeline-Objekt, und Sie sind gut zu gehen. – lejlot