So erstellen Sie ein Vorhersagemodell

Teilen auf Facebook
Teilen auf twittern
Teilen auf verlinktin
Teilen auf Telegramm
Teilen auf WhatsApp

Inhalt

Überblick

  • Hackathons beinhalten das Erstellen von Vorhersagemodellen in kurzer Zeit.
  • Der Datenvorverarbeitungsschritt nimmt die meiste Zeit beim Erstellen eines Modells in Anspruch
  • Andere Schritte umfassen eine deskriptive Analyse, Datenmodellierung und Modellleistungsbewertung.

Einführung

In den letzten Monaten, Wir haben angefangen, Data Science zu betreiben. Hackaton. Diese Hackathons sind Wettbewerbe mit einer klar definierten Datenhürde, das sollte in kurzer zeit gelöst sein. Wie gewöhnlich, letzte zwischen 2 Ja 7 Tage.

Wenn monatelange Wettkämpfe bei Kaggle wie Marathons sind, Diese Hackathons sind also ein kürzeres Format des Spiels: 100 mts Sprint. Es sind energiereiche Events, bei denen Datenwissenschaftler viel Energie investieren, die Rangliste ändert sich fast stündlich und die Geschwindigkeit bei der Lösung des Data-Science-Problems ist viel wichtiger als Kaggles Kompetenzen.

Vorhersagemodell, zehn Minuten, Schnell

Einer der besten Ratschläge, die ich Data Scientists geben kann, die an diesen Hackathons beteiligt sind (oder auch bei längeren Wettkämpfen) ist, schnell die erste Lösung zu erstellen und diese einzureichen. Die ersten Einführungen sollten sehr schnell sein. Ich habe Module in Python und R erstellt, die tabellarische Daten und den Namen der Zielvariablen und BOOM!! Ich habe mein erstes Modell in weniger als 10 Protokoll (vorausgesetzt, Ihre Daten haben mehr als 100,000 Beobachtungen). Für kleinere Datensätze, das geht noch schneller. Der Grund für die Lieferung dieser ultraschnellen Lösung besteht darin, für Sie einen Maßstab zu schaffen, in dem Sie sich verbessern müssen. Ich werde in diesem Beitrag über meine Methodik sprechen.

Aufschlüsselung des prädiktiven Modellierungsverfahrens

Um die strategischen Bereiche zu verstehen, analysieren wir zunächst das prädiktive Analyseverfahren in seinen wesentlichen Komponenten. Grob, kann aufgeteilt werden in 4 Teile. Jede Komponente benötigt x Zeit für die Ausführung. Bewerten wir diese Aspekte n (mit der aufgewendeten Zeit):

  1. Deskriptive Analyse der Daten: 50% Wetter
  2. Datenverarbeitung (fehlender Wert und Ausreißerkorrektur): 40% Wetter
  3. Datenmodellierung: 4% Wetter
  4. Leistungseinschätzung: 6% Wetter

Notiz: Die Prozentsätze sind auf eine Stichprobe von zentriert 40 Kompetenzen, an denen ich in der Vergangenheit teilgenommen habe (gerundet).

Jetzt wissen wir wo wir die Zeit verkürzen sollen. Gehen wir Schritt für Schritt durch das Verfahren (mit geschätzter Zeit):

1.Beschreibende Analyse : Als ich meine Karriere in der Analytik begann, Früher haben wir hauptsächlich Modelle erstellt, die auf logistischen Regressionen und Entscheidungsbäumen basieren. Der Großteil des von uns verwendeten Algorithmus beinhaltete gierige Algorithmen, die die Anzahl der Funktionen unterordnen kann, auf die ich mich konzentrieren muss.

Mit fortschrittlichen Tools für maschinelles Lernen unterwegs, der Zeitaufwand für diese Aufgabe kann deutlich reduziert werden. Für Ihre erste Analyse, Sie müssen wahrscheinlich keine Art von Feature-Engineering durchführen. Deswegen, die Zeit, die Sie möglicherweise für eine deskriptive Analyse benötigen, beschränkt sich auf das Wissen um fehlende Werte und große Merkmale, die direkt sichtbar sind. In meiner Methodik, muss 2 Protokoll um diesen Schritt abzuschließen (Ich vermute eine Daten mit 100.000 Beobachtungen).

2.Datenverarbeitung : Da dies als der Schritt angesehen wird, der am längsten dauert, Wir müssen intelligente Techniken finden, um diese Phase abzuschließen. Hier sind zwei einfache Tricks, die Sie in die Praxis umsetzen können:

  • Dummy-Indikatoren für fehlende Werte erstellen: allgemein, Ich habe festgestellt, dass die fehlenden Werte in der Variablen auch manchmal eine gute Menge an Informationen enthalten. Als Beispiel, wenn Sie Clickstream-Daten analysieren, es wird wahrscheinlich nicht viele Werte in bestimmten Variablen haben, die der Nutzung des Mobilgeräts entsprechen.
  • Fehlenden Wert mit Mittelwert imputieren / jede andere einfachere Methode: Ich fand das "gemein"’ funktioniert gut für die erste Iteration. Nur in Fällen, in denen sich aus der deskriptiven Analyse ein offensichtlicher Trend ergibt, du brauchst wahrscheinlich eine intelligentere Methode.

