Rumah >pembangunan bahagian belakang >Tutorial Python >Penjelasan terperinci tentang model regresi logistik dalam Python
Penjelasan terperinci tentang model regresi logistik dalam Python
Regresi logistik ialah algoritma pembelajaran mesin yang digunakan secara meluas dalam masalah pengelasan. Ia boleh menyambungkan data input dan label yang sepadan untuk mengklasifikasikan data baharu. Dalam Python, regresi logistik ialah algoritma klasifikasi yang biasa digunakan. Artikel ini akan memperkenalkan secara terperinci prinsip dan penggunaan model regresi logistik.
Prinsip regresi logistik
Regresi logistik ialah algoritma pengelasan binari klasik, yang biasanya digunakan untuk meramalkan kategori mana sesuatu data tergolong. Hasil keluaran ialah nilai kebarangkalian, yang mewakili kebarangkalian sampel itu tergolong dalam kelas tertentu, biasanya nombor nyata antara 0 dan 1. Intipati regresi logistik ialah pengelas linear, yang meramalkan data input dan parameter melalui fungsi linear, dan melakukan pemetaan kebarangkalian melalui fungsi sigmoid untuk mengeluarkan hasil pengelasan.
Fungsi hipotesis model regresi logistik ditakrifkan seperti berikut:
$$h_{ heta}(x)= rac{1}{1+e^{- heta^Tx} }$$
Antaranya, $ heta $ ialah vektor parameter model, dan $ x $ ialah vektor data input. Jika $h_{ heta}(x)geq0.5$, sampel diramalkan sebagai kelas positif, jika tidak sampel diramalkan sebagai kelas negatif.
Fungsi kehilangan model regresi logistik ialah fungsi kehilangan logaritma, yang menunjukkan sejauh mana model itu sesuai dengan data latihan ia ditakrifkan seperti berikut:
$$J( heta)= - rac{1}{ m}sum_{i=1}^{m}{[y^{(i)}log{h_{ heta}(x^{(i)})}+(1-y^{ (i)})log (1-h_{ heta}(x^{(i)}))]}$$
Di mana, $y^{(i)}$ ialah label sebenar sampel $i$, $x^ {(i)}$ ialah vektor ciri sampel $i$ dan $m$ ialah jumlah bilangan sampel.
Proses latihan model regresi logistik ialah proses menyelesaikan parameter model $ heta $ dengan meminimumkan fungsi kehilangan. Algoritma pengoptimuman yang biasa digunakan termasuk kaedah penurunan kecerunan, kaedah Newton, dsb.
Pelaksanaan model regresi logistik dalam Python
Dalam Python, kita boleh menggunakan perpustakaan Scikit-Learn untuk membina model regresi logistik. Scikit-Learn ialah perpustakaan pembelajaran mesin yang biasa digunakan dalam Python. Ia menyediakan pelbagai algoritma dan alatan untuk memudahkan operasi pengguna seperti prapemprosesan ciri, pemilihan model, penilaian dan pengoptimuman.
Pertama, kita perlu mengimport perpustakaan dan set data yang berkaitan, contohnya:
import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn import metrics from sklearn.datasets import load_iris iris = load_iris() X = iris.data y = iris.target
Seterusnya, kami membahagikan set data kepada set latihan dan set ujian:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
Kemudian , kita boleh menggunakan model regresi logistik untuk latihan dan ramalan:
lr = LogisticRegression() lr.fit(X_train, y_train) y_pred = lr.predict(X_test)
Akhir sekali, kita boleh menilai prestasi model melalui penunjuk seperti matriks kekeliruan dan ketepatan:
cnf_matrix = metrics.confusion_matrix(y_test, y_pred) print(cnf_matrix) print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
Ringkasan
Regresi logistik ialah algoritma klasifikasi yang biasa digunakan yang boleh meramalkan masalah klasifikasi binari dengan berkesan. Dalam Python, kita boleh menggunakan perpustakaan Scikit-Learn untuk membina dan melatih model regresi logistik. Tetapi harus diingat bahawa dalam aplikasi praktikal, kita perlu praproses dan memilih ciri untuk meningkatkan prestasi dan keteguhan model.
Atas ialah kandungan terperinci Penjelasan terperinci tentang model regresi logistik dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!