Sie sind auf Seite 1von 38

DATA-MINING-

GESCHÄFTSBERIC
HT

HANSRAJ YADAV
1|Seite
PGPDSBA JAN’2020 CHARGE

INHALT

1. Ziel ………………………………………………………………………………………………… 3
2. Problem 1: Clustering ……………………………………………………………………………….4 – 17
a) Annahmen ……………………………………………………………………………………4
b) Pakete importieren……………………………………………………………………………4
c) Lösung 1.1 ……………………………………………………………………………………….5
d) Lösung 1.2 …………………………………………………………………………………….11
e) Lösung 1.3 …………………………………………………………………………………….12
f) Lösung 1.4 …………………………………………………………………………………….14
g) Lösung 1.5 …………………………………………………………………………………….16
3. Problem 2: CART, RF, ANN ………………………………………………………………………….18 – 34
a) Annahmen ……………………………………………………………………………………18
b) Pakete importieren……………………………………………………………………………18
c) Lösung 2.1 …………………………………………………………………………………….19
d) Lösung 2.2 …………………………………………………………………………………….24
e) Lösung 2.3 ……………………………………………………………………………………….29
f) Lösung 2.4 …………………………………………………………………………………….33
g) Lösung 2.5 ……………………………………………………………………………………….34

2|Seite
PROJEKTZIEL

Problem 1: Clustering
Eine führende Bank möchte eine Kundensegmentierung entwickeln, um ihren Kunden
Werbeangebote zu unterbreiten. Sie sammelten eine Stichprobe, die die Aktivitäten der
Nutzer in den letzten Monaten zusammenfasst. Sie erhalten die Aufgabe, die Segmente
anhand der Kreditkartennutzung zu identifizieren.
1.1. Um eine explorative Datenanalyse des Datensatzes durchzuführen und ihn kurz zu
beschreiben.
1.2. Zur Begründung, ob in diesem Fall eine Skalierung für das Clustering notwendig ist.
1.3. Hierarchisches Clustering auf skalierte Daten durchführen und die Anzahl der
optimalen Cluster mit Dendrogram identifizieren und kurz beschreiben.
1.4. Um K-Means-Clustering auf skalierten Daten durchzuführen und optimale Cluster zu
bestimmen. Wenden Sie die Ellenbogenkurve und den Silhouetten-Score an.
1.5. Clusterprofile für die Cluster zu beschreiben und unterschiedliche Werbestrategien
für unterschiedliche Cluster zu empfehlen.

Problem 2: CART-RF-ANN
Eine Versicherungsgesellschaft, die eine Reiseversicherung anbietet, hat mit einer höheren
Schadenhäufigkeit zu kämpfen. Das Management beschließt, Daten aus den letzten Jahren
zu sammeln. Ihnen wird die Aufgabe zugewiesen, ein Modell zu erstellen, das den
Schadenstatus vorhersagt und dem Management Empfehlungen gibt. Verwenden Sie CART,
RF & ANN und vergleichen Sie die Leistungen der Modelle in Zug- und Testsets.
2.1. Um den Datensatz zu lesen und die deskriptive Statistik durchzuführen und die
Nullwertbedingung zu überprüfen und eine Inferenz darauf zu schreiben.
2.2. Um die Daten in Test und Training aufzuteilen, erstellen Sie ein
Klassifizierungsmodell CART, Random Forest und Artificial Neural Network.
2.3. Um die Leistung von Vorhersagen auf Zug- und Testsätzen mithilfe von Genauigkeit,
Verwirrungsmatrix und ROC-Kurve zu überprüfen und ROC_AUC-Score für jedes Modell
zu erhalten.
2.4. Um alle Modelle zu vergleichen und eine Inferenz zu schreiben, welches Modell am
besten/optimiert ist.
2.5. Bereitstellung von Geschäftseinblicken und Empfehlungen.

3|Seite
PROBLEM 1: CLUSTERING

ANNAHMEN
Der uns zur Verfügung gestellte Datensatz wird als „bank_marketing_part1_Data.csv“
gespeichert, der Daten von 210 Kunden und 7 Variablen enthält, nämlich:

ausgaben Betrag, den der Kunde pro Monat ausgibt (in Tausend)

advance_payments Vom Kunden im Voraus in bar gezahlter Betrag (in 100er


Jahren)

