Durchführung einer explorativen Datenanalyse zur Auswahl eines geeigneten Algorithmus für maschinelles Lernen

16

Wir studieren maschinelles Lernen durch maschinelles Lernen: Eine probabilistische Perspektive (Kevin Murphy). Während der Text die theoretische Grundlage jedes Algorithmus erklärt, sagt er selten, in welchem ​​Fall welcher Algorithmus besser ist, und wenn ja, sagt er nicht, wie man sagt, in welchem ​​Fall ich bin.

Zum Beispiel wurde mir bei der Auswahl des Kernels gesagt, dass ich eine explorative Datenanalyse durchführen soll, um zu beurteilen, wie komplex meine Daten sind. In einfachen zweidimensionalen Daten kann ich zeichnen und sehen, ob ein linearer oder ein radialer Kern geeignet ist. Aber was tun in höheren Dimensionen?

Was meinen die Leute im Allgemeinen, wenn sie sagen "Lernen Sie Ihre Daten kennen", bevor sie sich für einen Algorithmus entscheiden? Im Moment kann ich nur zwischen Klassifikation und Regressionsalgorithmus und linearem und nicht linearem Algorithmus unterscheiden (was ich nicht überprüfen kann).

BEARBEITEN: Obwohl meine ursprüngliche Frage die Faustregel betrifft, wurde ich gebeten, weitere Informationen zu meinem speziellen Problem bereitzustellen.

Daten: Ein Panel mit jeder Zeile als Ländermonat (insgesamt ~ 30.000 Zeilen, die ~ 165 Länder über ~ 15 Jahre abdecken).

Antwort: 5 binäre Variablen von Interesse (z. B. ob Protest / Putsch / Krise usw. in diesem Monat stattfinden).

Features: ~ 400 Variablen (eine Mischung aus kontinuierlichen, kategorialen und binären Variablen), die eine Reihe von Merkmalen der beiden vorherigen Ländermonate beschreiben (es kann eine längere Verzögerung erzeugt werden). Wir verwenden nur verzögerte Variablen, da das Ziel die Vorhersage ist.

Beispiele sind: Wechselkurs, BIP-Wachstum (kontinuierlich), freie Presse (kategorisch), Demokratie, Konflikt zwischen Nachbarn (binär). Beachten Sie, dass viele dieser 400 Features verzögerte Variablen sind.

Heisenberg
quelle

Antworten:

15

Dies ist eine breite Frage ohne eine einfache Antwort. An der CMU habe ich einen dreimonatigen Kurs zu diesem Thema gehalten. Es behandelte Themen wie:

  1. Verwendung von Projektionen zum Verständnis der Korrelation zwischen Variablen und der gesamten Verteilungsstruktur.
  2. Wie bauen ein Regressionsmodell , indem nacheinander die Modellierung Residuen.
  3. Bestimmen, wann nichtlineare Interaktionsterme zu einem linearen Modell hinzugefügt werden sollen.
  4. Wie man sich zwischen knn und einem Entscheidungsbaum und einem logistischen Klassifikator entscheidet. Ich habe eine Reihe von UCI-Datensätzen durchgesehen und gezeigt, wie Sie feststellen können, welcher Klassifikator gewinnen würde, bevor Sie ihn ausführen.

Leider gibt es kein Video oder Lehrbuch für den Kurs, aber ich hielt einen Vortrag , in dem die wichtigsten Punkte der Klasse zusammengefasst werden. Mir ist kein Lehrbuch bekannt, das denselben Sachverhalt behandelt.

Tom Minka
quelle
Ich werde ein oder zwei Tage brauchen, um diese hilfreichen Materialien zu verdauen, aber während ich Ihre Aufmerksamkeit habe: Warum haben wir kein Lehrbuch / keine Ressource zu diesem Thema? Ist es nicht wichtig, wann immer sich jemand mit einem Projekt befasst, muss er über diese Frage nachdenken?
Heisenberg
1
Schöne Frage (+1) und Antwort (+1). @Heisenberg: Ich stimme Tom darin zu, dass er kein bestimmtes Lehrbuch zu diesem Thema gesehen hat. Zusätzlich zu seinen Ressourcen würde ich jedoch zwei Online-Ressourcen vorschlagen (obwohl sie sich nicht auf ML-Anwendungen konzentrieren): 1) den EDA-Abschnitt des NIST Engineering Statistics Handbook; 2) eine interessante Arbeit von Prof. Andrew Gelman über EDA für komplexe Modelle.
Aleksandr Blekh
0

Es gibt einige Dinge, die Sie in Ihren Daten überprüfen können.

1 - correlation between variables
2 - categorical variables or continuous variables?
3 - relation between number of samples and number of variables
4 - are the samples independent or is it a time series? 

Anhand dieser Punkte und der Art der Informationen, die Sie aus Ihren Daten extrahieren möchten, können Sie entscheiden, welchen Algorithmus Sie verwenden möchten.

Donbeo
quelle
Könnten Sie erläutern, wie jede dieser 4 Informationen meine Algorithmusauswahl beeinflusst? Ich weiß nur, dass 2 über Klassifizierung oder Regression entscheidet. Was ist mit den anderen 3? (insbesondere # 4 - Ich habe Panel-Daten von 165 Ländern über 10 Jahre)
Heisenberg
In 2 dachte ich über kategoriale Variablen als Eingabe nach. Die endgültige Entscheidung über den Algorithmus hängt von dem Problem ab, das Sie lösen möchten. Es gibt jetzt einen Weg, das vorher zu wissen. In 2- kann Ihnen vielleicht ein Entscheidungsbaum helfen. Bei 3 muss man vorsichtig mit Überanpassung sein. In 4 müssen Sie entscheiden, wie Sie Ihre Leistung bewerten möchten. Nur wenn Sie ein bestimmtes Problem erklären, können wir Ihnen bei der Entscheidung helfen, welchen Algorithmus Sie verwenden möchten.
Donbeo
Ich habe meine Frage bearbeitet, um weitere Informationen zu meinem speziellen Problem zu erhalten.
Heisenberg