"Das weltweit agierende Versicherungsunternehmen New York Life Insurance Company\n",
"Das weltweit agierende Versicherungsunternehmen New York Life Insurance Company\n",
"mit Hauptsitz in den USA betreut Privat- und Geschäftskunden. Der Hauptgeschäftsbereich liegt in der Absicherung der leiblichen Gesundheit im Sinne von Krankenkassen\n",
"mit Hauptsitz in den USA betreut Privat- und Geschäftskunden. Der Hauptgeschäftsbereich liegt in der Absicherung der leiblichen Gesundheit im Sinne von Krankenkassen\n",
"und gesundheitlicher Vorsorge. Dazu gehören neben der klassischen Krankenversicherung auch Unfallversicherungen, Risikolebensversicherungen und Berufsunfähigkeitsversicherungen.\n",
"und gesundheitlicher Vorsorge. Dazu gehören neben der klassischen Krankenversicherung auch Unfallversicherungen, Risikolebensversicherungen und Berufsunfähigkeitsversicherungen.\n",
...
@@ -31,10 +31,19 @@
...
@@ -31,10 +31,19 @@
},
},
{
{
"cell_type": "markdown",
"cell_type": "markdown",
"metadata": {},
"metadata": {
"editable": true,
"include": true,
"paragraph": "Daten",
"slideshow": {
"slide_type": ""
},
"tags": [
"daten"
]
},
"source": [
"source": [
"# 2. Data and Data Understanding \n",
"Um die befragten Personen in diesem Datensatz darzustellen, werden verschiedene Bibliotheken genutzt. Für numerische Berechnungen wird NumPy verwendet, während Pandas zur Datenanalyse dient. Für statistische Modelle kommt Statsmodels zum Einsatz. Visualisierungen werden mit Matplotlib, Plotly Express und Seaborn erstellt. Zur Datenvorverarbeitung werden der StandardScaler und LabelEncoder von scikit-learn genutzt. Für das Modelltraining und die -bewertung werden Funktionen wie train_test_split, DecisionTreeClassifier, RandomForestClassifier, LogisticRegression, KMeans, metrics, confusion_matrix, classification_report und SVM verwendet. Außerdem wird die Multikollinearitätsprüfung mit variance_inflation_factor durchgeführt."
"## 2.1. Import of Relevant Modules "
]
]
},
},
{
{
...
@@ -42,16 +51,91 @@
...
@@ -42,16 +51,91 @@
"metadata": {
"metadata": {
"editable": true,
"editable": true,
"include": true,
"include": true,
"paragraph": "daten",
"paragraph": "Datenvorbereitung",
"slideshow": {
"slideshow": {
"slide_type": ""
"slide_type": ""
},
},
"tags": [
"tags": [
"daten"
"Datenvorbereitung"
]
},
"source": [
"In diesem Prozess werden Duplikate in einer Liste entfernt, wobei lediglich diejenigen Elemente erhalten bleiben, die einzigartig sind. Zunächst erfolgt eine Überprüfung auf das Vorhandensein von Duplikaten in der Liste. Bei Feststellung duplizierter Elemente wird die Funktion data.duplicated(keep=False) aufgerufen. "
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "Datenmodell",
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"Für die Modellerstellung werden der Random Forest, die logistische Regression und der Entscheidungsbaum eingesetzt. Der Random Forest kombiniert mehrere Entscheidungsbäume für robuste Vorhersagen. Die logistische Regression schätzt Wahrscheinlichkeiten, besonders bei binären Klassifikationen. Der Entscheidungsbaum trifft systematisch Entscheidungen basierend auf Attributen. Diese Vielfalt an Modellen ermöglicht eine umfassende Analyse der Daten."
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "Evaluation",
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
" In der heutigen Gesellschaft sind Menschen zunehmend auch psychischen Erkrankungen ausgesetzt, oft bedingt durch Stress und Überlastung am Arbeitsplatz. Psychische Gesundheitsprobleme werden jedoch noch nicht überall als Krankheiten anerkannt. Die Erweiterung des Geschäftsfeldes auf psychische Gesundheitsversicherungen bietet eine strategische Wachstumschance. Dies könnte das Unternehmen von seinen Mitbewerbern abheben und die Kundenzufriedenheit erhöhen. Um Kosten zu sparen, plant das Unternehmen, auf bestehende Daten der OSMI Mental Health in Tech Survey (2016, 2020) zurückzugreifen. Diese Erweiterung würde soziale Verantwortung demonstrieren und zum allgemeinen Wohl beitragen. Herausforderungen bestehen in der Aufklärung über die Bedeutung der psychischen Gesundheitsversicherung und der repräsentativen Nutzung der vorhandenen Daten. Eine kontinuierliche Bewertung und Anpassung ist erforderlich, um eine umfassende und effektive Abdeckung sicherzustellen."
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "Umsetzung",
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"Für das Versicherungsunternehmen New York Life Insurance Company bietet es sich daher an, den Geschäftsbereich zu erweitern und zukünftig nicht nur körperliche, sondern auch psychische Erkrankungen zu versichern. Um zunächst Kosten einzusparen, wird keine eigene Umfrage durch das Unternehmen erstellt, sondern auf schon bestehende Daten zurückgegriffen (OSMI Mental Health in Tech Survey 2016, 2020). Um die Umsetzung zu verwirklichen, sind die folgenden Schritte erforderlich:\n",
"\n",
"Analyse und review der bereits verfügbaren Daten zu psychischen Erkrankungen in der Technologiebranche, um eine umfassende Erklärung des Bedarfs an psychischer Krankenversicherung zu erhalten.\n",
"Durchführung einer internen Studie, um zu ermitteln, ob es bei den eigenen Mitarbeitern ein Bedürfnis nach psychischer Krankenversicherung gibt und welche Krankheiten am häufigsten vorkommen.\n",
"Konsultation von Experten und Branchenvertretern, um die bestmöglichen Produkte und Dienstleistungskonzepte zu entwickeln, die den wachsenden Bedarf an psychischer Krankenversicherung abdecken.\n",
"Erstellung von Nutzendaten und Bedarfsanalysen, um das Produktangebot zu optimieren.\n",
"Implementierung der neuen Produkte und Dienstleistungen, um die Nachfrage nach psychischer Krankenversicherung zu decken.\n",
"Marketing und Kommunikation der neuen Produkte und Dienstleistungen gegenüber den Mitarbeitern und Kunden, um die Akzeptanz zu fördern darüber hinaus ist die Zielgruppe für dieses Modell Versicherungsunternehmen. Dieses Modell bietet den Vorteil, dass es Kandidaten mit hoher Wahrscheinlichkeit für psychische Erkrankungen ablehnen kann. Dadurch können Versicherungen potenziell ihre Risiken und Kosten senken. Das Modell könnte nahtlos in den Standard-Aufnahmeprozess für neue Kunden integriert werden, um die Effizienz und Genauigkeit der Bewerberbewertung zu verbessern."
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "business",
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"## 1 Business Understanding\n"
]
]
},
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"source": [
"Der Code importiert Bibliotheken für numerische Berechnungen (NumPy), Datenanalyse (Pandas), statistische Modelle (Statsmodels), Visualisierungen (Matplotlib, Plotly Express, Seaborn), Datenvorverarbeitung (scikit-learn's StandardScaler und LabelEncoder), Modelltraining und -bewertung (train_test_split, DecisionTreeClassifier, RandomForestClassifier, LogisticRegression, KMeans, metrics, confusion_matrix, classification_report, SVM), sowie Multikollinearitätsprüfung (variance_inflation_factor)"
"# 2. Data and Data Understanding \n",
"## 2.1. Import of Relevant Modules "
]
]
},
},
{
{
...
@@ -951,23 +1035,6 @@
...
@@ -951,23 +1035,6 @@
"## 3.1 Remove duplicates"
"## 3.1 Remove duplicates"
]
]
},
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "Datenvorbereitung",
"slideshow": {
"slide_type": ""
},
"tags": [
"Datenvorbereitung"
]
},
"source": [
"Der Codeabschnitt entfernt Duplikate in einer Liste, indem er alle Elemente beibehält, die nicht doppelt vorhanden sind. Dabei überprüft er zunächst, ob es in der Liste duplizierte Elemente gibt, und wenn ja, ruft er die data.duplicated(keep=False)-Funktion auf. "
]
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 35,
"execution_count": 35,
...
@@ -10337,21 +10404,6 @@
...
@@ -10337,21 +10404,6 @@
"X_test = scaler.transform(X_test)"
"X_test = scaler.transform(X_test)"
]
]
},
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "Datenmodell",
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"Für die Modellerstellung werden der Random Forest, die logistische Regression und der Entscheidungsbaum eingesetzt. Der Random Forest kombiniert mehrere Entscheidungsbäume für robuste Vorhersagen. Die logistische Regression schätzt Wahrscheinlichkeiten, besonders bei binären Klassifikationen. Der Entscheidungsbaum trifft systematisch Entscheidungen basierend auf Attributen. Diese Vielfalt an Modellen ermöglicht eine umfassende Analyse der Daten."
]
},
{
{
"cell_type": "markdown",
"cell_type": "markdown",
"metadata": {
"metadata": {
...
@@ -10747,56 +10799,18 @@
...
@@ -10747,56 +10799,18 @@
"## 5. Evaluation"
"## 5. Evaluation"
]
]
},
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "Evaluation",
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
" In der heutigen Gesellschaft sind Menschen zunehmend auch psychischen Erkrankungen ausgesetzt, oft bedingt durch Stress und Überlastung am Arbeitsplatz. Psychische Gesundheitsprobleme werden jedoch noch nicht überall als Krankheiten anerkannt. Die Erweiterung des Geschäftsfeldes auf psychische Gesundheitsversicherungen bietet eine strategische Wachstumschance. Dies könnte das Unternehmen von seinen Mitbewerbern abheben und die Kundenzufriedenheit erhöhen. Um Kosten zu sparen, plant das Unternehmen, auf bestehende Daten der OSMI Mental Health in Tech Survey (2016, 2020) zurückzugreifen. Diese Erweiterung würde soziale Verantwortung demonstrieren und zum allgemeinen Wohl beitragen. Herausforderungen bestehen in der Aufklärung über die Bedeutung der psychischen Gesundheitsversicherung und der repräsentativen Nutzung der vorhandenen Daten. Eine kontinuierliche Bewertung und Anpassung ist erforderlich, um eine umfassende und effektive Abdeckung sicherzustellen."
]
},
{
{
"cell_type": "markdown",
"cell_type": "markdown",
"metadata": {},
"metadata": {},
"source": [
"source": [
"## 6. Deployment"
"## 6. Deployment"
]
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"include": true,
"paragraph": "Deployment",
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"Für das Versicherungsunternehmen New York Life Insurance Company bietet es sich daher an, den Geschäftsbereich zu erweitern und zukünftig nicht nur körperliche, sondern auch psychische Erkrankungen zu versichern. Um zunächst Kosten einzusparen, wird keine eigene Umfrage durch das Unternehmen erstellt, sondern auf schon bestehende Daten zurückgegriffen (OSMI Mental Health in Tech Survey 2016, 2020). Um die Umsetzung zu verwirklichen, sind die folgenden Schritte erforderlich:\n",
"\n",
"Analyse und review der bereits verfügbaren Daten zu psychischen Erkrankungen in der Technologiebranche, um eine umfassende Erklärung des Bedarfs an psychischer Krankenversicherung zu erhalten.\n",
"Durchführung einer internen Studie, um zu ermitteln, ob es bei den eigenen Mitarbeitern ein Bedürfnis nach psychischer Krankenversicherung gibt und welche Krankheiten am häufigsten vorkommen.\n",
"Konsultation von Experten und Branchenvertretern, um die bestmöglichen Produkte und Dienstleistungskonzepte zu entwickeln, die den wachsenden Bedarf an psychischer Krankenversicherung abdecken.\n",
"Erstellung von Nutzendaten und Bedarfsanalysen, um das Produktangebot zu optimieren.\n",
"Implementierung der neuen Produkte und Dienstleistungen, um die Nachfrage nach psychischer Krankenversicherung zu decken.\n",
"Marketing und Kommunikation der neuen Produkte und Dienstleistungen gegenüber den Mitarbeitern und Kunden, um die Akzeptanz zu fördern darüber hinaus ist die Zielgruppe für dieses Modell Versicherungsunternehmen. Dieses Modell bietet den Vorteil, dass es Kandidaten mit hoher Wahrscheinlichkeit für psychische Erkrankungen ablehnen kann. Dadurch können Versicherungen potenziell ihre Risiken und Kosten senken. Das Modell könnte nahtlos in den Standard-Aufnahmeprozess für neue Kunden integriert werden, um die Effizienz und Genauigkeit der Bewerberbewertung zu verbessern."
"teaser": "Die New York Life Insurance Company, ein globales Versicherungsunternehmen, erwägt eine Erweiterung des Geschäftsmodells, um zukünftig nicht nur körperliche, sondern auch psychische Erkrankungen zu versichern.",
"teaser": "Die New York Life Insurance Company, ein globales Versicherungsunternehmen, erwägt eine Erweiterung des Geschäftsmodells, um zukünftig nicht nur körperliche, sondern auch psychische Erkrankungen zu versichern.",
"title": "Notebook zur Vorhersage von psychischen Erkrankungen für die Krankenkasse"
"title": "Notebook zur Vorhersage von psychischen Erkrankungen für die Krankenkasse"
...
...
...
...
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
# 1. Business Understanding
Das weltweit agierende Versicherungsunternehmen New York Life Insurance Company
Das weltweit agierende Versicherungsunternehmen New York Life Insurance Company
mit Hauptsitz in den USA betreut Privat- und Geschäftskunden. Der Hauptgeschäftsbereich liegt in der Absicherung der leiblichen Gesundheit im Sinne von Krankenkassen
mit Hauptsitz in den USA betreut Privat- und Geschäftskunden. Der Hauptgeschäftsbereich liegt in der Absicherung der leiblichen Gesundheit im Sinne von Krankenkassen
und gesundheitlicher Vorsorge. Dazu gehören neben der klassischen Krankenversicherung auch Unfallversicherungen, Risikolebensversicherungen und Berufsunfähigkeitsversicherungen.
und gesundheitlicher Vorsorge. Dazu gehören neben der klassischen Krankenversicherung auch Unfallversicherungen, Risikolebensversicherungen und Berufsunfähigkeitsversicherungen.
In unserer aktuellen Gesellschaft ist der Mensch nicht nur klassischen körperlichen
In unserer aktuellen Gesellschaft ist der Mensch nicht nur klassischen körperlichen
Erkrankungen ausgesetzt, sondern zunehmend kommen – beispielsweise durch
Erkrankungen ausgesetzt, sondern zunehmend kommen – beispielsweise durch
Überlastungen am Arbeitsplatz oder Stress – psychische Erkrankungen hinzu. Das
Überlastungen am Arbeitsplatz oder Stress – psychische Erkrankungen hinzu. Das
Bewusstsein für diese Art von Erkrankung und die Klassifikation als „Krankheit“
Bewusstsein für diese Art von Erkrankung und die Klassifikation als „Krankheit“
durchdringt jedoch noch nicht alle gesellschaftlichen Bereiche.
durchdringt jedoch noch nicht alle gesellschaftlichen Bereiche.
Für das Versicherungsunternehmen New York Life Insurance Company bietet es sich
Für das Versicherungsunternehmen New York Life Insurance Company bietet es sich
daher an, den Geschäftsbereich zu erweitern und zukünftig nicht nur körperliche,
daher an, den Geschäftsbereich zu erweitern und zukünftig nicht nur körperliche,
sondern auch psychische Erkrankungen zu versichern. Um zunächst Kosten
sondern auch psychische Erkrankungen zu versichern. Um zunächst Kosten
einzusparen, wird keine eigene Umfrage durch das Unternehmen erstellt, sondern auf
einzusparen, wird keine eigene Umfrage durch das Unternehmen erstellt, sondern auf
schon bestehende Daten zurückgegriffen (OSMI Mental Health in Tech Survey 2016,
schon bestehende Daten zurückgegriffen (OSMI Mental Health in Tech Survey 2016,
2020).
2020).
%% Cell type:markdown id: tags:daten
Um die befragten Personen in diesem Datensatz darzustellen, werden verschiedene Bibliotheken genutzt. Für numerische Berechnungen wird NumPy verwendet, während Pandas zur Datenanalyse dient. Für statistische Modelle kommt Statsmodels zum Einsatz. Visualisierungen werden mit Matplotlib, Plotly Express und Seaborn erstellt. Zur Datenvorverarbeitung werden der StandardScaler und LabelEncoder von scikit-learn genutzt. Für das Modelltraining und die -bewertung werden Funktionen wie train_test_split, DecisionTreeClassifier, RandomForestClassifier, LogisticRegression, KMeans, metrics, confusion_matrix, classification_report und SVM verwendet. Außerdem wird die Multikollinearitätsprüfung mit variance_inflation_factor durchgeführt.
%% Cell type:markdown id: tags:Datenvorbereitung
In diesem Prozess werden Duplikate in einer Liste entfernt, wobei lediglich diejenigen Elemente erhalten bleiben, die einzigartig sind. Zunächst erfolgt eine Überprüfung auf das Vorhandensein von Duplikaten in der Liste. Bei Feststellung duplizierter Elemente wird die Funktion data.duplicated(keep=False) aufgerufen.
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
# 2. Data and Data Understanding
Für die Modellerstellung werden der Random Forest, die logistische Regression und der Entscheidungsbaum eingesetzt. Der Random Forest kombiniert mehrere Entscheidungsbäume für robuste Vorhersagen. Die logistische Regression schätzt Wahrscheinlichkeiten, besonders bei binären Klassifikationen. Der Entscheidungsbaum trifft systematisch Entscheidungen basierend auf Attributen. Diese Vielfalt an Modellen ermöglicht eine umfassende Analyse der Daten.
## 2.1. Import of Relevant Modules
%% Cell type:markdown id: tags:daten
%% Cell type:markdown id: tags:
In der heutigen Gesellschaft sind Menschen zunehmend auch psychischen Erkrankungen ausgesetzt, oft bedingt durch Stress und Überlastung am Arbeitsplatz. Psychische Gesundheitsprobleme werden jedoch noch nicht überall als Krankheiten anerkannt. Die Erweiterung des Geschäftsfeldes auf psychische Gesundheitsversicherungen bietet eine strategische Wachstumschance. Dies könnte das Unternehmen von seinen Mitbewerbern abheben und die Kundenzufriedenheit erhöhen. Um Kosten zu sparen, plant das Unternehmen, auf bestehende Daten der OSMI Mental Health in Tech Survey (2016, 2020) zurückzugreifen. Diese Erweiterung würde soziale Verantwortung demonstrieren und zum allgemeinen Wohl beitragen. Herausforderungen bestehen in der Aufklärung über die Bedeutung der psychischen Gesundheitsversicherung und der repräsentativen Nutzung der vorhandenen Daten. Eine kontinuierliche Bewertung und Anpassung ist erforderlich, um eine umfassende und effektive Abdeckung sicherzustellen.
%% Cell type:markdown id: tags:
Für das Versicherungsunternehmen New York Life Insurance Company bietet es sich daher an, den Geschäftsbereich zu erweitern und zukünftig nicht nur körperliche, sondern auch psychische Erkrankungen zu versichern. Um zunächst Kosten einzusparen, wird keine eigene Umfrage durch das Unternehmen erstellt, sondern auf schon bestehende Daten zurückgegriffen (OSMI Mental Health in Tech Survey 2016, 2020). Um die Umsetzung zu verwirklichen, sind die folgenden Schritte erforderlich:
Analyse und review der bereits verfügbaren Daten zu psychischen Erkrankungen in der Technologiebranche, um eine umfassende Erklärung des Bedarfs an psychischer Krankenversicherung zu erhalten.
Durchführung einer internen Studie, um zu ermitteln, ob es bei den eigenen Mitarbeitern ein Bedürfnis nach psychischer Krankenversicherung gibt und welche Krankheiten am häufigsten vorkommen.
Konsultation von Experten und Branchenvertretern, um die bestmöglichen Produkte und Dienstleistungskonzepte zu entwickeln, die den wachsenden Bedarf an psychischer Krankenversicherung abdecken.
Erstellung von Nutzendaten und Bedarfsanalysen, um das Produktangebot zu optimieren.
Implementierung der neuen Produkte und Dienstleistungen, um die Nachfrage nach psychischer Krankenversicherung zu decken.
Marketing und Kommunikation der neuen Produkte und Dienstleistungen gegenüber den Mitarbeitern und Kunden, um die Akzeptanz zu fördern darüber hinaus ist die Zielgruppe für dieses Modell Versicherungsunternehmen. Dieses Modell bietet den Vorteil, dass es Kandidaten mit hoher Wahrscheinlichkeit für psychische Erkrankungen ablehnen kann. Dadurch können Versicherungen potenziell ihre Risiken und Kosten senken. Das Modell könnte nahtlos in den Standard-Aufnahmeprozess für neue Kunden integriert werden, um die Effizienz und Genauigkeit der Bewerberbewertung zu verbessern.
%% Cell type:markdown id: tags:
Der Code importiert Bibliotheken für numerische Berechnungen (NumPy), Datenanalyse (Pandas), statistische Modelle (Statsmodels), Visualisierungen (Matplotlib, Plotly Express, Seaborn), Datenvorverarbeitung (scikit-learn's StandardScaler und LabelEncoder), Modelltraining und -bewertung (train_test_split, DecisionTreeClassifier, RandomForestClassifier, LogisticRegression, KMeans, metrics, confusion_matrix, classification_report, SVM), sowie Multikollinearitätsprüfung (variance_inflation_factor)
## 1 Business Understanding
%% Cell type:markdown id: tags:
# 2. Data and Data Understanding
## 2.1. Import of Relevant Modules
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
import numpy as np
import numpy as np
import pandas as pd
import pandas as pd
import statsmodels.api as sm
import statsmodels.api as sm
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import plotly.express as px
import plotly.express as px
%matplotlib inline
%matplotlib inline
import seaborn as sns
import seaborn as sns
sns.set()
sns.set()
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import LogisticRegression
# from sklearn.linear_model import LinearRegression
# from sklearn.linear_model import LinearRegression
from sklearn.cluster import KMeans
from sklearn.cluster import KMeans
from sklearn import metrics
from sklearn import metrics
from sklearn.metrics import confusion_matrix, classification_report
from sklearn.metrics import confusion_matrix, classification_report
from statsmodels.stats.outliers_influence import variance_inflation_factor
from statsmodels.stats.outliers_influence import variance_inflation_factor
from sklearn import svm, datasets
from sklearn import svm, datasets
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import LabelEncoder
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## 2.2. Read Data
## 2.2. Read Data
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Jede Zeile der Tabelle stellt eine einzelne Beobachtung oder Antwort dar.
Jede Zeile der Tabelle stellt eine einzelne Beobachtung oder Antwort dar.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data = pd.read_csv('survey.csv')
data = pd.read_csv('survey.csv')
data.head(5)
data.head(5)
```
```
%% Output
%% Output
Timestamp Age Gender Country state self_employed \
Timestamp Age Gender Country state self_employed \
0 2014-08-27 11:29:31 37 Female United States IL NaN
0 2014-08-27 11:29:31 37 Female United States IL NaN
1 2014-08-27 11:29:37 44 M United States IN NaN
1 2014-08-27 11:29:37 44 M United States IN NaN
2 2014-08-27 11:29:44 32 Male Canada NaN NaN
2 2014-08-27 11:29:44 32 Male Canada NaN NaN
3 2014-08-27 11:29:46 31 Male United Kingdom NaN NaN
3 2014-08-27 11:29:46 31 Male United Kingdom NaN NaN
4 2014-08-27 11:30:22 31 Male United States TX NaN
4 2014-08-27 11:30:22 31 Male United States TX NaN
4. Country: Das Land, in dem die befragte Person lebt.
4. Country: Das Land, in dem die befragte Person lebt.
5. state: Der Bundesstaat, in dem die befragte Person lebt (nur relevant für die USA).
5. state: Der Bundesstaat, in dem die befragte Person lebt (nur relevant für die USA).
6. self_employed: Gibt an, ob die Person selbstständig ist.
6. self_employed: Gibt an, ob die Person selbstständig ist.
7. family_history: Gibt an, ob es eine Familiengeschichte von psychischen Erkrankungen gibt.
7. family_history: Gibt an, ob es eine Familiengeschichte von psychischen Erkrankungen gibt.
8. treatment: Gibt an, ob die Person derzeit in Behandlung ist.
8. treatment: Gibt an, ob die Person derzeit in Behandlung ist.
9. work_interfere: Gibt an, wie oft die Arbeit durch psychische Gesundheitsprobleme beeinträchtigt wird.
9. work_interfere: Gibt an, wie oft die Arbeit durch psychische Gesundheitsprobleme beeinträchtigt wird.
10. no_employees: Die Anzahl der Mitarbeiter im Unternehmen der befragten Person.
10. no_employees: Die Anzahl der Mitarbeiter im Unternehmen der befragten Person.
11. leave: Gibt an, wie einfach es für die Person ist, eine Beurlaubung aufgrund von psychischen Gesundheitsproblemen zu nehmen.
11. leave: Gibt an, wie einfach es für die Person ist, eine Beurlaubung aufgrund von psychischen Gesundheitsproblemen zu nehmen.
12. mental_health_consequence: Gibt an, ob die Person glaubt, dass es Konsequenzen für die psychische Gesundheit gibt.
12. mental_health_consequence: Gibt an, ob die Person glaubt, dass es Konsequenzen für die psychische Gesundheit gibt.
13. phys_health_consequence: Gibt an, ob die Person glaubt, dass es Konsequenzen für die körperliche Gesundheit gibt.
13. phys_health_consequence: Gibt an, ob die Person glaubt, dass es Konsequenzen für die körperliche Gesundheit gibt.
14. coworkers: Gibt an, ob die Person mit ihren Kollegen über ihre psychische Gesundheit sprechen kann.
14. coworkers: Gibt an, ob die Person mit ihren Kollegen über ihre psychische Gesundheit sprechen kann.
15. supervisor: Gibt an, ob die Person mit ihrem Vorgesetzten über ihre psychische Gesundheit sprechen kann.
15. supervisor: Gibt an, ob die Person mit ihrem Vorgesetzten über ihre psychische Gesundheit sprechen kann.
16. mental_health_interview: Gibt an, ob die Person während eines Interviews über ihre psychische Gesundheit sprechen würde.
16. mental_health_interview: Gibt an, ob die Person während eines Interviews über ihre psychische Gesundheit sprechen würde.
17. phys_health_interview: Gibt an, ob die Person während eines Interviews über ihre körperliche Gesundheit sprechen würde.
17. phys_health_interview: Gibt an, ob die Person während eines Interviews über ihre körperliche Gesundheit sprechen würde.
18. mental_vs_physical: Gibt an, ob die Person glaubt, dass psychische und körperliche Gesundheitsprobleme gleich behandelt werden sollten.
18. mental_vs_physical: Gibt an, ob die Person glaubt, dass psychische und körperliche Gesundheitsprobleme gleich behandelt werden sollten.
19. obs_consequence: Gibt an, ob die Person beobachtet hat, dass jemand aufgrund von psychischen Gesundheitsproblemen negative Konsequenzen erfahren hat.
19. obs_consequence: Gibt an, ob die Person beobachtet hat, dass jemand aufgrund von psychischen Gesundheitsproblemen negative Konsequenzen erfahren hat.
20. comments: Zusätzliche Kommentare der befragten Person (falls vorhanden).
20. comments: Zusätzliche Kommentare der befragten Person (falls vorhanden).
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## 2.3. Descriptive Analytics
## 2.3. Descriptive Analytics
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Die angezeigte Datenrahmenstruktur enthält eine Zusammenfassung der Datenstruktur, einschließlich der Datenzeilen und Datenspalten, der Datentypen für jede Spalte und der Zahl der vorhandenen (Nicht-Null-) Werte in jeder Spalte. Diese Informationen sind hilfreich, um die Datenqualität zu bewerten, fehlende Daten zu ermitteln und den Dateninhalt vor der Datenanalyse besser zu verstehen.
Die angezeigte Datenrahmenstruktur enthält eine Zusammenfassung der Datenstruktur, einschließlich der Datenzeilen und Datenspalten, der Datentypen für jede Spalte und der Zahl der vorhandenen (Nicht-Null-) Werte in jeder Spalte. Diese Informationen sind hilfreich, um die Datenqualität zu bewerten, fehlende Daten zu ermitteln und den Dateninhalt vor der Datenanalyse besser zu verstehen.
|comments | str [ example: "fwiw I am a co founder of this company and the would you X in an interview questions shouldn't reflect how I would treat anyone addressing their own phys/mental health issue to me in such a situation. " ] |
|comments | str [ example: "fwiw I am a co founder of this company and the would you X in an interview questions shouldn't reflect how I would treat anyone addressing their own phys/mental health issue to me in such a situation. " ] |
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Die Funktion attribute_description nimmt ein pandas-DataFrame als Input und druckt eine Tabelle aus, die die Eigenschaften der Spalten des DataFrames beschreibt. Dabei wird der längste Spaltenname als Maximalwert für die Breite der Tabelle verwendet. Für jede Spalte in der DataFrame wird dann versucht, Informationen zum Datentyp und zum Beispiel für die Spalte zu bekommen. Wenn das Datentyp ist eine Zeichenkette und es gibt weniger als 10 einzigartige Werte in der Spalte, wird der Spaltenname mit zusätzliche Information gedruckt. Wenn das Datentyp ist ein Integer 32-bit und es gibt weniger als 10 einzigartige Werte in der Spalte, wird auch eine zusätzliche Information gedruckt.
Die Funktion attribute_description nimmt ein pandas-DataFrame als Input und druckt eine Tabelle aus, die die Eigenschaften der Spalten des DataFrames beschreibt. Dabei wird der längste Spaltenname als Maximalwert für die Breite der Tabelle verwendet. Für jede Spalte in der DataFrame wird dann versucht, Informationen zum Datentyp und zum Beispiel für die Spalte zu bekommen. Wenn das Datentyp ist eine Zeichenkette und es gibt weniger als 10 einzigartige Werte in der Spalte, wird der Spaltenname mit zusätzliche Information gedruckt. Wenn das Datentyp ist ein Integer 32-bit und es gibt weniger als 10 einzigartige Werte in der Spalte, wird auch eine zusätzliche Information gedruckt.
Die bereitgestellten Informationen beschreiben ein Dataset mit verschiedenen Merkmalen (Features) und den entsprechenden Datentypen oder möglichen Wertebereichen für jedes Feature. Dieses Dataset könnte beispielsweise aus einer Umfrage stammen, die sich mit der psychischen Gesundheit von Beschäftigten befasst. Lassen Sie mich kurz die Bedeutung jedes Merkmals erläutern:
Die bereitgestellten Informationen beschreiben ein Dataset mit verschiedenen Merkmalen (Features) und den entsprechenden Datentypen oder möglichen Wertebereichen für jedes Feature. Dieses Dataset könnte beispielsweise aus einer Umfrage stammen, die sich mit der psychischen Gesundheit von Beschäftigten befasst. Lassen Sie mich kurz die Bedeutung jedes Merkmals erläutern:
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
# 3. Data Preparation
# 3. Data Preparation
## 3.1 Remove duplicates
## 3.1 Remove duplicates
%% Cell type:markdown id: tags:Datenvorbereitung
Der Codeabschnitt entfernt Duplikate in einer Liste, indem er alle Elemente beibehält, die nicht doppelt vorhanden sind. Dabei überprüft er zunächst, ob es in der Liste duplizierte Elemente gibt, und wenn ja, ruft er die data.duplicated(keep=False)-Funktion auf.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data[data.duplicated(keep=False)] # show duplicates
data[data.duplicated(keep=False)] # show duplicates
# replace missing data in 'self_employed' wwith 'No'
# replace missing data in 'self_employed' wwith 'No'
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Der Code setzt die fehlenden Daten im 'self_employed' Column auf 'No', indem er den Wert aus der häufigsten Wert in 'self_employed' als Substitut verwendet.
Der Code setzt die fehlenden Daten im 'self_employed' Column auf 'No', indem er den Wert aus der häufigsten Wert in 'self_employed' als Substitut verwendet.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data1.isnull().sum()
data1.isnull().sum()
```
```
%% Output
%% Output
Age 0
Age 0
Gender 0
Gender 0
Country 0
Country 0
self_employed 0
self_employed 0
family_history 0
family_history 0
treatment 0
treatment 0
work_interfere 264
work_interfere 264
no_employees 0
no_employees 0
remote_work 0
remote_work 0
tech_company 0
tech_company 0
benefits 0
benefits 0
care_options 0
care_options 0
wellness_program 0
wellness_program 0
seek_help 0
seek_help 0
anonymity 0
anonymity 0
leave 0
leave 0
mental_health_consequence 0
mental_health_consequence 0
phys_health_consequence 0
phys_health_consequence 0
coworkers 0
coworkers 0
supervisor 0
supervisor 0
mental_health_interview 0
mental_health_interview 0
phys_health_interview 0
phys_health_interview 0
mental_vs_physical 0
mental_vs_physical 0
obs_consequence 0
obs_consequence 0
dtype: int64
dtype: int64
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data1 = data1.dropna(axis=0) # remove rows with missing data (in 'work_interfere)
data1 = data1.dropna(axis=0) # remove rows with missing data (in 'work_interfere)
```
```
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data1.isnull().sum() # make sure there is no missing data now
data1.isnull().sum() # make sure there is no missing data now
# and remove features, that are relevant, but can not be used in the final model,
# and remove features, that are relevant, but can not be used in the final model,
# as the data can not be collected in the production environment
# as the data can not be collected in the production environment
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Die Zeilen des Dataframes werden entfernt, in denen bestimmte Spalten nicht enthalten sind, oder nicht relevant oder nicht in der Produktionsumgebung erhoben werden können. Dies wird erreicht, indem der Drop-Methode mit einem Syntax-Paar von Spaltennamen und Spaltenenums zu einem Dataframe-Objekt zugefügt wird.
Die Zeilen des Dataframes werden entfernt, in denen bestimmte Spalten nicht enthalten sind, oder nicht relevant oder nicht in der Produktionsumgebung erhoben werden können. Dies wird erreicht, indem der Drop-Methode mit einem Syntax-Paar von Spaltennamen und Spaltenenums zu einem Dataframe-Objekt zugefügt wird.
data2.drop(data2[data2.Gender == 'a little about you'].index, inplace=True)
data2.drop(data2[data2.Gender == 'a little about you'].index, inplace=True)
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Dieser Code setzt die Spalte "Geschlecht" des Datenrahmens "data2" auf der Grundlage einer Liste vordefinierter Optionen entweder auf "Männlich", "Weiblich" oder "Trans". Die Spalte "Geschlecht" wird zunächst in Kleinbuchstaben umgewandelt und dann wird der Code ausgeführt, um den Wert von "Geschlecht" auf der Grundlage der Liste der Optionen festzulegen. Schließlich entfernt der Code alle Instanzen von "p" oder "a little about you" (die wahrscheinlich ungültige Werte darstellen) aus der Spalte "Geschlecht".
Dieser Code setzt die Spalte "Geschlecht" des Datenrahmens "data2" auf der Grundlage einer Liste vordefinierter Optionen entweder auf "Männlich", "Weiblich" oder "Trans". Die Spalte "Geschlecht" wird zunächst in Kleinbuchstaben umgewandelt und dann wird der Code ausgeführt, um den Wert von "Geschlecht" auf der Grundlage der Liste der Optionen festzulegen. Schließlich entfernt der Code alle Instanzen von "p" oder "a little about you" (die wahrscheinlich ungültige Werte darstellen) aus der Spalte "Geschlecht".
Das Ergebnis dieses Codes ist eine Spalte "Geschlecht" mit konsistenteren Werten, die für eine genauere Analyse oder Modellierung verwendet werden kann
Das Ergebnis dieses Codes ist eine Spalte "Geschlecht" mit konsistenteren Werten, die für eine genauere Analyse oder Modellierung verwendet werden kann
plt.title("number of employees vs mental health",fontsize=18,fontweight="normal")
plt.title("number of employees vs mental health",fontsize=18,fontweight="normal")
plt.ylabel("")
plt.ylabel("")
plt.show()
plt.show()
```
```
%% Output
%% Output
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data2
data2
```
```
%% Output
%% Output
Age Gender self_employed family_history treatment no_employees \
Age Gender self_employed family_history treatment no_employees \
0 37 Female No No Yes 6-25
0 37 Female No No Yes 6-25
1 44 Male No No No More than 1000
1 44 Male No No No More than 1000
2 32 Male No No No 6-25
2 32 Male No No No 6-25
3 31 Male No Yes Yes 26-100
3 31 Male No Yes Yes 26-100
4 31 Male No No No 100-500
4 31 Male No No No 100-500
... ... ... ... ... ... ...
... ... ... ... ... ... ...
1252 29 Male No Yes Yes 100-500
1252 29 Male No Yes Yes 100-500
1253 36 Male No Yes No More than 1000
1253 36 Male No Yes No More than 1000
1255 32 Male No Yes Yes 26-100
1255 32 Male No Yes Yes 26-100
1256 34 Male No Yes Yes More than 1000
1256 34 Male No Yes Yes More than 1000
1258 25 Male No Yes Yes 26-100
1258 25 Male No Yes Yes 26-100
remote_work tech_company benefits care_options
remote_work tech_company benefits care_options
0 No Yes Yes Not sure
0 No Yes Yes Not sure
1 No No Don't know No
1 No No Don't know No
2 No Yes No No
2 No Yes No No
3 No Yes No Yes
3 No Yes No Yes
4 Yes Yes Yes No
4 Yes Yes Yes No
... ... ... ... ...
... ... ... ... ...
1252 Yes Yes Yes Yes
1252 Yes Yes Yes Yes
1253 No No Don't know No
1253 No No Don't know No
1255 Yes Yes Yes Yes
1255 Yes Yes Yes Yes
1256 No Yes Yes Yes
1256 No Yes Yes Yes
1258 No No Yes Yes
1258 No No Yes Yes
[971 rows x 10 columns]
[971 rows x 10 columns]
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data3 = data2.reset_index(drop = True)
data3 = data2.reset_index(drop = True)
```
```
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data3.info()
data3.info()
```
```
%% Output
%% Output
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 971 entries, 0 to 970
RangeIndex: 971 entries, 0 to 970
Data columns (total 10 columns):
Data columns (total 10 columns):
# Column Non-Null Count Dtype
# Column Non-Null Count Dtype
--- ------ -------------- -----
--- ------ -------------- -----
0 Age 971 non-null int64
0 Age 971 non-null int64
1 Gender 971 non-null object
1 Gender 971 non-null object
2 self_employed 971 non-null object
2 self_employed 971 non-null object
3 family_history 971 non-null object
3 family_history 971 non-null object
4 treatment 971 non-null object
4 treatment 971 non-null object
5 no_employees 971 non-null object
5 no_employees 971 non-null object
6 remote_work 971 non-null object
6 remote_work 971 non-null object
7 tech_company 971 non-null object
7 tech_company 971 non-null object
8 benefits 971 non-null object
8 benefits 971 non-null object
9 care_options 971 non-null object
9 care_options 971 non-null object
dtypes: int64(1), object(9)
dtypes: int64(1), object(9)
memory usage: 76.0+ KB
memory usage: 76.0+ KB
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Dies ist ein DataFrame aus der pandas-Bibliothek. Es enthält Statistiken zu various Themen wie dem Alter, der Geschlechtsaufteilung, dem Arbeitsstatus, der Familiengeschichte und einer ganzen Reihe anderer Informationen über eine Person. Es heißt DataFrame, weil es aus zwei Komponenten besteht, einer Tabelle der Daten und einer Index-Spalte.
Dies ist ein DataFrame aus der pandas-Bibliothek. Es enthält Statistiken zu various Themen wie dem Alter, der Geschlechtsaufteilung, dem Arbeitsstatus, der Familiengeschichte und einer ganzen Reihe anderer Informationen über eine Person. Es heißt DataFrame, weil es aus zwei Komponenten besteht, einer Tabelle der Daten und einer Index-Spalte.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data3.describe(include="all")
data3.describe(include="all")
```
```
%% Output
%% Output
Age Gender self_employed family_history treatment no_employees \
Age Gender self_employed family_history treatment no_employees \
count 971.000000 971 971 971 971 971
count 971.000000 971 971 971 971 971
unique NaN 2 2 2 2 6
unique NaN 2 2 2 2 6
top NaN Male No No Yes 26-100
top NaN Male No No Yes 26-100
freq NaN 761 852 535 613 223
freq NaN 761 852 535 613 223
mean 32.330587 NaN NaN NaN NaN NaN
mean 32.330587 NaN NaN NaN NaN NaN
std 7.268977 NaN NaN NaN NaN NaN
std 7.268977 NaN NaN NaN NaN NaN
min 18.000000 NaN NaN NaN NaN NaN
min 18.000000 NaN NaN NaN NaN NaN
25% 27.000000 NaN NaN NaN NaN NaN
25% 27.000000 NaN NaN NaN NaN NaN
50% 32.000000 NaN NaN NaN NaN NaN
50% 32.000000 NaN NaN NaN NaN NaN
75% 36.000000 NaN NaN NaN NaN NaN
75% 36.000000 NaN NaN NaN NaN NaN
max 62.000000 NaN NaN NaN NaN NaN
max 62.000000 NaN NaN NaN NaN NaN
remote_work tech_company benefits care_options
remote_work tech_company benefits care_options
count 971 971 971 971
count 971 971 971 971
unique 2 2 3 3
unique 2 2 3 3
top No Yes Yes Yes
top No Yes Yes Yes
freq 675 798 395 379
freq 675 798 395 379
mean NaN NaN NaN NaN
mean NaN NaN NaN NaN
std NaN NaN NaN NaN
std NaN NaN NaN NaN
min NaN NaN NaN NaN
min NaN NaN NaN NaN
25% NaN NaN NaN NaN
25% NaN NaN NaN NaN
50% NaN NaN NaN NaN
50% NaN NaN NaN NaN
75% NaN NaN NaN NaN
75% NaN NaN NaN NaN
max NaN NaN NaN NaN
max NaN NaN NaN NaN
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## 3.6 create dummy features for all string based variables
## 3.6 create dummy features for all string based variables
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
create dummy features for all string based variables" bedeutet, dass eine neue Spalte / Variablen für jede der Attribute mit dem Typ "String" erstellen müssen. Das Ziel ist es, diese Variablen zu verwenden, um die String-Werte in binäre (1-0) oder multible (0-100) Repräsentationen umzuwandeln. Diese Repräsentationen können dann in einem Modell verwendet werden, um Vorhersagen zu treffen.
create dummy features for all string based variables" bedeutet, dass eine neue Spalte / Variablen für jede der Attribute mit dem Typ "String" erstellen müssen. Das Ziel ist es, diese Variablen zu verwenden, um die String-Werte in binäre (1-0) oder multible (0-100) Repräsentationen umzuwandeln. Diese Repräsentationen können dann in einem Modell verwendet werden, um Vorhersagen zu treffen.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data3 = pd.get_dummies(data3, drop_first=True) # 0-1 encoding for categorical values
data3 = pd.get_dummies(data3, drop_first=True) # 0-1 encoding for categorical values
```
```
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
data3.head()
data3.head()
```
```
%% Output
%% Output
Age Gender_Male self_employed_Yes family_history_Yes treatment_Yes \
Age Gender_Male self_employed_Yes family_history_Yes treatment_Yes \
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=123) # 80-20 split into training and test data
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=123) # 80-20 split into training and test data
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
# 4. Modelling
# 4. Modelling
## 4.1 decision tree
## 4.1 decision tree
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
scaler = StandardScaler()
scaler = StandardScaler()
scaler.fit(X_train)
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
X_test = scaler.transform(X_test)
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Für die Modellerstellung werden der Random Forest, die logistische Regression und der Entscheidungsbaum eingesetzt. Der Random Forest kombiniert mehrere Entscheidungsbäume für robuste Vorhersagen. Die logistische Regression schätzt Wahrscheinlichkeiten, besonders bei binären Klassifikationen. Der Entscheidungsbaum trifft systematisch Entscheidungen basierend auf Attributen. Diese Vielfalt an Modellen ermöglicht eine umfassende Analyse der Daten.
%% Cell type:markdown id: tags:
Diese führen einen Decision TreeClassifier-Algorithmus aus, um eine trainierte Datenmenge in X_train und y_train für das Modelling zu verwenden. Der Tree.fit()-Parameter wird verwendet, um ein Model zu trainieren, und dann wird das Modell verwendet, um die trainierten Daten zu testen und ihre Leistung zu melden. Die tree.predict()-Methode wird verwendet, um die Prognose des Modells für die Testdaten zu erhalten. Der Classification_report()-Parameter wird verwendet, um die Leistung des Modells in den trainierten und getesteten Daten anzuzeigen.
Diese führen einen Decision TreeClassifier-Algorithmus aus, um eine trainierte Datenmenge in X_train und y_train für das Modelling zu verwenden. Der Tree.fit()-Parameter wird verwendet, um ein Model zu trainieren, und dann wird das Modell verwendet, um die trainierten Daten zu testen und ihre Leistung zu melden. Die tree.predict()-Methode wird verwendet, um die Prognose des Modells für die Testdaten zu erhalten. Der Classification_report()-Parameter wird verwendet, um die Leistung des Modells in den trainierten und getesteten Daten anzuzeigen.
Die Ergebnisse zeigen die Leistung der Modellvorhersage auf den trainierten und getestenen Daten. "precision", "recall" und "f1-score" sind Metriken, die die Leistung einer binärenClassifier-Modells bewerten. "accuracy" ist eine Metrik, die die Gesamtgenauigkeit der Modellvorhersage bewertet. Die Ergebnisse deuten darauf hin, dass das Modell auf den trainierten Daten eine hohe Genauigkeit hat, aber auf den getesteten Daten eine niedrigere Genauigkeit.
Die Ergebnisse zeigen die Leistung der Modellvorhersage auf den trainierten und getestenen Daten. "precision", "recall" und "f1-score" sind Metriken, die die Leistung einer binärenClassifier-Modells bewerten. "accuracy" ist eine Metrik, die die Gesamtgenauigkeit der Modellvorhersage bewertet. Die Ergebnisse deuten darauf hin, dass das Modell auf den trainierten Daten eine hohe Genauigkeit hat, aber auf den getesteten Daten eine niedrigere Genauigkeit.
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Der Code testet verschiedene Max-Tree-Tiefen (1, 2, 3, 4) für den Decision Tree Classifier, um zu sehen, welche Tiefen die beste Leistung bringen. Für jede Max-Tree-Tiefen wird ein neues Modell trainiert und die Ergebnisse auf den trainierten und getesteten Daten gemeldet.
Der Code testet verschiedene Max-Tree-Tiefen (1, 2, 3, 4) für den Decision Tree Classifier, um zu sehen, welche Tiefen die beste Leistung bringen. Für jede Max-Tree-Tiefen wird ein neues Modell trainiert und die Ergebnisse auf den trainierten und getesteten Daten gemeldet.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
tree_depth = [1, 2, 3, 4] # to prevent overfitting
tree_depth = [1, 2, 3, 4] # to prevent overfitting
Die Ergebnisse zeigen eine Verteilung der Ergebnissen nach der Max-Tree-Tiefe. Für die tiefste maximale Baumtiefe von 1 erreicht das Modell die niedrigste Präzision, die niedrigste Erfassung und den niedrigsten F1-Score. Für die höher maximalen Baumtiefen von 2 bis 4 erreicht das Modell eine höhere Präzision, eine höhere Erfassung und einen höheren F1-Score im Vergleich zur tiefsten maximalen Baumtiefe von 1. Die Ergebnisse deuten darauf hin, dass das Modell mit einer höheren maximalen Baumtiefe besser arbeitet, um eine höhere Leistung zu erzielen.
Die Ergebnisse zeigen eine Verteilung der Ergebnissen nach der Max-Tree-Tiefe. Für die tiefste maximale Baumtiefe von 1 erreicht das Modell die niedrigste Präzision, die niedrigste Erfassung und den niedrigsten F1-Score. Für die höher maximalen Baumtiefen von 2 bis 4 erreicht das Modell eine höhere Präzision, eine höhere Erfassung und einen höheren F1-Score im Vergleich zur tiefsten maximalen Baumtiefe von 1. Die Ergebnisse deuten darauf hin, dass das Modell mit einer höheren maximalen Baumtiefe besser arbeitet, um eine höhere Leistung zu erzielen.
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## 4.2 Random Forest
## 4.2 Random Forest
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Der Code trainiert einen RandomForestClassifier-Algorithmus unter verschiedenen Max-Tree-Stufen und nimmt die Ergebnisse im Vergleich zueinander an. Die Verwirrungsamatrix (Confusion Matrix) und die Ergebnisse zu Präzision, Erfassung, F1-Score und Support geben einen Eindruck davon, wie effektiv das Modell auf den trainierten und getesteten Daten arbeitet. Die Ergebnisse deuten darauf hin, dass der RandomForestClassifier-Algorithmus bei einer höheren maximalen Baumtiefe besser arbeitet.
Der Code trainiert einen RandomForestClassifier-Algorithmus unter verschiedenen Max-Tree-Stufen und nimmt die Ergebnisse im Vergleich zueinander an. Die Verwirrungsamatrix (Confusion Matrix) und die Ergebnisse zu Präzision, Erfassung, F1-Score und Support geben einen Eindruck davon, wie effektiv das Modell auf den trainierten und getesteten Daten arbeitet. Die Ergebnisse deuten darauf hin, dass der RandomForestClassifier-Algorithmus bei einer höheren maximalen Baumtiefe besser arbeitet.
Die Ergebnisse zeigen eine Verteilung der Ergebnisse nach der Max-Tree-Tiefe. Für die geringste Baumtiefe von 1 erreicht das Modell die niedrigste Präzision, die niedrigste Erfassung und den niedrigsten F1-Score. Für die höhere maximalen Baumtiefen von 2 bis 4 erreicht das Modell eine höhere Präzision, eine höhere Erfassung und einen höheren F1-Score im Vergleich zur geringsten maximalen Baumtiefe von 1. Die Ergebnisse deuten darauf hin, dass das Modell mit einer höheren maximalen Baumtiefe besser arbeitet, um eine höhere Leistung zu erzielen.
Die Ergebnisse zeigen eine Verteilung der Ergebnisse nach der Max-Tree-Tiefe. Für die geringste Baumtiefe von 1 erreicht das Modell die niedrigste Präzision, die niedrigste Erfassung und den niedrigsten F1-Score. Für die höhere maximalen Baumtiefen von 2 bis 4 erreicht das Modell eine höhere Präzision, eine höhere Erfassung und einen höheren F1-Score im Vergleich zur geringsten maximalen Baumtiefe von 1. Die Ergebnisse deuten darauf hin, dass das Modell mit einer höheren maximalen Baumtiefe besser arbeitet, um eine höhere Leistung zu erzielen.
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## 4.3 logistic Regression
## 4.3 logistic Regression
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Der Code trainiert einen Logistic Regression-Algorithmus unter verschiedenen Max-Tree-Stufen und nimmt die Ergebnisse im Vergleich zueinander an. Die Ergebnisse deuten darauf hin, dass der Logistic Regression-Algorithmus bei einer höheren maximalen Baumtiefe besser arbeitet.
Der Code trainiert einen Logistic Regression-Algorithmus unter verschiedenen Max-Tree-Stufen und nimmt die Ergebnisse im Vergleich zueinander an. Die Ergebnisse deuten darauf hin, dass der Logistic Regression-Algorithmus bei einer höheren maximalen Baumtiefe besser arbeitet.
Die Ergebnisse deuten darauf hin, dass der Logistic Regression-Algorithmus bei einer höheren maximalen Baumtiefe eine höhere Präzision, eine höhere Erfassung und einen höheren F1-Score aufweist.
Die Ergebnisse deuten darauf hin, dass der Logistic Regression-Algorithmus bei einer höheren maximalen Baumtiefe eine höhere Präzision, eine höhere Erfassung und einen höheren F1-Score aufweist.
Der Wert für die Genauigkeit von 0.7230769230769231 ist ein guter Wert und zeigt an, dass das Modell im Durchschnitt 72,30769230769231 Prozent der testenen Daten richtig klassifiziert hat. Eine höhere Genauigkeit bedeutet, dass das Modell bessere Ergebnisse erzielt
Der Wert für die Genauigkeit von 0.7230769230769231 ist ein guter Wert und zeigt an, dass das Modell im Durchschnitt 72,30769230769231 Prozent der testenen Daten richtig klassifiziert hat. Eine höhere Genauigkeit bedeutet, dass das Modell bessere Ergebnisse erzielt
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## 5. Evaluation
## 5. Evaluation
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
In der heutigen Gesellschaft sind Menschen zunehmend auch psychischen Erkrankungen ausgesetzt, oft bedingt durch Stress und Überlastung am Arbeitsplatz. Psychische Gesundheitsprobleme werden jedoch noch nicht überall als Krankheiten anerkannt. Die Erweiterung des Geschäftsfeldes auf psychische Gesundheitsversicherungen bietet eine strategische Wachstumschance. Dies könnte das Unternehmen von seinen Mitbewerbern abheben und die Kundenzufriedenheit erhöhen. Um Kosten zu sparen, plant das Unternehmen, auf bestehende Daten der OSMI Mental Health in Tech Survey (2016, 2020) zurückzugreifen. Diese Erweiterung würde soziale Verantwortung demonstrieren und zum allgemeinen Wohl beitragen. Herausforderungen bestehen in der Aufklärung über die Bedeutung der psychischen Gesundheitsversicherung und der repräsentativen Nutzung der vorhandenen Daten. Eine kontinuierliche Bewertung und Anpassung ist erforderlich, um eine umfassende und effektive Abdeckung sicherzustellen.
%% Cell type:markdown id: tags:
## 6. Deployment
## 6. Deployment
%% Cell type:markdown id: tags:
Für das Versicherungsunternehmen New York Life Insurance Company bietet es sich daher an, den Geschäftsbereich zu erweitern und zukünftig nicht nur körperliche, sondern auch psychische Erkrankungen zu versichern. Um zunächst Kosten einzusparen, wird keine eigene Umfrage durch das Unternehmen erstellt, sondern auf schon bestehende Daten zurückgegriffen (OSMI Mental Health in Tech Survey 2016, 2020). Um die Umsetzung zu verwirklichen, sind die folgenden Schritte erforderlich:
Analyse und review der bereits verfügbaren Daten zu psychischen Erkrankungen in der Technologiebranche, um eine umfassende Erklärung des Bedarfs an psychischer Krankenversicherung zu erhalten.
Durchführung einer internen Studie, um zu ermitteln, ob es bei den eigenen Mitarbeitern ein Bedürfnis nach psychischer Krankenversicherung gibt und welche Krankheiten am häufigsten vorkommen.
Konsultation von Experten und Branchenvertretern, um die bestmöglichen Produkte und Dienstleistungskonzepte zu entwickeln, die den wachsenden Bedarf an psychischer Krankenversicherung abdecken.
Erstellung von Nutzendaten und Bedarfsanalysen, um das Produktangebot zu optimieren.
Implementierung der neuen Produkte und Dienstleistungen, um die Nachfrage nach psychischer Krankenversicherung zu decken.
Marketing und Kommunikation der neuen Produkte und Dienstleistungen gegenüber den Mitarbeitern und Kunden, um die Akzeptanz zu fördern darüber hinaus ist die Zielgruppe für dieses Modell Versicherungsunternehmen. Dieses Modell bietet den Vorteil, dass es Kandidaten mit hoher Wahrscheinlichkeit für psychische Erkrankungen ablehnen kann. Dadurch können Versicherungen potenziell ihre Risiken und Kosten senken. Das Modell könnte nahtlos in den Standard-Aufnahmeprozess für neue Kunden integriert werden, um die Effizienz und Genauigkeit der Bewerberbewertung zu verbessern.