Was ist der beste 2-Klassen-Klassifikator für Ihre Anwendung? [geschlossen]

15

Regeln:

  • Ein Klassifikator pro Antwort
  • Stimme ab, wenn du einverstanden bist
  • Duplikate ablehnen / entfernen.
  • Tragen Sie Ihre Bewerbung in den Kommentar ein
Łukasz Lew
quelle

Antworten:

14

Zufälliger Wald

  • erfasst leicht komplizierte Struktur / nichtlineare Beziehung
  • unveränderlich zur Skala der Variablen
  • Für kategoriale Prädiktoren müssen keine Dummy-Variablen erstellt werden
  • Variablenauswahl ist nicht viel erforderlich
  • relativ schwer zu überziehen
Łukasz Lew
quelle
Aktive Motivauswahl für Aptamer, Vorhersage der Waldbodenfeuchtigkeit, digitale OCR, multispektrale Satellitenbildanalyse, Abrufen von Musikinformationen, Chemometrie ...
13

Logistische Regression :

  • Schnell und leistungsfähig bei den meisten Datensätzen
  • Fast keine Parameter zu stimmen
  • verarbeitet beide diskreten / kontinuierlichen Funktionen
  • Modell ist leicht interpretierbar
  • (Nicht wirklich auf binäre Klassifikationen beschränkt)
Amro
quelle
Möglicherweise müssen keine Parameter eingestellt werden, aber man muss wirklich mit kontinuierlichen Variablen (Transformationen, Splines usw.) arbeiten, um eine Nichtlinearität zu induzieren.
B_Miner
12

Unterstützung vektor maschine

Łukasz Lew
quelle
Es gibt nichts wirklich Besonderes an der SVM, anders als es die Benutzer über Regularisierung denken zwingt. Für die meisten praktischen Probleme [Kernel] funktioniert die Gratregression genauso gut.
Dikran Beuteltier
2
@dikran Ich denke, SVM ist ein großartiger Klassifikator, weil es spärlich und robust für Ausreißer ist - dies gilt nicht für die logistische Regression! und deshalb ist SVM ein Klassifikator auf dem neuesten Stand der Technik. Die einzige Frage, die ein Problem sein kann, ist - Zeitkomplexität - aber ich denke, es ist in Ordnung.
Suncoolsu
@suncoolsu Wenn Sie Sparsity möchten, erhalten Sie mit LASSO mehr Sparsity durch regulierte logistische Regression als mit SVM. Die Sparsity des SVM ist ein Nebenprodukt der Verlustfunktion. Sie erhalten also nicht so viel wie bei einem Algorithmus, bei dem Sparsity ein Entwurfsziel ist. Auch oft mit dem optimalen Wert des Hyperparameters (z. B. durch Kreuzvalidierung ausgewählt) verschwindet der größte Teil der Sparsamkeit des SVM. SVM ist für Ausreißer nicht robuster als eine regulierte logistische Regression - es kommt hauptsächlich auf die Regularisierung an, nicht auf den Scharnierverlust.
Dikran Marsupial
@Dikran - genau mein Punkt - eine Art Bestrafung ist wichtig. Sie können dies mit Priors, dem Hinzufügen von Penalty usw. erreichen.
suncoolsu
1
@suncoolsu In diesem Fall ist die SVM kein hervorragender Klassifizierer, sondern nur einer unter vielen regulierten Klassifizierern, wie z. B. Gratregression, regulierte logistische Regression und Gaußsche Prozesse. Der Hauptvorteil des SVM ist seine Anziehungskraft auf die rechnergestützte Lerntheorie. In der Praxis sind andere Überlegungen wichtiger, z. B. ob Sie einen Wahrscheinlichkeitsklassifikator benötigen, bei dem andere Verlustfunktionen wahrscheinlich überlegen sind. Meiner Meinung nach wird dem SVM zu viel Aufmerksamkeit geschenkt als der breiteren Familie von Kernelmethoden.
Dikran Beuteltier
7

Regularisierte Diskriminante für überwachte Probleme mit verrauschten Daten

  1. Recheneffizient
  2. Robust gegen Rauschen und Ausreißer in Daten
  3. Sowohl lineare Diskriminanten- (LD) als auch quadratische Diskriminanten- (QD) Klassifizierer können von derselben Implementierung erhalten werden, indem die Regularisierungsparameter '[lambda, r]' auf '[1 0]' für LD-Klassifizierer und '[0 0]' für eingestellt werden QD-Klassifikator - sehr nützlich für Referenzzwecke.
  4. Modell ist einfach zu interpretieren und zu exportieren
  5. Funktioniert gut für spärliche und 'breite' Datensätze, bei denen die Klassenkovarianzmatrizen möglicherweise nicht gut definiert sind.
  6. Eine Schätzung der hinteren Klassenwahrscheinlichkeit kann für jede Stichprobe geschätzt werden, indem die Softmax-Funktion auf die Diskriminanzwerte für jede Klasse angewendet wird.

