Diabetes-Vorhersagemodell mit Python Machine Learning

Feb 27 2023
Einführung In diesem Artikel lernen wir, wie man mit dem Train Test Split-Modell einen Datensatz in vier Teile aufteilt, ein Vorhersagemodell entwickelt und die Vorhersagen und den Datensatz anhand eines Anwendungsfalls analysiert. Anwendungsfall – Problemstellung Unser Ziel dieses Artikels ist es, vorherzusagen, ob Patienten an Diabetes leiden oder nicht.

Einführung

In diesem Artikel erfahren Sie, wie Sie mit dem Train Test Split-Modell einen Datensatz in vier Teile unterteilen, ein Vorhersagemodell entwickeln und die Vorhersagen und den Datensatz anhand eines Anwendungsfalls analysieren.

Anwendungsfall – Problemstellung

Unser Ziel für diesen Artikel ist es, vorherzusagen, ob Patienten Diabetes haben oder nicht . Alle unsere Patientinnen sind junge Frauen, deren gegebene Daten (z. B. Anzahl der Schwangerschaften, Glukosespiegel und BMI) zur Vorhersage von Diabetes verwendet werden. Dies ist der Datensatz , den wir verwenden werden.

Trainings- und Testdaten im maschinellen Lernen

Bei der Arbeit mit Datensätzen funktionieren fast alle Algorithmen für maschinelles Lernen in drei verschiedenen Phasen: Datenvorverarbeitung, Vorhersagemodell und Datenanalyse. In Phase 1 des Prozesses wird der Datensatz in 80 % Trainingsdaten und 20 % Testdaten aufgeteilt. Mit dem Train Test Split- Modell schließen wir zunächst die Datenvorverarbeitung ab, bevor wir das Vorhersagemodell und die Datenanalyse durchführen.

Um mit der Datenvorverarbeitung zu beginnen, müssen wir zunächst einige Python-Bibliotheken mit pip installieren:

>>>Pip-Installation von Pandas

>>>pip install sklearn

Nach der Installation der erforderlichen Bibliotheken verwenden wir die Pandas-Bibliothek zum Importieren des Datensatzes und die Sklearn-Bibliothek zum Ausführen der Aufteilung des Datensatzes:

Nach dem Import dieser Pakete lesen wir unseren Datensatz aus einer CSV-Datei in einen Pandas-Datenrahmen, um ihn in der Vorverarbeitungsphase leicht ändern und manipulieren zu können.

Jetzt beginnen wir mit der Aufteilung des Datensatzes in zwei Teile: x und y. Da wir das „Ergebnis“ vorhersagen möchten, wobei 0 kein Diabetes und 1 Diabetes bedeutet , enthält unsere x-Variable alle Daten außer dem „Ergebnis“, während unsere y-Variable nur die „Ergebnis“-Werte speichert.

Anschließend werden wir schließlich das Train Test Split-Modell verwenden, um die x-Variable in 80 % x_train und 20 % x_test aufzuteilen . Dasselbe wird mit der y-Variablen gemacht: 80 % y_train und 20 % y_test .

Um herauszufinden, was wirklich passiert ist, können wir .head() oder .shape auf den Zügen ausführen und testen, um zu sehen, wie sich die Daten vom Anfang dieses Artikels bis jetzt geändert haben.

Entwicklung eines Vorhersagemodells

Nachdem wir die Aufteilung des Datensatzes in vier Teile abgeschlossen haben, beginnen wir nun mit Phase 2 des Prozesses und der Entwicklung eines Vorhersagemodells. Wir werden für unsere Vorhersagen das Random Forest Classifier- Modell verwenden , das sich hervorragend für Klassifizierungsvorhersagen auf der Grundlage mehrerer Faktoren eignet, wie in diesem Fall.

Zuerst importieren wir unser Random Forest Classifier-Modell von sklearn. Nach der Definition des Modellnamens wird es dann mit x_train und y_train des Datensatzes trainiert, sodass Muster und Trends zwischen den vielen verschiedenen unabhängigen Variablen im x_train und der Variablen „Outcome“ im y_train ermittelt werden können . Nachdem der Trainingsprozess abgeschlossen ist, verwenden wir unser trainiertes Modell, um das „Ergebnis“ unserer eingegebenen x_test-Daten vorherzusagen, ohne ihm die y_test-Daten zu geben. Hier ist der Code für all das:

Mit den in der Variablen y_pred gespeicherten Vorhersagen möchten wir sehen, wie genau unsere Vorhersagen für die gegebenen x-_test-Daten waren, indem wir sie mit den tatsächlichen Ergebnissen des y_test vergleichen. Durch die Verwendung von Metriken aus der Sklearn-Bibliothek stellen wir fest, dass unser Modell mit seinen Vorhersagen zu etwa 81 % genau war.

Hinweis: Das Radom Forest Classifier-Modell ist wie die meisten anspruchsvollen Vorhersagemodelle für große Datensätze konzipiert. Seine Funktion und Vorhersagen sind bei „größeren“ Datenmengen viel genauer, da mehr Daten zum Trainieren und Lernen implementiert werden können, was zu besseren Vorhersagen und größerer Genauigkeit führt.

Datenanalyse

Im letzten Schritt des Projekts möchten wir eine Datenanalyse durchführen, um mehr über die Daten und unser Vorhersagemodell zu erfahren. Zunächst verwenden wir eine Verwirrungsmatrix von sklearn, um mehr über unsere Vorhersagen und die Fehler zu erfahren. Wir müssen die Seaborn- und Matplotlib-Bibliotheken mit Pip installieren und importieren, damit die folgenden Datenanalysen funktionieren.

Wie wir hier sehen können, sagt uns die Verwirrungsmatrix, wie oft unser Modell etwas richtig und falsch vorhergesagt hat. Darüber hinaus zeigt die Verwirrungsmatrix die vom Modell erzeugten falsch-positiven und falsch-negativen Ergebnisse an, was darauf schließen lässt, dass mehr Daten erforderlich sind, um diese Fehler zu korrigieren.

Eine andere Datenanalysetechnik ist die Verwendung von Feature Importance Scores , um zu bestimmen, welche unabhängigen Variablen für die Vorhersage von Diabetes am bedeutsamsten sind oder nicht . Je höher der Wert für die Funktion wichtig ist, desto größer ist der Einfluss dieser Variable auf das „Ergebnis“ von Diabetes.

Um diese Daten grafisch darzustellen:

Abschluss

Hier in diesem Artikel haben wir gelernt, wie man einen CSV-Dateidatensatz mithilfe des Train Test Split-Modells in vier verschiedene Abschnitte aufteilt, ein Vorhersagemodell durch Training und Tests erstellt und außerdem einige Datenanalysetechniken verwendet, um die vorliegenden Vorhersagen zu verstehen .