wahrscheinlichkeit der Zahlungswahrscheinlichkeit vollumfänglich durch den Kunden


vollständigen Zahlung an die Bank

current_balance Saldobetrag, der auf dem Konto verbleibt, um Einkäufe zu


tätigen (in Tausend)

credit_limit Limit des Betrags in der Kreditkarte (10000s)

min_payment_amt mindestbetrag, den der Kunde bezahlt, während er Zahlungen


für Einkäufe leistet, die monatlich getätigt werden (in 100er
Jahren)

max_spent_in_single_shopping Maximaler Betrag, der in einem Kauf ausgegeben wird (in


Tausend)

PAKETE IMPORTIEREN
Um den Datensatz zu importieren und eine explorative Datenanalyse für den gegebenen
Datensatz durchzuführen, haben wir die folgenden Pakete importiert:

4|Seite
LÖSUNGEN
1.1 Um eine explorative Datenanalyse des Datensatzes durchzuführen und
ihn kurz zu beschreiben.
Importieren des Datensatzes

Der betreffende Datensatz wird mit der Funktion pd.read_csv () in jupyter notebook importiert und
in „bank_df“ gespeichert. Die oberen 5 Zeilen des Datensatzes werden mit der Funktion pd.head ()
angezeigt.

Dimension des Datensatzes

Aufbau des Datensatzes

Die Struktur des Datensatzes kann mit der Funktion .info () berechnet werden.

5|Seite
Zusammenfassung des Datensatzes
Die Zusammenfassung des Datensatzes kann mit der Funktion .describe () berechnet werden.

Überprüfung auf fehlende Werte

Die fehlenden Werte oder "NA" müssen überprüft und aus dem Datensatz gelöscht werden, um die
Auswertung zu vereinfachen, und Nullwerte können zu Fehlern oder Ungleichheiten bei den
Ergebnissen führen. Fehlende Werte können mit der Funktion .isnull().sum() berechnet werden.

6|Seite
Wie aus dem obigen Befehl berechnet, hat der Datensatz keine Null- oder NA-Werte.

Univariate Analyse

Histogramme werden für alle numerischen Variablen mit der Funktion sns.displot () aus dem
Seaborn-Paket dargestellt.

7|Seite
Boxplots von Variablen, um nach Ausreißern zu suchen

8|Seite
Inferenz: Nach dem Plotten der Boxplots für alle Variablen können wir schließen, dass einige
Ausreißer in der Variablen vorhanden sind, nämlich min_payment_amt, was bedeutet, dass es nur
wenige Kunden gibt, deren Mindestzahlungsbetrag im Durchschnitt auf die höhere Seite fällt. Da nur
eine der sieben Variablen einen sehr kleinen Ausreißerwert hat, besteht keine Notwendigkeit, die
Ausreißer zu behandeln. Dieser kleine Wert wird in unserer Analyse keinen Unterschied machen.

Aus den obigen Grafiken können wir schließen, dass die meisten Kunden in unseren Daten eine
höhere Ausgabenkapazität und einen hohen aktuellen Saldo auf ihren Konten haben und diese
Kunden einen höheren Betrag während eines einzigen Einkaufsereignisses ausgegeben haben. Die
Mehrheit der Kunden hat eine höhere Wahrscheinlichkeit, die vollständige Zahlung an die Bank zu
leisten.

Multivariate Analyse

Heatmap (Beziehungsanalyse)

Wir werden nun eine Heatmap oder Korrelationsmatrix zeichnen, um die Beziehung zwischen
verschiedenen Variablen in unserem Datensatz zu bewerten. Dieses Diagramm kann uns helfen,
Korrelationen zwischen verschiedenen Variablen zu überprüfen.

9|Seite
Inferenz: Gemäß der Heatmap können wir schlussfolgern, dass die folgenden Variablen stark
korreliert sind:

 Spending und Advance_Payments, Spending und Current_Balance, Spending und


Credit_Limit
 Vorauszahlung und aktueller Saldo, Vorauszahlung und Kreditlimit
 Aktuelles Guthaben und maximale Ausgaben für Einzeleinkäufe

