Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh algoritma regresi logistik dalam Python

Contoh algoritma regresi logistik dalam Python

PHPz
PHPzasal
2023-06-11 17:52:331705semak imbas

Contoh algoritma regresi logistik dalam Python

Regresi logistik ialah algoritma klasifikasi yang biasa digunakan yang digunakan secara meluas dalam bidang pembelajaran mesin dan analisis data. Artikel ini akan memperkenalkan cara menggunakan algoritma regresi logistik untuk pengelasan dalam Python Langkah-langkah pelaksanaan khusus adalah seperti berikut:

Langkah 1: Import perpustakaan Python yang diperlukan

Sebelum mula melaksanakan logistik. algoritma regresi, kami memerlukan Import perpustakaan Python yang diperlukan, seperti: NumPy dan panda (untuk pemprosesan dan pembersihan data), sklearn dan matplotlib (untuk latihan dan penilaian model, dan visualisasi data). Kod khusus adalah seperti berikut:

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

Langkah 2: Muatkan set data

Seterusnya, kita perlu memuatkan set data. Di sini kita mengambil set data iris (iris) sebagai contoh. Set data ini mengandungi 4 ciri 3 spesies iris yang berbeza (Setosa, Versicolour dan Virginica): panjang sepal, lebar sepal, panjang kelopak dan lebar kelopak. Kita boleh memuatkan set data dengan menggunakan panda untuk membaca fail data dalam format CSV, kod khusus adalah seperti berikut:

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

Langkah 3: Pemprosesan dan pengasingan data

Sebelum memasukkan data ke dalam model regresi logistik, kita perlu memproses dan memisahkan data. Pertama, kita perlu mengasingkan lajur label dalam set data sebagai pembolehubah sasaran kami (y), sambil menggunakan lajur ciri yang selebihnya sebagai pembolehubah bebas kami (X). Kedua, kita perlu memproses data, termasuk: memproses data yang hilang, memproses outlier, menukar pembolehubah kategori, dll. Di sini, kita boleh membahagikan set data secara rawak kepada data latihan dan data ujian dengan menggunakan fungsi train_test_split dalam perpustakaan sklearn. Kod khusus adalah seperti berikut:

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)

Langkah 4: Latihan model dan penilaian

Kini, kita boleh menggunakan algoritma regresi logistik untuk menyesuaikan data latihan. Kita boleh mencipta objek regresi logistik dengan menggunakan kelas LogisticRegression dalam pustaka sklearn, dan kemudian menggunakan kaedah muat untuk memuatkan data latihan. Selepas latihan selesai, kita boleh menggunakan kaedah ramalan untuk meramal data ujian, dan menggunakan fungsi accuracy_score dan confusion_matrix dalam perpustakaan sklearn untuk menilai model. Kod khusus adalah seperti berikut:

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)

Langkah 5: Visualisasi hasil

Akhir sekali, kami boleh menggunakan perpustakaan matplotlib untuk menggambarkan hasil kami. Sebagai contoh, kita boleh menggunakan plot serakan atau histogram untuk menunjukkan ciri-ciri data dan sempadan pengelasan regresi logistik. Kod khusus adalah seperti berikut:

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()

Ringkasnya, perkara di atas adalah langkah asas untuk melaksanakan algoritma regresi logistik dalam Python, yang boleh dilaraskan dan diperbaiki mengikut set data dan masalah klasifikasi tertentu. Walaupun algoritma regresi logistik adalah mudah dan mudah digunakan, ia juga memerlukan pemahaman penuh tentang prinsipnya dan pemprosesan data yang sesuai dan pengoptimuman model untuk mencapai hasil pengelasan yang lebih baik.

Atas ialah kandungan terperinci Contoh algoritma regresi logistik dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn