Angenommen, ich interessiere mich für drei Klassen , , . Mein Datensatz enthält jedoch tatsächlich mehrere weitere reale Klassen .c 2 c 3 ( c j ) n j = 4
Die offensichtliche Antwort besteht darin, eine neue Klasse zu definieren , die sich auf alle Klassen , bezieht, aber ich vermute, dass dies keine gute Idee ist, da die Beispiele in selten und nicht sehr ähnlich zueinander sind.cjj>3 c 4
Angenommen, ich habe die folgenden zwei Variablenräume und die Klassen , , , sind in Rot, Bis, Grün und dargestellt jeweils schwarz. So vermute ich, dass meine Daten aussehen würden.c 2 c 3 c 4 = ⋃ n j = 4 c j
Gibt es eine Standardmethode, um dieses Problem anzugehen? Was wäre der effizienteste Klassifikator und warum?
machine-learning
classification
h3h325
quelle
quelle
Antworten:
Ich würde einen zweistufigen Ansatz verwenden und die Idee der von Ihnen erwähnten Klasse .c4^
Verwenden Sie im ersten Schritt einen binären Klassifikator (der für den gesamten Datensatz trainiert wurde), um zu entscheiden, ob eine Stichprobe zur Klasse (dh in einer nicht interessanten Klasse). In diesem Schritt können Sie auch einen Blick auf Ausreißererkennungsmethoden werfen , wenn sich die zu den "interessanten" Klassen gehörenden Proben stark von den anderen unterscheiden.c4^
Wenn das Ergebnis negativ ist, fahren Sie mit dem nächsten Schritt fort, einem neuen Klassifikator, der nur für Stichproben der Klassen und verwenden Sie diese Vorhersage als Ihre letzte.c1,c2,c3
Ich denke, dass selbst bei Verwendung eines einfachen Clustering-Ansatzes als erster Schritt (z. B. 4-Clustering k-bedeutet die Verwendung des durchschnittlichen Schwerpunkts als anfängliche Schwerpunktwerte. für jedes ) wäre immer noch nützlich.c1,c2,c3,^ c 4centj=∑xi∈D:yi=jxi∑xi∈D:yi=j1 c1,c2,c3,c4^
quelle