Daraus können wir schließen, dass die Kunden, die sehr hohe Ausgaben tätigen, einen höheren
aktuellen Saldo und ein hohes Kreditlimit haben. Vorauszahlungen und maximale Ausgaben, die im
Einzelkauf getätigt werden, werden von der Mehrheit der Kunden getätigt, die ein hohes Guthaben
auf ihren Bankkonten haben.

Die Wahrscheinlichkeit vollständiger Zahlungen ist bei Kunden mit einem höheren Kreditlimit höher.

Der Mindestzahlungsbetrag korreliert nicht mit einer der Variablen und wird daher nicht durch
Änderungen des aktuellen Kontostands oder des Kreditlimits der Kunden beeinflusst.

Paardiagramm für alle Variablen

10 | S e i t e
Mit Hilfe des obigen Paardiagramms können wir die univariaten und bivariaten Trends für alle
Variablen im Datensatz verstehen.

11 | S e i t e
1.2 Zur Begründung, ob für das Clustering in diesem Fall eine Skalierung
notwendig ist
Die Funktionsskalierung oder Standardisierung ist eine Technik für Algorithmen des maschinellen
Lernens, die bei der Vorverarbeitung der Daten hilft. Es wird auf unabhängige Variablen
angewendet, was dazu beiträgt, die Daten in einem bestimmten Bereich zu normalisieren. Wenn
die Merkmalsskalierung nicht durchgeführt wird, neigt ein maschineller Lernalgorithmus dazu,
unabhängig von der Einheit der Werte größere Werte, höhere Werte und kleinere Werte als
niedrigere Werte zu betrachten.

Für die uns zur Verfügung gestellten Daten ist eine Skalierung erforderlich, da alle Variablen in
verschiedenen Einheiten ausgedrückt werden, z. B. Ausgaben in 1000er Jahren, Vorauszahlungen in
100er Jahren und Kreditlimit in 10000er Jahren, während die Wahrscheinlichkeit als Bruch- oder
Dezimalwerte ausgedrückt wird. Da die anderen Werte, die in höheren Einheiten ausgedrückt
werden, die Wahrscheinlichkeiten überwiegen und unterschiedliche Ergebnisse liefern können, ist es
wichtig, die Daten mit dem Standardskalierer zu skalieren und daher die Werte zu normalisieren, bei
denen der Mittelwert 0 und die Standardabweichung 1 sind.

Die Skalierung der Daten erfolgt durch den Import eines Pakets namens StandardScaler aus
sklearn.preprocessing. Für die weitere Clusterung des Datensatzes verwenden wir die skalierten
Daten „scaled_bank_df“.

12 | S e i t e
1.3 Hierarchisches Clustering auf skalierte Daten durchzuführen und die
Anzahl der optimalen Cluster mit Dendrogram zu identifizieren und kurz zu
beschreiben.

Clusteranalyse oder Clustering ist eine weit verbreitete Technik des unbeaufsichtigten Lernens im
maschinellen Lernen. Clustering kann in zwei Kategorien unterteilt werden, nämlich hierarchisches
und K-Mittel-Clustering.

Hierarchisches Clustering, auch bekannt als hierarchische Clusteranalyse, ist ein Algorithmus, der
ähnliche Objekte in Gruppen gruppiert, die als Cluster bezeichnet werden. Der Endpunkt ist eine
Gruppe von Clustern, wobei sich jeder Cluster von jedem anderen Cluster unterscheidet und die
Objekte innerhalb jedes Clusters einander weitgehend ähnlich sind. Es gibt zwei Arten von
hierarchischer Clusterbildung, spaltend und agglomerativ.

Für den betreffenden Datensatz werden wir die Agglomerative Hierarchical Clustering-Methode
verwenden, um optimale Cluster zu erstellen und den Datensatz auf der Grundlage dieser Cluster zu
kategorisieren.

Um ein Dendrogramm mit unseren skalierten Daten zu erstellen, haben wir zunächst das Paket
Dendrogramm, Verknüpfung aus scipy.cluster.hierarchy importiert. Mit dieser Funktion haben wir
ein Dendrogramm erstellt, das zwei Cluster sehr deutlich zeigt. Nun werden wir die

13 | S e i t e
Zusammensetzung dieser beiden Cluster mit "maxclust" und "distance" überprüfen. Wie von oben
zu sehen ist, nehmen wir nun 2 Cluster für unsere weitere Analyse.

