Analyse des Datensatzes zur Abwanderung von Telekommunikationskunden

Okay! Lass uns das machen..

Also habe ich diese Geschichte vorbereitet, um mich ein bisschen mehr mit den Daten vertraut zu machen.

Der Datensatz ist unter folgendem Link verfügbar:

Lassen Sie uns also direkt darauf eingehen.

Das Endziel besteht darin, verschiedene Modelle zu evaluieren, um vorherzusagen, ob ein Kunde “abwandert” oder nicht.

Denn die Abwanderung wird am häufigsten als Prozentsatz (oder Anzahl) der Serviceteilnehmer ausgedrückt, die ihre Abonnements innerhalb eines bestimmten Zeitraums einstellen.

Beginnen wir mit unserer EDA (Explorative Datenanalyse)

Die Datentypen schienen in Ordnung zu sein, mit Ausnahme von Senioren, die ebenfalls ein Faktor sein sollten. (Im Zweifelsfall überprüfen Sie den Dataset-Link und seine Bibliothek)

Lassen Sie uns die Zusammenfassung des Datensatzes visualisieren

In der Spalte TotalCharges befinden sich einige NaN, daher werden wir in diesen Zeilen etwas weiter gehen

Da die Anzahl der Zeilen mit NaN-Werten sehr klein ist (1,5% der Daten) und unter Berücksichtigung aller sie sind churn = “NO”, was in den Daten überrepräsentiert ist. Wir löschen einfach diese Zeilen aus den Arbeitsdaten

Sehen wir uns die Balkendiagramme für die Verteilung der kategorialen Spalten an

Lassen Sie uns nun für die abhängige Variable zeichnen

Wie bereits erwähnt, können wir jetzt das Ungleichgewicht der Daten für die abhängige Variable sehen. Wir werden uns später damit befassen müssen, bevor wir modellieren.

Lassen Sie uns nun die Boxplots für die quantitativen Variablen zeichnen.

Das Boxplot zeigt keine Ausreißer in der Verteilung.

Sehen wir uns nun die Korrelation für die quantitativen Variablen an:

Es besteht eine hohe positive Korrelation zwischen Gesamtkosten und monatlichen Gebühren sowie Gesamtkosten und Amtszeit.

Lassen Sie uns nun einige Histogramme zeichnen, die das Abwanderungsmerkmal für die quantitativen Merkmale berücksichtigen:

Das obige Bild zeigt, dass die Abwanderungsrate mit zunehmender Amtszeit abnimmt, was ein gutes Indiz dafür ist, dass das Unternehmen in der Lage ist, langjährige Kunden zu halten.👏👏👏

Die obigen Diagramme geben uns einige Hinweise auf Funktionen wie:

  • Anscheinend haben Funktionen wie Geschlecht, Telefondienst und mehrere Leitungen keinen großen Einfluss auf die Abwanderung.
  • Es scheint keinen großen Unterschied zwischen den Funktionen Streaming TV und Streaming Movies zu geben;
  • Online-Sicherheit, Geräteschutz und technischer Support haben sehr ähnliche Histogramme und Churn-x-Non-Churn-Beziehungen.

Um eine bivariate Analyse mit den quantitativen Merkmalen (Amtszeit, monatliche Gebühren und Gesamtgebühren) weiter zu vertiefen, wandeln wir sie in Faktoren um, indem wir sie für jedes Merkmal gemäß dem 20.

Wie bereits erwähnt, nimmt der Prozentsatz der Abwanderung mit der Anzahl der Monate ab, was darauf hindeutet, dass alte Kunden weniger schwer zu pflegen sind

Dieses Balkendiagramm zeigt an, dass je höher die Gesamtkosten für einen Kunden sind, desto geringer der Abwanderungsprozentsatz ist. Was es sinnvoll macht, wenn Sie der Meinung sind, dass langjährige Kunden eine höhere “Gesamtgebühr” haben und wie wir bereits gesehen haben, Langjährige Kunden haben einen niedrigeren Abwanderungsprozentsatz

Dieses Balkendiagramm ist etwas intuitiver und zeigt, dass höhere monatliche Gebühren tendenziell einen höheren Abwanderungsprozentsatz aufweisen.

Modellierung

Nachdem wir nun ein besseres Verständnis der Daten haben, beginnen wir mit der Vorbereitung auf die Modellierung, um die zukünftige Kundenabwanderung vorherzusagen.

Lassen Sie uns diesen Prozess in Schritte unterteilen, entsprechend den unmittelbaren Problemen, die wir angehen:

  1. Umgang mit dem Ungleichgewicht
  2. Definieren unserer Algorithmen und Metriken
  3. Testen unserer Algorithmen
  4. Umgang mit der Merkmalsauswahl
  5. Endergebnisse

Umgang mit dem Ungleichgewicht ⚖️

Wie wir bereits gesehen haben, ist unsere abhängige Variable unausgeglichen. Wir haben viele Alternativen, um dieses Problem anzugehen:

  • Überabtastung
  • Unterabtastung
  • Unter Verwendung unterschiedlicher Gewichtskosten
  • usw.

Hier werden wir versuchen, unter, Over-Sampling und SMOTE Technik.

Unter Stichprobenabgleich der Daten

Überabgleich der Daten

Definition unserer Algorithmen und Metriken

