2017-01-13 2 views
0

Ich muss einen Klassifizierer mit Daten trainieren, deren Dimensionalität variieren kann. Zum Beispiel (und dies ist Datum anschauliche-up):Klassifizierer für Daten mit unterschiedlicher Dimensionalität

class-1,0,1,2,3 
class-2,0,3,2,4,5,7 
class-3,1,8,8,8,2,8,0,0,0 
: 
: 
and so on... 

Ich versuche, eine lineare SVM mit scikit-learn zu trainieren, die die Dimensionalität festgelegt werden muss. Ein einfaches Zero-Padding der kleineren Dims, um das Dim des größten Dim anzupassen, gibt mir enttäuschende Ergebnisse.

Sollte ich einen anderen Klassifikator für solche Daten verwenden? Wie soll ich das angehen?

+0

Was ist die Natur (Herkunft, wirkliche Bedeutung) Ihre Daten und was hat die Vorverarbeitungsschritte gewesen, wenn überhaupt? – shirowww

+0

Sie sind Intensitätsmessungen an verschiedenen Punkten einer Oberfläche und machen ein Bild. Je nach Oberflächentyp und Bedingungen könnte ich also 1..n Messungen haben (wobei n <1024). Danke – Santino

+0

Ich habe PCA basierte Dimensionalitätsreduktion versucht, aber nicht sicher, dass das hier angebracht ist. – Santino

Antwort

1

Feature Hashing ist der Algorithmus, den Sie verwenden müssen, um Ihre Eingabe mit variabler Länge in Eingabe mit konstanter Länge zu konvertieren. Dann könnten Sie Ihre transformierten Vektoren mit jedem geeigneten Lernalgorithmus verwenden.

Wikipedia: Feature Hashing

1

Probieren Sie Padding mit Feature Mean/Median, das ist eine andere Möglichkeit, mit fehlenden Daten umzugehen. Werden diese Messungen an denselben Punkten/Merkmalen durchgeführt?

Verwandte Themen