Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für einen logistischen Regressionsalgorithmus in Python

Beispiel für einen logistischen Regressionsalgorithmus in Python

PHPz
PHPzOriginal
2023-06-11 17:52:331750Durchsuche

Beispiel für einen logistischen Regressionsalgorithmus in Python

Die logistische Regression ist ein häufig verwendeter Klassifizierungsalgorithmus, der in den Bereichen maschinelles Lernen und Datenanalyse weit verbreitet ist. In diesem Artikel wird die Verwendung des logistischen Regressionsalgorithmus für die Klassifizierung in Python vorgestellt. Die spezifischen Implementierungsschritte sind wie folgt:

Schritt 1: Importieren Sie die erforderlichen Python-Bibliotheken

Bevor wir mit der Implementierung des logistischen Regressionsalgorithmus beginnen, müssen wir die importieren notwendige Python-Bibliotheken, zum Beispiel: NumPy und Pandas (zur Datenverarbeitung und -bereinigung), sklearn und matplotlib (zur Modellschulung und -bewertung sowie Datenvisualisierung). Der spezifische Code lautet wie folgt:

import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score,confusion_matrix
import matplotlib.pyplot as plt

%matplotlib inline

Schritt 2: Laden Sie den Datensatz

Als nächstes müssen wir den Datensatz laden. Hier nehmen wir den Iris-Datensatz (Iris) als Beispiel. Dieser Datensatz enthält 4 Merkmale von 3 verschiedenen Irisarten (Setosa, Versicolour und Virginica): Kelchblattlänge, Kelchblattbreite, Blütenblattlänge und Blütenblattbreite. Wir können den Datensatz laden, indem wir Pandas verwenden, um die Datendatei im CSV-Format zu lesen. Der spezifische Code lautet wie folgt:

data=pd.read_csv('iris.csv')
print(data.head())

Schritt 3: Datenverarbeitung und -trennung

Bevor wir die Daten in das logistische Regressionsmodell eingeben, müssen wir sie verarbeiten und trennen Sie die Daten. Zuerst müssen wir die Label-Spalte im Datensatz als unsere Zielvariable (y) abtrennen, während wir die verbleibenden Feature-Spalten als unsere unabhängigen Variablen (X) verwenden. Zweitens müssen wir die Daten verarbeiten, einschließlich: Verarbeitung fehlender Daten, Verarbeitung von Ausreißern, Konvertierung kategorialer Variablen usw. Hier können wir den Datensatz mithilfe der Funktion train_test_split in der sklearn-Bibliothek zufällig in Trainingsdaten und Testdaten aufteilen. Der spezifische Code lautet wie folgt:

X=data.iloc[:,:-1]
y=data.iloc[:,-1]

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)

Schritt 4: Modelltraining und -bewertung

Jetzt können wir den logistischen Regressionsalgorithmus verwenden, um die Trainingsdaten anzupassen. Wir können ein logistisches Regressionsobjekt erstellen, indem wir die LogisticRegression-Klasse in der sklearn-Bibliothek verwenden und dann die Fit-Methode verwenden, um die Trainingsdaten anzupassen. Nach Abschluss des Trainings können wir die Vorhersagemethode verwenden, um die Testdaten vorherzusagen, und die Funktionen „accurity_score“ und „confusion_matrix“ in der sklearn-Bibliothek verwenden, um das Modell auszuwerten. Der spezifische Code lautet wie folgt:

lr=LogisticRegression()
lr.fit(X_train,y_train)

y_pred=lr.predict(X_test)

acc=accuracy_score(y_test,y_pred)
cm=confusion_matrix(y_test,y_pred)

print('Accuracy:', acc)
print('Confusion Matrix:
', cm)

Schritt 5: Visualisierung der Ergebnisse

Schließlich können wir die Matplotlib-Bibliothek verwenden, um unsere Ergebnisse zu visualisieren. Beispielsweise können wir Streudiagramme oder Histogramme verwenden, um die Eigenschaften der Daten und die Klassifizierungsgrenzen der logistischen Regression darzustellen. Der spezifische Code lautet wie folgt:

colors=['blue','green','red']
markers=['o','s','^']
labels=['Setosa','Versicolour','Virginica']

for i, target in enumerate(set(data.iloc[:,-1])):
    plt.scatter(x=data.loc[data.iloc[:,-1]==target,'petal_length'], 
                y=data.loc[data.iloc[:,-1]==target,'petal_width'],
                c=colors[i],
                marker=markers[i],
                label=labels[i])

x=np.linspace(0,8,1000)
y=(-lr.coef_[0][0]*x-lr.intercept_)/lr.coef_[0][1]
plt.plot(x,y,'k-',label='Decision Boundary')

plt.xlabel('Petal Length')
plt.ylabel('Petal Width')
plt.legend(loc='lower right')
plt.show()

Zusammenfassend sind die oben genannten Schritte die grundlegenden Schritte zur Implementierung des logistischen Regressionsalgorithmus in Python, die entsprechend spezifischer Datensätze und Klassifizierungsprobleme angepasst und verbessert werden können. Obwohl der logistische Regressionsalgorithmus einfach und leicht zu verwenden ist, erfordert er auch ein umfassendes Verständnis seiner Prinzipien sowie eine angemessene Datenverarbeitung und Modelloptimierung, um bessere Klassifizierungsergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonBeispiel für einen logistischen Regressionsalgorithmus in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn