diff --git a/CRM/Customer Satisfaction Airlines/notebook.ipynb b/CRM/Customer Satisfaction Airlines/notebook.ipynb index f13d96a023bfedd5f56b27722356351d26bca4df..db1f3d7a0ac8a4898a9b573fea747f040b004852 100644 --- a/CRM/Customer Satisfaction Airlines/notebook.ipynb +++ b/CRM/Customer Satisfaction Airlines/notebook.ipynb @@ -1,61 +1,69 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "metadata": { "editable": true, - "include": true, - "paragraph": "BusinessUnderstanding", + "include": false, + "paragraph": "Business", "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ - "# 1. Business Understanding\n", - "\n", - "Der Datensatz besteht aus den Angaben von Kunden, die bereits mit ihnen geflogen sind. Das Feedback der Kunden zu verschiedenen Kontexten und deren Flugdaten wurde konsolidiert. Der Hauptzweck dieses Datensatzes besteht darin, vorherzusagen, ob ein zukünftiger Kunde angesichts der Details der anderen Parameterwerte mit seinem Service zufrieden sein würde. Auch die Fluggesellschaften müssen wissen, auf welchen Aspekt der von ihnen angebotenen Dienstleistungen mehr Wert gelegt werden muss, um zufriedenere Kunden zu generieren." + "# 1. Business Understanding" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": { "editable": true, "include": true, - "paragraph": "DataUnderstanding", + "paragraph": "Business", "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ - "# 2. Daten und Datenverständnis\n", - "\n" + "Der Datensatz besteht aus den Angaben von Kunden, die bereits mit ihnen geflogen sind. Das Feedback der Kunden zu verschiedenen Kontexten und deren Flugdaten wurde konsolidiert. Der Hauptzweck dieses Datensatzes besteht darin, vorherzusagen, ob ein zukünftiger Kunde angesichts der Details der anderen Parameterwerte mit seinem Service zufrieden sein würde. Auch die Fluggesellschaften müssen wissen, auf welchen Aspekt der von ihnen angebotenen Dienstleistungen mehr Wert gelegt werden muss, um zufriedenere Kunden zu generieren." ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 2.1 Import von relevanten Modulen" + "# 2. Data and Data Understanding\n", + "\n" ] }, { - "cell_type": "code", - "execution_count": 1, + "cell_type": "markdown", "metadata": { "editable": true, - "jupyter": { - "source_hidden": true - }, + "include": true, + "paragraph": "Daten", "slideshow": { "slide_type": "" }, "tags": [] }, + "source": [ + "Der Datensatz dieser Demo wurde auf der Kaggle Data Science Plattform veröffentlicht. Die Daten in dem Notebook stammen von einer Fluggesellschaft, deren Name aus verschiedenen Gründen nicht bekannt gegeben wurde. Das Datenset enthält Details von Kunden, die bereits mit dieser Fluggesellschaft geflogen sind. Die Rückmeldungen der Kunden zu verschiedenen Aspekten des Services und ihre Flugdaten wurden zusammengefasst. Der Hauptzweck dieses Datensets besteht darin, vorherzusagen, ob ein zukünftiger Kunde mit dem Service zufrieden sein wird, basierend auf den Details und Bewertungen anderer Kunden. Darüber hinaus möchte die Fluggesellschaft wissen, auf welche Aspekte ihrer Dienstleistungen sie mehr Wert legen sollte, um eine höhere Kundenzufriedenheit zu erzielen." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.1 Import of Relevant Modules" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -72,23 +80,16 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 2. Daten einlesen" + "## 2. Read Data" ] }, { "cell_type": "code", "execution_count": 2, - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [ { "data": { @@ -1063,17 +1064,8 @@ ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "include": true, - "paragraph": "DataUnderstanding", - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "Der Datensatz besteht aus 129.880 Zeilen und 23 Attributen:\n", "\n", @@ -1161,19 +1153,32 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Keine Duplikate im Datensatz" + "No duplicates in data frame." ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 2.3 Datenbereinigung" + "## 2.3 Data Cleaning" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "include": true, + "paragraph": "Datenvorbereitung", + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Im Notebook werden die Daten in mehreren Schritten systematisch vorbereitet. Zunächst werden die notwendigen Bibliotheken geladen, um die Datenverarbeitung und -visualisierung zu ermöglichen. Die Daten werden aus einer CSV-Datei von einer Online-Quelle importiert. Nach dem Import erfolgt eine erste Inspektion der Daten, um deren Struktur und das Vorhandensein fehlender Werte zu überprüfen. Duplikate werden identifiziert und entfernt, ebenso wie fehlende Werte bereinigt werden, um eine vollständige Datengrundlage zu gewährleisten. Zur Analyse der Verteilung der numerischen Daten werden Histogramme erstellt. Die Korrelationen zwischen den numerischen Variablen werden mittels einer Korrelationsmatrix visualisiert, um die Beziehungen zwischen den Variablen zu erkennen. Kategoriale Variablen werden in numerische Codes umgewandelt, um sie für maschinelles Lernen nutzbar zu machen. Die Daten werden dann in Trainings- und Testdatensätze aufgeteilt, typischerweise im Verhältnis 80% zu 20%, um die Modellleistung zu validieren. Schließlich werden die Daten normalisiert, um einheitliche Skalen zu gewährleisten und die Modellgenauigkeit zu verbessern. Diese vorbereitenden Schritte sorgen dafür, dass die Daten optimal für die anschließende Analyse und Modellierung geeignet sind." ] }, { @@ -1220,7 +1225,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1321,23 +1325,21 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Alle Nullwerte wurden entfernt" + "All null values are removed." ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 2.4. Deskriptive Analyse\n", + "## 2.4. Descriptive Analysis\n", "\n", - "In diesem Teil des Notizbuchs wird die explorative Datenanalyse verwendet, um das Verständnis der Daten zu ermitteln.\n", + "In this part of the notebook, exploratory data analysis will be used to account for data understanding.\n", "\n", - "Nach Abzug der Nullwerte besteht der Datensatz aus 129187 Zeilen, einer Zeile, die jeden Kunden beschreibt, und 21 Spalten, die die Eigenschaften der Kunden definieren. Anhand dieser Daten wird versucht zu klassifizieren, ob ein Kunde zufrieden ist oder nicht. Zu diesem Zweck enthalten die historischen Daten die Zielvariable \"Zufriedenheit\", die Auskunft darüber gibt, ob ein Kunde zufrieden ist.\n" + "After removing the zero values, the data set consists of 129187 rows, one row describing each customer, and 21 columns defining the attributes of the customers. This data will be used to try to classify whether a customer is satisfied or not. For this purpose, the historical data contains the target variable \"Satisfaction\", which provides information about whether a customer is satisfied." ] }, { @@ -1391,11 +1393,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 2.4.1 Numerische Attribute" + "## 2.4.1 Numeric Attributes" ] }, { @@ -1455,11 +1456,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Alter" + "### Age" ] }, { @@ -1495,11 +1495,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Sitzkomfort" + "### Seat comfort" ] }, { @@ -1535,11 +1534,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Essen und Trinken" + "### Food and Drink" ] }, { @@ -1575,11 +1573,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Wifi-Service an Bord" + "### Inflight wifi service" ] }, { @@ -1615,11 +1612,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Unterhaltung während des Fluges" + "### Inflight entertainment" ] }, { @@ -1655,7 +1651,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1695,11 +1690,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Einfachheit der Online-Buchung" + "### Ease of Online booking" ] }, { @@ -1735,11 +1729,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Service an Bord" + "### On-board service" ] }, { @@ -1775,11 +1768,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Beinraum-Service" + "### Leg room service" ] }, { @@ -1815,11 +1807,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Gepäckabfertigung" + "### Baggage handling" ] }, { @@ -1855,7 +1846,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1895,11 +1885,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "### Sauberkeit" + "### Cleanliness" ] }, { @@ -1935,7 +1924,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -2010,27 +1998,24 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Die Korrelationsmatrix zeigt, dass die Attribute \"Flugentfernung\", \"Sitzkomfort\" und \"Alter\" eine kritische positive Korrelation von über 0,8 aufweisen. Dieser Zusammenhang wird später im Rahmen der Multikollinearität erneut untersucht und muss entfernt werden." + "The correlation matrix shows that the attributes \"Flight Distance\", \"Seat Comfort\" and \"Age\" have a critical positive correlation of over 0.8. This relationship will be re-examined later as part of the multicollinearity and must be removed." ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 2.4.2. Kategoriale Merkmale" + "## 2.4.2. Categorical Features" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Die Zielvariable Zufriedenheit wird auf Null (unzufrieden) und Eins (zufrieden) abgebildet, damit eine grafische Darstellung mit den kategorialen Variablen erstellt werden kann." + "The target variable Satisfaction is mapped to zero (dissatisfied) and one (satisfied) so that a graphical representation can be created with the categorical variables.\n" ] }, { @@ -2123,19 +2108,18 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Aus dem Diagramm geht hervor, dass insgesamt 70000 Kunden mit den Dienstleistungen von AIRCO Airlines zufrieden sind und etwa 60000 Kunden unzufrieden sind. Der Datensatz unserer Zielvariablen ist ausgeglichen" + "From the graph, we can see that a total of 70000 customers are satisfied with the services of AIRCO Airlines and about 60000 customers are dissatisfied.\n", + "The dataset of our target variable is balanced" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Die kategorischen Attribute werden in Bezug auf die Zielvariable gesetzt." + "The categorical attributes are set in relation to the target variable." ] }, { @@ -2169,21 +2153,19 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Aus den obigen Diagrammen können wir Folgendes schließen:\n", + "From the above charts we can conclude the following:\n", "\n", - "Weibliche Kunden, die mit AIRCO Airlines geflogen sind, sind zufriedener als männliche Kunden. Loyale Kunden sind zufriedener als untreue Kunden. Personen, die aus geschäftlichen Gründen reisen, sind zufriedener als solche, die aus privaten Gründen reisen. Mehr Kunden reisen in der Business Class und sind auch zufriedener als diejenigen, die in der Economy Class fliegen." + "Female customers who have flown with AIRCO Airlines are more satisfied than male customers. Loyal customers are more satisfied than unfaithful ones. People who travel for business reasons are more satisfied than those who travel for personal reasons. More customers travel business class and are also more satisfied than those who fly economy class." ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## Korrelationsanalyse" + "## Correlation Analysis" ] }, { @@ -2211,7 +2193,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -2255,37 +2236,23 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "# 3. Datenaufbereitung" + "# 3. Data Preparation" ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ - "## 3.1 Zielvariable (Satisfaction)" + "## 3.1 Target Variable (Satisfaction)" ] }, { "cell_type": "code", "execution_count": 36, - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [ { "data": { @@ -2542,11 +2509,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 3.2. Umkodierung von kategorialen Variablen" + "## 3.2. Reoding of Categorical Variables" ] }, { @@ -2784,27 +2750,17 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 3.3. Test auf Multikollinearität" + "## 3.3. Test for Multicollinearity" ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "include": true, - "paragraph": "DataPreparation", - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ - "Um ein korrektes Funktionieren der späteren Regression zu gewährleisten, darf keine Multikollinearität zwischen den Variablen bestehen. Das Vorhandensein einer solchen wird mit Hilfe der Bibliothek Statsmodel überprüft." + "In order to ensure correct operation of the later regression, there must be no multicollinearity between the variables. The presence of the same is checked with the help of the library Statsmodel." ] }, { @@ -2856,11 +2812,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Die \"Einfachheit der Online-Buchung\" hat den höchsten VIF und wird aus dem Datensatz entfernt." + "\"Ease of Online booking\" has the highest VIF and is removed from the data set." ] }, { @@ -2920,11 +2875,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "\"Sauberkeit\" hat nun den höchsten VIF und wird aus dem Datensatz entfernt." + "\"Cleanliness\" now has the highest VIF and is removed from the data set." ] }, { @@ -2983,11 +2937,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "\"Online-Support\" hat nun den höchsten VIF und wird aus dem Datensatz entfernt." + "\"Online support\" now has the highest VIF and is removed from the data set." ] }, { @@ -3045,7 +2998,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -3106,11 +3058,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "\"Sitzkomfort\" hat nun den höchsten VIF und wird aus dem Datenrahmen entfernt." + "\"Seat comfort\" has now the highest VIF und will be removed frome data frame." ] }, { @@ -3166,11 +3117,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "\"Inflight Wifi Service\" hat nun den höchsten VIF und wird aus dem Datenrahmen entfernt." + "\"Inflight wifi service\" has now the highest VIF and will be removed from data frame." ] }, { @@ -3225,11 +3175,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "\"Inflight Entertainment\" hat nun den höchsten VIF und wird aus dem Datenrahmen entfernt." + "\"Inflight entertainment\" has now the highest VIF and will be removed from data frame." ] }, { @@ -3283,11 +3232,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "\"On-board service\" hat nun die höchste VIF und wird aus dem Datenrahmen entfernt." + "\"On-board service\" has now the highest VIF and will be removed from data frame." ] }, { @@ -3340,19 +3288,17 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Keine der Variablen hat jetzt einen VIF-Wert von mehr als 10." + "Non of the variables now has a VIF higer than 10." ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 3.4. Merkmalsskalierung" + "## 3.4. Feature Scaling" ] }, { @@ -3513,11 +3459,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 3.5. Erstellen von Test- & Trainingsdaten" + "## 3.5. Create Test and Training Data" ] }, { @@ -3533,47 +3478,39 @@ ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ - "# 4. Modellierung und Evaluation" + "# 4. Modelling and Evaluation" ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ - "## 4.1. Logistische Regression\n" + "## 4.1. Logistic Regression\n" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": { "editable": true, "include": true, - "paragraph": "Modeling", + "paragraph": "Datenmodell", "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ - "Zur Lösung des Problems wird die logistische Regression verwendet. Hierfür werden die beiden Bibliotheken Statsmodels und Scikit-Learn verwendet. Die vollständige Auswertung des Modells findet erst im Unterkapitel zu Scikit-Learn statt." + "Als Datenmodell wird eine logisitische Regression verwendet. Dies bietet sich zur Klassifikation der Kunden auf eine binäre Zielvariable an." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Logistic regression is used to solve the problem. The two libraries Statsmodels and Scikit-Learn are used for this. The complete evaluation of the model takes place only in the subchapter to Scikit-Learn." ] }, { @@ -3636,19 +3573,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "include": true, - "paragraph": "Modeling", - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ - "Das trainierte Modell zeigt statistisch nicht-signifikante Variablen an. Dies ist gegeben, wenn der Wert P>|z| größer als 0,05 ist und es sich nicht um die Konstante handelt." + "The trained model shows statistically non-significant variables. This is given if the value P>|z| is greater than 0.05 and it is not the constant." ] }, { @@ -3664,11 +3592,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Nun kann ein zweites Modell erstellt werden." + "Now a second modell can be created." ] }, { @@ -3715,11 +3642,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Es gibt noch eine nicht signifikante Variable " + "There is still one non-significant variable " ] }, { @@ -3735,11 +3661,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Nun kann ein drittes Modell erstellt werden." + "Now a third modell can be created." ] }, { @@ -3785,11 +3710,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Keine nicht-signifikanten Variablen mehr. Das endgültige Modell wird erstellt." + "No non-signifikanten Variables anymore. The final Modell is created." ] }, { @@ -3847,7 +3771,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -3855,7 +3778,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": { "editable": true, @@ -3866,12 +3788,18 @@ }, "tags": [] }, + "source": [ + "Für die Bewertung der Qualität einer Klassifikation werden Metriken wir Accuracy (= allgemeine Genauigkeit der Klassifikation), Precision (= Präzision der Vorhersage der Kundenabwanderung) und Recall (= Menge der abwanderungswilligen Kunden die korrekt klassifiziert wurden) genutzt. In einer ersten Modellstufe wird eine Accuracy von 93,74%, ein Recall von 94,58% sowie eine Precision von 93,99% erreicht. Alle drei Werte hier sind extrem hoch, was dazu führ, dass man keine zweite Modellstufe mehr benötigt." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, "source": [ "Zur Evaluation sollen mehrere Metriken verwendet werden, die komfortabler mittels Scikit-Learn erzeugt werden können. Deshalb wird das identische Modell wie mit Statsmodels nochmals in Scikit-Learn erzeugt." ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -3879,7 +3807,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -3910,7 +3837,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -3939,17 +3865,8 @@ ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "include": true, - "paragraph": "Evaluation", - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "Die Accuracy suggiert ein überdurchschnittlich gutes Modell. Es handelt sich aber um einen balanciert Datensatz. " ] @@ -4071,7 +3988,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -4105,7 +4021,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -4113,7 +4028,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -4121,11 +4035,25 @@ ] }, { - "attachments": {}, + "cell_type": "markdown", + "metadata": { + "editable": true, + "include": true, + "paragraph": "Umsetzung", + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Die Umsetzung bzw. Einbindung des Datenmodells bietet sich in CRM-Systemen an. Auf Basis von Kundenbewertungen kann einen vorhersage über Kunden Bewertungen getroffen werden. Auf diese Weise lässt sich vorrausen, wie zufrieden verschiedene Kundensegmenten mit der Airline sind und so direkte Schlüsse daraus ziehen, um die Zufriedenheit verschiedener Kundengruppen zu steigern" + ] + }, + { "cell_type": "markdown", "metadata": {}, "source": [ - "Zunächst sollen jedoch die Ergebnisse für das Unternehmen dargestellt und geklärt werden, welche Dienstleistung zu einer Kundenzufriedenheit führen würde und welche gegen die Kundenzufriedenheit sprechen." + "First, however, the results for the business are to be illustrated and clarified, which service would lead to a customer satisfaction and which speak against the customer satisfaction." ] }, { @@ -4190,15 +4118,14 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Die drei wichtigsten Merkmale, die zur Kundenzufriedenheit führen, sind:\n", + "The three most important features that lead to customer satisfaction are:\n", "\n", - "Der Customer Type_disloyal Customer\n", - "Die Klasse Eco Plus und\n", - "Die Klasse Eco" + "The Customer Type_disloyal Customer\n", + "the Class Eco Plus and\n", + "the Class Eco" ] }, { @@ -4232,31 +4159,28 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Die drei wichtigsten Merkmale, die zu Kundenunzufriedenheit führen\n", + "The three most important features that lead to customer dissatisfaction\n", "\n", - "Das Alter\n", - "Art der Reise_Persönliche Reisen\n", - "Geschlecht Männlich" + "The age\n", + "Type of Travel_Personal Travel\n", + "Gender Male" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## 4.4. Modell Optimierung" + "## 4.4. Model Optimization" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "Die Aufklärungsrate ist als Zielgröße zu niedrig und muss daher erhöht werden. Daher werden die Metriken bei verschiedenen Schwellenwerten der logistischen Regression analysiert." + "The recall rate is too low as a target metric and must therefore be increased. Therefore, the metrics are analyzed at different thresholds of the logistic regression." ] }, { @@ -4477,17 +4401,8 @@ ] }, { - "attachments": {}, "cell_type": "markdown", - "metadata": { - "editable": true, - "include": true, - "paragraph": "Deployment", - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "# 5. Deployment" ] @@ -4495,13 +4410,7 @@ { "cell_type": "code", "execution_count": 80, - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "# seperate individual (scaled) customer\n", @@ -4512,12 +4421,7 @@ "cell_type": "code", "execution_count": 81, "metadata": { - "editable": true, - "scrolled": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] + "scrolled": true }, "outputs": [ { @@ -4585,7 +4489,7 @@ } ], "metadata": { - "category": "CRM", + "dataSource": "https://www.kaggle.com/datasets/sjleshrac/airlines-customer-satisfaction/code?datasetId=562352&sortBy=voteCount", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", @@ -4603,8 +4507,10 @@ "pygments_lexer": "ipython3", "version": "3.12.3" }, + "repoLink": "https://gitlab.reutlingen-university.de/ki_lab/machine-learning-services/-/blob/improvement_increase_customer_satisfaction/CRM/Customer%20Satisfaction%20Airlines/notebook.ipynb", "skipNotebookInDeployment": false, - "title": "Customer Satisfaction Airlines" + "teaser": "In diesem Notebook analysieren wir die Kundenzufriedenheit von Fluggesellschaften.Die Problemstellung besteht darin, die Schlüsselfaktoren für die Zufriedenheit der Passagiere zu identifizieren. Der Datensatz für diese Demo wurde auf der Kaggle Data Science Plattform veröffentlicht. Der Datensatz enthält unter anderem die Spalte Satisfaction, die die Kundenzufriedenheit auf einer Skala von 1 bis 5 bewertet. Bei der Datenvorbereitung wurde besonderer Wert auf die Datenbereinigung gelegt, um fehlende oder fehlerhafte Daten zu entfernen.", + "titel": "Kundenzufriedenheitsanalyse und Vorhersagemodell für Fluggesellschaften" }, "nbformat": 4, "nbformat_minor": 4