Nun, da wir es mit einem Klassifizierungsproblem zu tun haben, d.h. am Ende des Tages können wir nur entweder “Abwanderung” oder “Nicht Abwanderung” vorhersagen, daher müssen wir einen Algorithmus unter diesem spezifischen “Bereich” auswählen. Das lässt uns einige Optionen wie:

  • Naiv-Bayes
  • Logistische Regression
  • Entscheidungsbäume (oder Random Forest)
  • SVM
  • GBM

Um die Metrik auszuwählen, müssen wir das Problem verstehen. Zum Beispiel,

  • ” Haben falsch positive oder falsch negative Ergebnisse schädlichere Auswirkungen?”🤔

In unserem Fall scheint es keine unterschiedlichen Gewichtungen für falsch positive oder falsch negative Ergebnisse zu geben, daher verwenden wir die Genauigkeit als Vergleichsmetrik.

Testen unserer Algorithmen

Wir werden 5 Algorithmen einsetzen (Naive-Bayes, Logistische Regression, Random Forest, SVM und LightGBM). Wir werden eine 10-Kreuz-Fold-Validierung verwenden und jeden Algorithmus 10 Mal ausführen und die Ergebnisse berechnen.

Wir werden diese Methodik für alle 3 Daten wiederholen (Ausgeglichen mit Unterstichprobe, Überstichprobe und SMOTE).

Mit den Ergebnissen der Algorithmen konstruieren wir einen einzigen Genauigkeitsdatenrahmen

Genauigkeit Dataframe-Struktur

Wir projizieren jetzt Boxplots für jeden Algorithmus und jede ausgeglichene Daten

Boxplot der Genauigkeit für die 10-CV wiederholt 10 mal

Das obige Bild zeigt, dass sowohl Random Forest für die Überstichprobe ausgeglichenen Daten als auch für die SMOTE ausgeglichenen Daten die besten Ergebnisse zeigten: 87% Genauigkeit.

Umgang mit der Feature-Auswahl

Nachdem wir nun die Algorithmen und ausgewogenen Daten haben, die die besten Ergebnisse zeigten, versuchen wir, die Genauigkeit zu verbessern oder den Algorithmus durch Feature-Auswahl zu vereinfachen.

Also entscheide ich mich, mit den SMOTE-Balance-Daten zu arbeiten.

Verwenden wir die varImp-Funktion, um die Features zu sehen, die die Abwanderung im Random-Forest-Algorithmus am besten darstellen

Die ersten vier Funktionen schienen angesichts der Visualisierungen, die wir während der EDA gesehen haben, ziemlich intuitiv zu sein.

Also werden wir 2 weitere Datenrahmen erstellen, einen mit den ersten 4 Funktionen und einen mit allen Top-Funktionen bis hin zu Sreaming TV.

Lassen Sie uns nun den Random Forest mit 10-cv 10-mal wiederholen.

Erstellen wir nun ein neues Boxplot mit der Genauigkeitsverteilung für jeden der 3 Datenrahmen.

Die Ergebnisse für mid_features und full data scheinen also besser zu sein. Lassen Sie uns testen, ob sie sich signifikant unterscheiden

Der statistische Test lehnt also die Nullhypothese ab, sodass sich die Genauigkeitsverteilung aus den full_data und den mid_features_data signifikant unterscheidet.

Also beenden wir diese Funktion, indem wir tatsächlich alle Spalten beibehalten. Da gibt es immer noch einen erheblichen Genauigkeitsverlust durch Entfernen der Merkmale.

Endergebnisse

Lassen Sie uns unser endgültiges Vorhersagemodell zusammenfassen. Wir erhielten eine durchschnittliche Genauigkeit von 87%, indem wir SMOTE als eine Möglichkeit zum Ausgleich der Daten verwendeten und wiederholte 10-Kreuzvalidierungen für 10-Zeiten durchführten, wobei Random Forest als unser Algorithmus verwendet wurde.

Außerdem haben wir einige interessante Aspekte aus unseren Kundendaten erfasst, wie zum Beispiel:

  • Das Unternehmen scheint “ok” zu sein, wenn es darum geht, alte Kunden zu halten. Energie muss bei der Umsetzung von Strategien für die neuen Kunden stärker im Mittelpunkt stehen.
  • Vertragstypen von Monat zu Monat weisen im Vergleich zu anderen Vertragstypen eine höhere Abwanderungsrate auf, selbst bei hohen monatlichen Gebühren.

  • Faseroptik haben höhere Abwanderungsraten als DSL für die Kunden, die Internet-Service haben.

  • Während Faseroptik höhere Aufwühlraten aufweist, liefern sie auch die höheren Gesamtladungszahlen. Daher ist eine bessere Untersuchung darüber, warum die Kunden mit dem Glasfaserservice nicht zufrieden sind, wichtig.

Ja, wir haben es geschafft! Ich hoffe, Sie haben die Fahrt genießen und ich bin glücklich, Ihre Gedanken zu hören.

Zukünftige Schritte

Zur Erinnerung, es gibt noch viele andere Dinge, die Sie in diesem Datensatz tun können, wie zum Beispiel:

  • Probieren Sie neue Algorithmen aus
  • Optimieren Sie einige Abstimmparameter, um festzustellen, ob Sie die Genauigkeit verbessern können.

Nochmals vielen Dank!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.