Diese obige Grafik zeigt die letzten 10 Links im Dendrogramm.

14 | S e i t e
Die beiden oben genannten Methoden zeigen die bezeichneten Cluster, die jedem Kunden
zugeordnet sind. Wir haben die beiden Cluster mit zwei Methoden aus dem fcluster-Paket getrennt.

1.4 K-Means-Clustering auf skalierten Daten durchzuführen und optimale


Cluster zu bestimmen. Wenden Sie die Ellenbogenkurve und den Silhouetten-
Score an.
K-Means-Clustering ist einer der unbeaufsichtigten Algorithmen für maschinelles Lernen. Der K-
Means-Algorithmus identifiziert die k-Zahl der Zentroide und ordnet dann jeden Datenpunkt dem
nächstgelegenen Cluster zu, wobei die Zentroide so klein wie möglich gehalten werden.

Für den Datensatz verwenden wir K-Means-Clustering auf skalierten Daten und identifizieren die
gebildeten Cluster und verwenden sie weiter, um Tools zu entwickeln, die jede Gruppe separat
ansprechen.

Zunächst haben wir den Datensatz mit dem StandardScaler-Paket aus sklearn.preprocessing skaliert
und zeichnen nun mit scaled_bank_df zwei Kurven, um die optimale Anzahl von Clustern(k) zu
bestimmen, die für unser Clustering verwendet werden sollen. Die beiden Methoden sind nämlich
innerhalb der Summe der Quadrate(wss) -Methode und der durchschnittlichen Silhouette-Scores-
Methode.

15 | S e i t e
Gemäß dem obigen Diagramm, d. h. innerhalb der Summe der Quadrate (wss) -Methode, können
wir schließen, dass die optimale Anzahl von Clustern, die für das k-Means-Clustering genommen
werden sollen, 3 beträgt, da gemäß der Ellbogenmethode leicht in der Kurve zu sehen ist, dass die
Kurve nach 3 flach wird

16 | S e i t e
Gemäß der Darstellung der durchschnittlichen Silhouettenwerte ist zu sehen, dass der höchste
Durchschnittswert k=3 entspricht. Daher können wir nach beiden Methoden, d. h. innerhalb der
Summe der Quadrate und der Silhouettenmethode, schließen, dass die optimale Anzahl von k oder
Clustern, die für das k-Means-Clustering genommen werden muss, 3 beträgt.

Die Silhouettenwerte und Silhouettenbreiten werden mit dem Paket silhouette_samples und
silhouette_score aus sklearn.metrics berechnet. Der durchschnittliche Silhouettenwert liegt bei
0,400 und der minimale Silhouettenwert bei 0,002. Der Silhouetten-Score reicht von -1 bis +1 und
höher, der Silhouetten-Score verbessert das Clustering.

17 | S e i t e
1.5. Clusterprofile für die Cluster zu beschreiben und unterschiedliche
Werbestrategien für unterschiedliche Cluster zu empfehlen.

Der letzte Schritt besteht nun darin, die Cluster zu identifizieren, die wir mithilfe von hierarchischem
Clustering und K-Means-Clustering für unsere Marktsegmentanalyse erstellt haben, und
Werbestrategien für die verschiedenen Cluster zu entwickeln. Da wir aus der obigen Analyse 2
Cluster aus dem hierarchischen Clustering und 3 optimale Cluster aus dem k-means Clustering
identifiziert haben. Wir werden nun weiter analysieren und den besten Clustering-Ansatz ermitteln,
der für das vorliegende Marktsegmentierungsproblem hilfreich sein kann. Wir werden zuerst die
Cluster aus beiden Methoden zeichnen und zuordnen.

HIERARCHISCHES

K-MITTEL-CLUSTERING

18 | S e i t e
In der folgenden Tabelle haben wir nun die Mittelwerte für alle Variablen der fünf Cluster
tabellarisch dargestellt, die aus dem obigen Clustering mit hierarchischen und K-Means-Methoden
erstellt wurden. Gemäß den Werten können wir die Cluster für hierarchische Cluster in zwei und für
K-Means-Cluster in drei Segmente segmentieren.

Segmente