Mit so einfachen Datenverarbeitungsmethoden, kann die Datenverarbeitungszeit für 3-4 Protokoll.

3. Datenmodellierung : Ich habe festgestellt, dass GBM extrem effektiv ist in 100.000 Beobachtungsfälle. Bei größeren Daten, Sie könnten in Betracht ziehen, einen Random Forest zu betreiben. Dies wird die maximale Zeit in Anspruch nehmen (~ 4-5 Protokoll)

4. Leistungseinschätzung : Ich finde k-fach mit k = 7 sehr effektiv, um meine anfängliche Wette anzunehmen. Dies nimmt zum Schluss 1-2 Protokoll ausführen und dokumentieren.

Der Grund, dieses Modell zu bauen, ist nicht, den Wettbewerb zu gewinnen, sondern um einen Anhaltspunkt für uns selbst zu bestimmen. Lassen Sie mich in meinen Algorithmus eintauchen. Ich habe auch einige Schnipsel meines Codes in diesen Beitrag eingefügt.

Fangen wir an, das in die Tat umzusetzen

Ich werde nicht meine gesamte Funktion einbeziehen, um Ihnen Raum für Innovationen zu geben. Hier ist ein Skelett meines Algorithmus (ein R):

Paso 1 : Test- und Trainingsdatensatz zusammen anhängen

Paso 2 : Lesen Sie den Datensatz in seinem Speicher

einstellen("C:BenutzerTavishDesktopKaggAV")
Komplett <- lesen.csv("komplette_daten.csv", stringsAsFactors = TRUE)

Paso 3: Spaltennamen anzeigen / Datensatzzusammenfassung

Kolnamen(Komplett )
[1] "ICH WÜRDE" "Geschlecht" "Stadt"  "Monatliches Einkommen" "Ausgezahlt" "Bahn"

Paso 4: Identifizieren Sie das a) Numerische Variable b) Identifikationsvariablen c) Variablen de Faktor d) Zielvariablen

Paso 5 : Flags für fehlende Werte erstellen

fehlende_val_var <- Funktion(Daten,Variable,neuer_var_name) {
data$new_var_name <- ansonsten(is.na(Variable),1,0))
Rückkehr(data$new_var_name)}

Paso 6 : Imputieren fehlender numerischer Werte

numeric_imput <- Funktion(Daten,Variable) {
bedeuten1 <- bedeuten(Daten$variable)
Daten$variable <- ansonsten(is.na(Daten$variable),mean1,data$variable)
Rückkehr(neuer_var_name)
}

Äquivalent, eine kategoriale Variable imputieren, damit alle fehlenden Werte als ein einzelner Wert kodiert werden, Sag es “Null”.

Paso 7 : Übergeben Sie die imputierte Variable an das Modellierungsverfahren.

#Herausforderung: Versuchen Sie, in diesem Schritt eine K-Fold-Methodik zu integrieren

create_model <- Funktion(trainData,Ziel) {
set.seed(120)
myglm <- glm(Ziel ~ . , data = trainData, Familie = "Binomial-")
Rückkehr(myglm) }

Paso 8 : Voraussagen machen

Spielstand <- Vorhersagen(myglm, newdata = testData, Typ = "Antwort")
score_train <- Vorhersagen(myglm, neue Daten = vollständig, Typ = "Antwort")

Paso 9 : Leistung prüfen

auc(complete$Ausgezahlt,score_train)

Und einreichen!

Abschließende Anmerkungen

Hoffentlich, Dieser Beitrag wird dir genug Motivation gegeben haben, deinen eigenen Code zu erstellen 10 Protokoll. Die meisten von Kaggles Meistern und Top-Hackathon-Wissenschaftlern haben diese Codes parat und feuern ihre erste Präsentation ab, bevor sie eine detaillierte Analyse durchführen.. Sobald sie eine Schätzung des Referenzpunkts haben, sie fangen an mehr zu improvisieren. Teile deine vollständigen Codes im Kommentarfeld unten.

Hat dir dieser Beitrag geholfen? Teile deine Meinung / Gedanken im Kommentarbereich unten.

Wenn Ihnen das, was Sie gerade gelesen haben, gefällt und Sie weiter über Analytics lernen möchten, abonnieren Sie unsere E-Mails, Folge uns auf Twitter oder wie bei uns Seite auf Facebook.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.