Link zur Originalarbeit von Friedman et al . Von 1989 hier . Auch gibt es sehr gute Erklärungen von Kuncheva in ihrem Buch " Combining Pattern Classifiers ".

BGreene
quelle
5

Bäume mit Farbverlauf.

  • Mindestens so genau wie HF bei vielen Anwendungen
  • Schließt fehlende Werte nahtlos ein
  • Var Wichtigkeit
  • Teilabhängigkeitsdiagramme
  • GBM versus randomForest in R: verarbeitet VIEL größere Datensätze
B_Miner
quelle
4

Gaußscher Prozessklassifikator - Er gibt probabilistische Vorhersagen (nützlich, wenn sich die Häufigkeit Ihrer operativen relativen Klassen von der in Ihrem Trainingssatz unterscheidet oder wenn die falsch-positiven / falsch-negativen Kosten unbekannt oder variabel sind). Es liefert auch eine Einschätzung der Unsicherheit in Modellvorhersagen aufgrund der Unsicherheit bei der "Schätzung des Modells" aus einem endlichen Datensatz. Die Co-Varianz-Funktion entspricht der Kernelfunktion in einer SVM und kann daher auch direkt auf nicht-vektorielle Daten (z. B. Zeichenfolgen oder Diagramme usw.) angewendet werden. Der mathematische Rahmen ist auch ordentlich (aber verwenden Sie nicht die Laplace-Näherung). Automatisierte Modellauswahl durch Maximierung der Grenzwahrscheinlichkeit.

Kombiniert im Wesentlichen gute Eigenschaften von logistischer Regression und SVM.

Dikran Beuteltier
quelle
Gibt es ein R-Paket, von dem Sie empfehlen, dass es dieses implementiert? Was ist Ihre bevorzugte Implementierung für diese Methode? Vielen Dank!
26.
Ich fürchte , ich bin ein MATLAB (ich das GPML Paket verwenden gaussianprocess.org/gpml/code/matlab/doc ), so dass ich nicht über R - Implementierungen beraten können, aber Sie können etwas Geeignetes finden Sie hier gaussianprocess.org/# Code . Wenn R kein anständiges Paket für Allgemeinmediziner hat, muss jemand eines schreiben!
Dikran Beuteltier
OK danke. Kann man mit dieser Methode "wichtige Variablen" auswählen, wie z. B. die Bedeutung von Zufallsforsten oder die Beseitigung von rekursiven Merkmalen mit SVMs?
26.
Ja, Sie können eine Kovarianzfunktion zur "automatischen Relevanzbestimmung" verwenden und die Hyperparameter durch Maximieren der Bayes'schen Evidenz für das Modell auswählen (obwohl dies zu den gleichen Überanpassungsproblemen führen kann, die Sie mit SVMS haben, so oft Modell arbeitet ohne Funktionsauswahl besser).
Dikran Beuteltier
4

L1-regulierte logistische Regression.

  • Es ist rechnerisch schnell.
  • Es hat eine intuitive Interpretation.
  • Es gibt nur einen leicht verständlichen Hyperparameter, der durch Kreuzvalidierung automatisch angepasst werden kann, was häufig ein guter Weg ist.
  • Die Koeffizienten sind stückweise linear und ihre Beziehung zum Hyperparameter ist in einem einfachen Diagramm sofort und leicht sichtbar.
  • Dies ist eine der weniger zweifelhaften Methoden zur Variablenauswahl.
  • Es hat auch einen wirklich coolen Namen.
miura
quelle
+1 Der Hyperparameter kann auch analytisch integriert werden, sodass für viele Anwendungen keine Kreuzvalidierung erforderlich ist, siehe z. B. theoval.cmp.uea.ac.uk/publications/pdf/nips2006a.pdf und Bioinformatics .oxfordjournals.org / content / 22/19 / 2348.full.pdf .
Dikran Beuteltier
3

kNN

user88
quelle
3

Naive Bayes und zufällige naive Buchten

user88
quelle
2
Können Sie ein Problem beschreiben, bei dem RNB gute Ergebnisse erzielt hat?
Łukasz Lew
Nein ;-) Dies diente nur dazu, den Pool wiederzubeleben.
1

K-bedeutet Clustering für unbeaufsichtigtes Lernen.

Berkay
quelle
Die Frage fragt speziell nach einem Klassifikator.
Prometheus