Hierarchischer Cluster 1: Dieses Segment hat höhere Ausgaben pro Monat, ein hohes
Leistungsbilanz- und Kreditlimit. Dies ist die wohlhabende oder Oberschicht mit wesentlich
höherem Einkommen. Dieses Segment kann mit verschiedenen Angeboten wie Karten mit
Belohnungen und Treuepunkten für jeden ausgegebenen Betrag gezielt angegangen werden.

Hierarchischer Cluster 2: Dieses Segment muss die Ausgaben pro Monat bei niedrigem
Leistungsbilanzsaldo und niedrigerem Kreditlimit senken. Dies ist die Mittelschicht mit niedrigem
Einkommen. Dieses Segment kann mit Karten angesprochen werden, die niedrigere Zinssätze haben,
um mehr Ausgaben zu fördern.

K-Means Cluster 0: Dieses Segment hat die niedrigsten Ausgaben pro Monat, den niedrigsten
aktuellen Saldo und das niedrigste Kreditlimit. Dies ist die finanziell gestresste Klasse mit
durchschnittlich sehr niedrigem Einkommen. Dieses Segment kann mit Karten mit Angeboten wie
Null Jahresgebühren angesprochen werden und mit Vorteilen wie kostenlosen Coupons oder Tickets
und Verzichten auf eine Vielzahl von Orten lauern.

K-Means Cluster 1: Dieses Segment hat höhere Ausgaben pro Monat, ein hohes Leistungsbilanz- und
Kreditlimit. Dies ist die wohlhabende oder Oberschicht mit wesentlich höherem Einkommen. Dieses
Segment kann mit verschiedenen Angeboten wie Karten mit Belohnungen und Treuepunkten für
jeden ausgegebenen Betrag gezielt angegangen werden.

K-Means Cluster 2: Dieses Segment muss die Ausgaben pro Monat bei niedrigem
Leistungsbilanzsaldo und niedrigerem Kreditlimit senken. Dies ist die Mittelschicht mit niedrigem
Einkommen. Dieses Segment kann mit Karten angesprochen werden, die niedrigere Zinssätze haben,
um mehr Ausgaben zu fördern.

VARIABLEN Ausgabe Anzahlun Wahrschei Aktueller Kreditli Min. Maximal


n gen nlichkeit Saldo mit Zahlungs e
der betrag Ausgabe
vollständig n für
en Einzelein
Zahlung käufe

Hierarchisc 18.62 16.26 0.88 6.19 3.71 3.66 6.06


h (Cluster
1)

Hierarchisc 13.23 13.83 0.87 5.39 3.07 3.71 5.13


h (Cluster

19 | S e i t e
2)

K-Means 11.86 13.25 0.85 5.23 2.85 4.74 5.1


(Cluster 0)

K-Mittel 18.5 16.2 0.88 6.18 3.7 3.63 6.04


(Cluster 1)

K-Mittel 14.43 14.33 0.88 5.51 3.26 2.7 5.12


(Cluster 2)

PROBLEM 2: CART-RF-ANN
ANNAHMEN
Der uns zur Verfügung gestellte Datensatz wird als "insurance_part2_data.csv" gespeichert,
der Daten von 3000 Kunden und 10 Variablen enthält, nämlich:

Alter Alter der versicherten Person

Agency_Code Code des Reisebüros

Typ Art der Reiseversicherungen

Beansprucht Ziel: Forderungsstatus

Provision Die erhaltene Provision für die Reiseversicherung

Kanal Vertriebsweg von Reiseversicherungen

Dauer Dauer der Tour

Vertrieb Höhe des Umsatzes von Reiseversicherungen

Produktname Name der Reiseversicherungsprodukte

Ziel Ziel der Tour

PAKETE IMPORTIEREN
Um den Datensatz zu importieren und eine explorative Datenanalyse für den gegebenen
Datensatz durchzuführen, haben wir die folgenden Pakete importiert:

20 | S e i t e
LÖSUNGEN
2.1 Um den Datensatz zu lesen und die deskriptive Statistik durchzuführen
und die Nullwertbedingung zu überprüfen und eine Inferenz darauf zu
schreiben.

Importieren des Datensatzes

Der betreffende Datensatz wird mit der Funktion pd.read_csv () in jupyter notebook importiert und
in „claim_df“ gespeichert. Die oberen 5 Zeilen des Datensatzes werden mit der Funktion pd.head ()
angezeigt.

