Erstellen eines Klassifizierungsmodells für streng binäre Daten


8

Ich habe einen Datensatz, der streng binär ist. Der Wertesatz jeder Variablen befindet sich in der Domäne: true, false.

Die "besondere" Eigenschaft dieses Datensatzes ist, dass eine überwältigende Mehrheit der Werte "falsch" ist.

Ich habe bereits einen Bayes'schen Netzwerk-Lernalgorithmus verwendet, um ein Netzwerk aus den Daten zu lernen. Für einen meiner Zielknoten (der wichtigste ist der Tod) ist das AUC-Ergebnis jedoch nicht sehr gut. es ist etwas besser als der Zufall. Selbst der positive prädiktive Wert (PPV), der mir im Lebenslauf vorgeschlagen wurde, war mit anderen Ansätzen in der Literatur nicht konkurrenzfähig. Beachten Sie, dass die AUC (ROC-Analyse) der typische Benchmark in diesem Bereich der klinischen Forschung ist, aber ich bin auch offen für Vorschläge, wie das Klassifizierungsmodell angemessener bewertet werden kann, wenn es andere Ideen gibt.

Also habe ich mich gefragt, welche anderen Klassifizierungsmodelle ich für diese Art von Datensatz mit dieser Eigenschaft ausprobieren kann (meistens falsche Werte).

  • würde die Unterstützung von Vektormaschinen helfen? Soweit ich weiß, befasst sich SVM nur mit kontinuierlichen Variablen als Prädiktoren (obwohl es für mehrere Klassen angepasst wurde). aber meine Variablen sind alle binär.
  • würde ein zufälliger Wald helfen?
  • würde hier eine logistische Regression gelten? Soweit ich weiß, sind auch die Prädiktoren für die logistische Regression kontinuierlich. Gibt es eine verallgemeinerte Version für binäre Variablen als Prädiktoren?

Abgesehen von der Klassifizierungsleistung vermute ich, dass SVM und Random Forest das Bayes'sche Netzwerk sehr gut übertreffen könnten, aber das Problem verlagert sich auf die Erklärung der Beziehungen in diesen Modellen (insbesondere für Kliniker).


Dies wurde oft gestellt. Ich habe ähnliche Fragen hier beantwortet: stats.stackexchange.com/questions/78469/… und hier: stats.stackexchange.com/questions/67755/… und wie die Ausgaben interpretiert werden sollten, sollten Sie überprüfen Erfahren Sie, wie Sie Randeffekte Ihrer erklärenden Variablen auf Ihre Zielvariable interpretieren. Überprüfen Sie zum Beispiel: hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/randomForest/html/…
JEquihua

Wenn Ihre Daten sehr spärlich und im Allgemeinen ziemlich schlecht sind, sollten Sie einen Klassifikator für die nächsten Nachbarn suchen. Achten Sie jedoch darauf, Ihre Funktionen richtig abzuwägen.
Akavall

@Akavall Könnten Sie bitte einige Hinweise zur richtigen Gewichtung der Funktionen geben? Sie sind alle binär (Prädiktoren und Klassenvariable). Ich würde gerne bei PPV als Hauptgewicht bleiben, aber ich könnte auch gegenseitige Informationen verwenden. oder ich nehme an, ich kann eine beliebige Anzahl von Assoziationsanalysen für Kontingenztabellen verwenden.
Jane Wayne

@ JaneWayne, die nächsten Nachbarn tun nichts in Bezug auf die Auswahl der Features / die Gewichtung der Features. Wenn die Merkmale schlecht oder falsch gewichtet sind, würde der Algorithmus wirklich schlecht abschneiden. Wenn die Merkmale andererseits richtig gewichtet sind, kann dieser einfache Algorithmus wirklich gut funktionieren. Die richtige Gewichtung ist jedoch nicht einfach. Und Ihre aktuelle Lösung könnte bereits gut sein. Wenn Sie etwas über den Datensatz wissen, können Sie einigen Funktionen manuell größere Gewichte zuweisen. Oder wenn Sie in der Lage sind, die Leistung des Modells zu unterschiedlichen Zeiten zu bewerten, können Sie eine Art heuristischen Lernalgorithmus anpassen
Akavall

Funktionen basierend auf Leistung. Hier müssen Sie jedoch davon ausgehen, dass die Zielfunktion, die Sie maximieren möchten, relativ reibungslos ist und aufgrund des Kompromisses zwischen Exploration und Exploitation Kosten entstehen.
Akavall

Antworten:


4

würde die Unterstützung von Vektormaschinen helfen? Soweit ich weiß, befasst sich SVM nur mit kontinuierlichen Variablen als Prädiktoren ...

Binäre Variablen sind für SVM kein Problem. Für genau solche Daten gibt es sogar spezialisierte Kernel (Hamming-Kernel, Tanimoto / Jaccard-Kernel). Ich empfehle jedoch nicht, diese zu verwenden, wenn Sie mit den Kernel-Methoden nicht vertraut sind.

würde hier eine logistische Regression gelten? Soweit ich weiß, sind auch die Prädiktoren für die logistische Regression kontinuierlich

Die logistische Regression funktioniert mit binären Prädiktoren. Es ist wahrscheinlich Ihre beste Option.

wie man die Beziehungen in diesen Modellen erklärt (insbesondere für Kliniker).

Wenn Sie lineares SVM verwenden, ist es ziemlich einfach zu erklären, was los ist. Die logistische Regression ist eine bessere Option, obwohl, da die meisten clinicials wissen tatsächlich , diese Modelle (und wissen , ich meine gehört haben ).


1

Ich möchte mein Experiment zur Klassifizierung von etwa 0,3 Millionen Binärdaten mit einer Mehrheit falscher Werte teilen. Ich habe lineare SVM, komplexe Bäume, LDA, QDA, logistische Regression usw. verwendet. Alle diese Methoden hatten eine Effizienz von etwa 54%, was nicht gut ist. Laut meinem Professor sind die Klassifizierungsmethoden, die mir bei diesem Problem helfen könnten, Neuronale Netze, Quadratische SVM, aber ich habe diese nicht getestet. Ich hoffe das könnte helfen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.