Dimension des Datensatzes

Aufbau des Datensatzes

Die Struktur des Datensatzes kann mit der Funktion pd.info () berechnet werden.

21 | S e i t e
Zusammenfassung des Datensatzes

Die Zusammenfassung des Datensatzes kann mit der Funktion pd.describe () berechnet werden.

Überprüfung auf fehlende Werte

Die fehlenden Werte oder "NA" müssen überprüft und aus dem Datensatz gelöscht werden, um die
Auswertung zu vereinfachen, und Nullwerte können zu Fehlern oder Ungleichheiten bei den
Ergebnissen führen. Fehlende Werte können mit der Funktion .isnull().sum() berechnet werden.

22 | S e i t e
Wie aus dem obigen Befehl berechnet, hat der Datensatz keine Null- oder NA-Werte.

Löschen der unwichtigen Spalten

In diesem Datensatz ist "Agency_Code" die Spalte, die nicht für unsere Analyse verwendet werden
kann. Daher werden wir diese Spalte mit der Funktion .drop () löschen.

Univariate Analyse

Histogramme werden für alle numerischen Variablen mit der Funktion sns.displot () aus dem
Seaborn-Paket dargestellt.

23 | S e i t e
Balkenplots werden für alle kategorialen Variablen mit der Funktion sns.countplot() aus dem
Seaborn-Paket dargestellt.

24 | S e i t e
Boxplots von Variablen, um nach Ausreißern zu suchen

Löschen der Ausreißer aus dem Datensatz

25 | S e i t e
Schlussfolgerung: Nach dem Plotten der Boxplots für alle numerischen Variablen können wir zu dem
Schluss kommen, dass in den Variablen Alter, Provision, Dauer und Umsatz eine sehr hohe Anzahl
von Ausreißern vorhanden ist, was bedeutet, dass wir diese Ausreißerwerte behandeln müssen, um
mit unserem Modellaufbau und unserer Analyse fortzufahren, da diese Werte Fehler verursachen
und von den tatsächlichen Ergebnissen abweichen können.

Aus den obigen Grafiken können wir schließen, dass die Mehrheit der Kunden, die einen Anspruch in
unseren Daten geltend machen, zur Altersgruppe der 25-40-Jährigen gehören, wobei die Art des
Reisebüros Reisebüro ist, der Kanal online ist, der Produktname ein kundenspezifischer Plan ist und
das Reiseziel Asien ist.

Multivariate Analyse

Heatmap (Beziehungsanalyse)

Wir werden nun eine Heatmap oder Korrelationsmatrix zeichnen, um die Beziehung zwischen
verschiedenen Variablen in unserem Datensatz zu bewerten. Dieses Diagramm kann uns helfen,
Korrelationen zwischen verschiedenen Variablen zu überprüfen.

Wie aus der obigen Heatmap hervorgeht, besteht keine oder eine extrem geringe Korrelation
zwischen den im Datensatz angegebenen Variablen.

26 | S e i t e
2.2. Um die Daten in Test und Training aufzuteilen, erstellen Sie ein
Klassifizierungsmodell CART, Random Forest und Artificial Neural
Network.

Konvertieren des Datentyps ‘object’ in ‘int’


Für unsere Analyse und den Aufbau des Entscheidungsbaums und des Zufallswalds müssen wir
die Variablen mit dem Datentyp "Objekt" konvertieren und in Ganzzahlen konvertieren.

Aufteilung des Datensatzes in Zug- und Testdaten (70:30)


Für die Erstellung der Modelle müssen wir nun den Datensatz in Trainings- und Testdaten im
Verhältnis 70:30 aufteilen. Diese beiden Datensätze werden in X_Train und X_Test mit ihren
entsprechenden Abmessungen wie folgt gespeichert

27 | S e i t e
WAGENMODELL
Klassifizierungs- und Regressionsbäume (CART) sind eine Art Entscheidungsbäume, die im Data
Mining verwendet werden. Es handelt sich um eine Art von überwachter Lerntechnik, bei der
das vorhergesagte Ergebnis entweder eine diskrete oder eine Klasse (Klassifizierung) des
Datensatzes ist oder das Ergebnis kontinuierlicher oder numerischer Natur ist (Regression).

Mit dem Zugdatensatz(X_Train) erstellen wir ein Wagenmodell und testen das Modell dann
weiter am Testdatensatz (X_Test)

Für die Erstellung des CART Modells wurden zwei Pakete importiert, nämlich
„DecisionTreeClassifier“ und „tree“ aus sklearn.

Mit Hilfe von DecisonTreeClassifier erstellen wir ein Entscheidungsbaummodell, nämlich


dt_model, und unter Verwendung der "gini" -Kriterien passen wir die Zugdaten in dieses Modell
ein. Danach erstellen wir mithilfe des Baumpakets eine Punktdatei, nämlich claim_tree.dot, um
den Baum zu visualisieren.

Nachfolgend finden Sie die Werte für die Variable Wichtigkeit oder die Wichtigkeit der Funktion
zum Erstellen des Baums.

28 | S e i t e
Mit dem GridSearchCV-Paket von sklearn.model_selection identifizieren wir die besten
Parameter, um einen regularisierten Entscheidungsbaum zu erstellen. Daher haben wir ein paar
Iterationen mit den Werten durchgeführt, um die besten Parameter zum Erstellen des
Entscheidungsbaums zu erhalten, die wie folgt sind

Diese besten Rasterparameter werden fortan verwendet, um den regularisierten oder


beschnittenen Entscheidungsbaum zu erstellen.

Der regularisierte Entscheidungsbaum wurde unter Verwendung der oben berechneten besten
Rasterparameter und mit den "Gini" -Kriterien formuliert, die er in den Zugdatensatz passt. Der

29 | S e i t e
regularisierte Baum wird als DOT-Datei gespeichert, nämlich claim_tree_regularised.dot, und
kann mit webgraphviz im Browser angezeigt werden.

Zufälliger Wald
Random Forest ist eine weitere Technik des überwachten Lernens, die im maschinellen Lernen
verwendet wird und aus vielen Entscheidungsbäumen besteht, die bei Vorhersagen mit einzelnen
Bäumen helfen und die besten Ergebnisse daraus auswählen.

Mit dem Zugdatensatz(X_Train) erstellen wir ein Random-Forest-Modell und testen das Modell dann
weiter am Testdatensatz (X_Test)

Zur Erstellung des Random Forest wird das Paket „RandomForestClassifier“ aus sklearn.metrics
importiert.

Mit dem GridSearchCV-Paket von sklearn.model_selection identifizieren wir die besten Parameter
zum Erstellen einer zufälligen Gesamtstruktur, nämlich rfcl. Daher haben wir ein paar Iterationen mit
den folgenden Werten durchgeführt, um die besten Parameter für die Erstellung des HF-Modells zu
erhalten:

30 | S e i t e
Mit diesen besten Parametern, die mit GridSeachCV ausgewertet wurden, wird ein Random-Forest-
Modell erstellt, das weiter für die Modellleistungsbewertung verwendet wird.

Künstliches neuronales Netz (ANN)


Artificial Neural Network(ANN) ist ein Rechenmodell, das aus mehreren Verarbeitungselementen
besteht, die Eingänge empfangen und Ausgänge basierend auf ihren vordefinierten
Aktivierungsfunktionen liefern.

Mit dem Zugdatensatz (X_Train) und dem Testdatensatz (X_Test) erstellen wir ein neuronales
Netzwerk mit MLPClassifier aus sklearn.metrics.

Zunächst müssen wir die beiden Datensätze mit dem Standard-Scaler-Paket skalieren.

Mit dem GridSearchCV-Paket von sklearn.model_selection identifizieren wir die besten Parameter
für den Aufbau eines künstlichen neuronalen Netzmodells, nämlich mlp. Daher haben wir ein paar
Iterationen mit den Werten durchgeführt, um die besten Parameter für die Erstellung des ANN-
Modells zu erhalten, die wie folgt sind

31 | S e i t e
Mit diesen besten Parametern, die mit GridSeachCV ausgewertet werden, wird ein künstliches
neuronales Netzmodell erstellt, das weiter für die Modellleistungsbewertung verwendet wird.

2.3. Um die Leistung von Vorhersagen auf Zug- und Testsätzen zu


überprüfen, verwenden Sie Genauigkeit, Verwirrungsmatrix, ROC-Kurve
zeichnen und erhalten Sie ROC_AUC-Score für jedes Modell.
Um die Modellleistung der drei oben erstellten Modelle zu überprüfen, werden bestimmte
Modellbewerter verwendet, d. h. Klassifizierungsbericht, Verwirrungsmatrix, ROC_AUC-Score und
ROC-Diagramm. Sie werden zuerst für Zugdaten und dann für Testdaten berechnet.

WAGENMODELL
Klassifizierungsbericht

32 | S e i t e
Verwirrungsmatrix

ROC_AUC-Score und ROC-Kurve

33 | S e i t e
Modellpunktzahl

Zufälliges Waldmodell
Klassifizierungsbericht

Verwirrungsmatrix

34 | S e i t e
AUC_ROC-Score und ROC-Kurve

Künstliches neuronales Netzmodell


Klassifizierungsbericht

35 | S e i t e
Verwirrungsmatrix

AUC_ROC-Score und ROC-Kurve

36 | S e i t e
2.4. Um alle Modelle zu vergleichen und eine Inferenz zu schreiben, welches
Modell am besten/optimiert ist.

Der Vergleich aller Leistungsbewerter für die drei Modelle ist in der folgenden Tabelle angegeben.
Wir verwenden Precision, F1 Score und AUC Score für unsere Bewertung.

Modell Präzision F1-Punktzahl AUC-Score

WAGENMODELL

Zugdaten 0.67 0.82 0.84

Testdaten 0.61 0.77 0.76

Zufälliger Wald

Zugdaten 0.71 0.82 0.84

Testdaten 0.65 0.77 0.80

Neuronales Netz

Zugdaten 0.68 0.82 0.84

Testdaten 0.60 0.76 0.79

Einblicke:
Aus der obigen Tabelle geht hervor, dass das Random-Forest-Modell im Vergleich zu den beiden
anderen Modellen eine gute Leistung erbringt, da es sowohl für Trainings- als auch für Testdaten
hohe Genauigkeiten aufweist. Obwohl der AUC-Score für alle drei Modelle für Trainingsdaten gleich
ist, ist er für Testdaten für das Random-Forest-Modell am höchsten. Die Wahl des Random-Forest-
Modells ist in diesem Fall die beste Option, da es im Vergleich zu einem einzelnen
Entscheidungsbaum oder einem mehrschichtigen neuronalen Netzwerk eine sehr geringe Varianz
aufweist.

37 | S e i t e
2.5. Bereitstellung von Geschäftseinblicken und Empfehlungen.

Für das Geschäftsproblem eines Versicherungsunternehmens, das eine Reiseversicherung


anbietet, haben wir versucht, einige Datenmodelle für Vorhersagen von
Wahrscheinlichkeiten zu erstellen. Die Modelle, die versucht werden, sind nämlich CART
oder Classification and Regression Trees, Random Forest und Artificial Neural
Network(MLP). Die drei Modelle werden dann anhand von Trainings- und Testdatensätzen
bewertet und ihre Modellleistungswerte werden berechnet.
Die Genauigkeits-, Präzisions- und F1-Punktzahl werden mithilfe des Klassifizierungsberichts
berechnet. Die Verwirrungsmatrix, die AUC_ROC-Scores und das ROC-Diagramm werden für
jedes Modell separat berechnet und verglichen. Alle drei Modelle haben sich gut bewährt,
aber um unsere Genauigkeit bei der Bestimmung der von den Kunden geltend gemachten
Ansprüche zu erhöhen, können wir das Random-Forest-Modell wählen. Anstatt einen
einzelnen Entscheidungsbaum zu erstellen, kann er mehrere Entscheidungsbäume erstellen
und somit den besten Antragsstatus aus den Daten bereitstellen.
Wie aus den obigen Leistungskennzahlen des Modells hervorgeht, haben sich Random
Forest und ANN bei allen Modellen, d. h. CART, außergewöhnlich gut entwickelt. Daher
können wir eines der Modelle auswählen, aber die Wahl des Random-Forest-Modells ist
eine großartige Option, da sie zwar die gleiche Genauigkeit aufweisen, aber die Wahl des
Random-Forest-über-Cart-Modells ist viel besser, da sie viel weniger Varianz haben als ein
einzelner Entscheidungsbaum.

38 | S e i t e

Das könnte Ihnen auch gefallen