Bagaimana Cara Melakukan Regresi Logistik Dengan Python?



Regresi logistik dengan Python menggunakan sklearn untuk memprediksi hasil dengan menentukan hubungan antara variabel dependen dan satu atau lebih variabel independen.

Regresi logistik dengan Python adalah teknik analisis prediktif. Ini juga digunakan dalam Machine Learning untuk masalah klasifikasi biner. Di blog ini kita akan membahas topik berikut untuk memahami regresi logistik dengan Python:

  1. Apa itu Regresi?
  2. Regresi Logistik dengan Python
  3. Regresi Logistik vs Regresi Linier
  4. Gunakan Kasus
  5. Demonstrasi

Anda juga dapat merujuk tutorial terperinci ini tentang regresi logistik dengan python dengan demonstrasi untuk pemahaman yang lebih baik atau melalui untuk menguasai regresi logistik.





Apa itu Regresi?

Analisis adalah teknik analisis statistik yang kuat. SEBUAH tergantung variabel minat kami digunakan untuk memprediksi nilai-nilai lainnya Variabel independen dalam kumpulan data.

Kami menemukan regresi dengan cara yang intuitif sepanjang waktu. Seperti memprediksi cuaca menggunakan kumpulan data kondisi cuaca di masa lalu.



Ini menggunakan banyak teknik untuk menganalisis dan memprediksi hasil, tetapi penekanannya terutama pada hubungan antara variabel dependen dan satu atau lebih variabel independen.

Analisis memprediksi hasil dalam variabel biner yang hanya memiliki dua kemungkinan hasil.



Regresi Logistik Dengan Python

Ini adalah teknik untuk menganalisis kumpulan data yang memiliki variabel dependen dan satu atau lebih variabel independen untuk memprediksi hasil dalam variabel biner, artinya hanya akan memiliki dua hasil.

Variabel terikatnya adalah kategoris di alam. Variabel terikat juga disebut sebagai variabel target dan variabel bebas disebut prediktor .

Regresi logistik adalah kasus khusus dari regresi linier di mana kami hanya memprediksi hasil dalam variabel kategori. Ini memprediksi probabilitas acara menggunakan fungsi log.

Kami menggunakan Fungsi / kurva sigmoid untuk memprediksi nilai kategoris. Nilai ambang menentukan hasil (menang / kalah).

Persamaan regresi linier: y = β0 + β1X1 + β2X2…. + βnXn

  • Y adalah singkatan dari variabel dependen yang perlu diprediksi.
  • β0 adalah perpotongan dengan sumbu Y, yang pada dasarnya adalah titik pada garis yang menyentuh sumbu y.
  • β1 adalah kemiringan garis (kemiringannya bisa negatif atau positif tergantung pada hubungan antara variabel terikat dan variabel bebas.)
  • X di sini mewakili variabel independen yang digunakan untuk memprediksi nilai dependen resultan kami.

Fungsi sigmoid: p = 1/1 + e-Y

Terapkan fungsi sigmoid pada persamaan regresi linier.

regresi logistik di python-edureka

Persamaan Regresi Logistik: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Mari kita lihat berbagai jenis regresi logistik.

Jenis Regresi Logistik

apa itu big data dan hadoop
    • Regresi logistik biner - Ini hanya memiliki dua kemungkinan hasil. Contoh- ya atau tidak
    • Regresi logistik multinomial - Ini memiliki tiga atau lebih kategori nominal.Contoh- kucing, anjing, gajah.
    • Regresi logistik ordinal- Ini memiliki tiga atau lebih kategori ordinal, ordinal artinya kategori akan berurutan. Contoh- peringkat pengguna (1-5).

Regresi Logistik Linier Vs

Sedangkan regresi linier dapat memiliki kemungkinan nilai tak terbatas, regresi logistik memiliki hasil yang pasti .

Regresi linier digunakan ketika variabel respon bersifat kontinu, tetapi regresi logistik digunakan ketika variabel respon bersifat kategorikal.

Memprediksi nasabah yang mangkir di bank menggunakan detail transaksi di masa lalu adalah contoh regresi logistik, sedangkan output berkelanjutan seperti skor pasar saham adalah contoh regresi linier.

Gunakan Kasus

Berikut adalah kasus penggunaan di mana kita dapat menggunakan regresi logistik.

Prediksi Cuaca

Prediksi cuaca adalah hasil dari regresi logis. Di sini, kami menganalisis data dari laporan cuaca sebelumnya dan memprediksi kemungkinan hasil untuk hari tertentu. Tetapi regresi logis hanya akan memprediksi data kategorikal, seperti apakah akan hujan atau tidak.

Menentukan Penyakit

Kita dapatmenggunakanregresi logis dengan bantuan riwayat medis pasien untuk memprediksi apakah penyakitnya positif atau negatif dalam kasus apa pun.

Mari kita ambil contoh kumpulan data untuk membuat model prediksi menggunakan regresi logistik.

Demo

Kami akan membuat model prediksimenggunakanregresi logis dengan Python dengan bantuandarikumpulan data,di dalamkita akan membahas langkah-langkah berikut untuk mencapai regresi logis.

Mengumpulkan data

Langkah pertama untuk menerapkan regresi logistik adalah mengumpulkan data. Kami akan memuat file csv yang berisi kumpulan data ke dalam program menggunakan panda. Kami menggunakan data NBA untuk membangun model prediksi untuk memprediksi kemungkinan pertandingan kandang atau pertandingan tandang, dengan menganalisis hubungan antara data yang relevan.

import panda sebagai pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

Anda akan mendapatkan semua data ke dalam format yang dapat dibaca untuk analisis yang lebih mudah. Dan kemudian Anda dapat menentukan variabel dependen dan independen untuk model Anda.

Menganalisis Data

Kumpulan data dianalisis untuk menentukan hubungan antar variabel. Dengan membuat plot yang berbeda untuk memeriksa hubungan antar variabel.

sns.countplot ('Beranda', hue = 'WINorLOSS', data = df) plt.show ()

Di atas adalah hubungan antara persentase menang / kalah sehubungan dengan pertandingan kandang / tandang. Sserupakita dapat memplot grafik hubungan antara entri lain yang relevan dalam data.

Masalah Data

Kumpulan data diubah sesuai dengan variabel target. Kami akan menghilangkan semua nilai null dan nilai string juga dari DataFrame.

cetak (df.isnull (). sum ())

Kami akan memeriksa semua data yang tidak relevan seperti nilai null dan nilai yang tidak akan diperlukan saat membuat model prediksi. Jika tidak ada nilai null dalam dataset NBA yang kami gunakan, kami akan melanjutkan dengan memisahkan data.

Uji dan Latih Data

Untuk performansi model, data dipecah menjadi data uji dan data latih. Data tersebut dibagi menggunakan train_test_split . Data di sini dibagi dengan rasio 70:30.

Sekarang, untuk prediksi model Fungsi regresi logistik diimplementasikan dengan mengimpor model regresi logistik dalam modul sklearn.

Model tersebut kemudian dipasang di set kereta menggunakan fungsi fit. Setelah ini prediksi dilakukan menggunakan fungsi prediksi.

dari sklearn.model_selection impor train_test_split dari sklearn.linear_model impor LogisticRegression dari sklearn.metrics impor klasifikasi_report dari sklearn.metrics impor confusion_matrix, akurasi_score x = df.drop ('Beranda', axis = 1) y = df ['Rumah'] x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0,33, random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train, y_train) prediksi = logmodel.predict (x_test, prediksi) cetak (klasifikasi_report (y_t) print (confusion_matrix (y_test, prediksi)) print (akurasi_score (y_test, prediksi))

Laporan Klasifikasi:

Laporan klasifikasi menampilkan Presisi , Ingat, F1 dan Dukungan skor untuk model.

Presisi skor berarti tingkat ketepatan prediksi yang dibuat oleh model. Ketepatan untuk pertandingan kandang adalah 0.62 dan untuk pertandingan tandang 0,58 .

Penarikan adalah jumlah yang dapat digunakan model untuk memprediksi hasil. Ingat untuk pertandingan kandang adalah 0,57 dan untuk pertandingan tandang 0.64 . Skor F1 dan Dukungan adalah jumlah data yang diuji untuk prediksi. Dalam kumpulan data NBA, data yang diuji untuk pertandingan kandang adalah 1662 dan untuk pertandingan tandang 1586 .

Matriks kebingungan:

Confusion matrix adalah tabel yang mendeskripsikan kinerja suatu model prediksi. Matriks konfusi berisi nilai aktual dan nilai prediksi. kita dapat menggunakan nilai-nilai ini untuk menghitung skor akurasi model.

Peta panas matriks kebingungan:

Mari kita plot peta panas dari matriks konfusi menggunakan seaborn dan untuk memvisualisasikan model prediksi yang telah kami buat. Untuk memplot peta panas, diperlukan sintaks berikut.

sns.heatmap (pd.DataFrame (confusi_matrix (y_test, prediksi))) plt.show ()

Dengan melihat peta panas, kita dapat menyimpulkan hal berikut:

  • Dari semua prediksi, pengklasifikasi memprediksi ya untuk total 1.730 kali, di mana 1012 di antaranya adalah ya.
  • dari semua prediksi, pengklasifikasi memprediksi tidak sebanyak 1.518 kali, di mana 944 di antaranya adalah tidak sebenarnya.

Dengan analisis matriks konfusi ini kita dapat menyimpulkan skor akurasi untuk model prediksi kita.

Skor akurasi:

Skor akurasi adalah persentase akurasi prediksi yang dibuat oleh model. Untuk model kami, skor akurasinya adalah 0,60, yang cukup akurat. Tetapi semakin tinggi skor akurasi, semakin efisien model prediksi Anda. Anda harus selalu membidik skor akurasi yang lebih tinggi untuk model prediksi yang lebih baik.

Dengan mengikuti langkah-langkah yang dibahas di atas, kami telah memperkirakan kemungkinan pertandingan kandang / tandang menggunakan kumpulan data NBA. Setelah menganalisis laporan klasifikasi, kita dapat mengasumsikan kemungkinan pertandingan kandang / tandang.

Di blog ini kita telah membahas regresi logistik dalam konsep python, apa bedanya dengan pendekatan linier. Juga, kami telah meliput demonstrasi menggunakan NBA Dataset. Untuk wawasan dan praktik lebih lanjut, Anda dapat menggunakan kumpulan data pilihan Anda dan mengikuti langkah-langkah yang dibahas untuk menerapkan regresi logistik dengan Python.

Juga, periksa berbagai blog Ilmu Data di platform edureka untuk menguasai ilmuwan data dalam diri Anda.

implementasi hashmap sederhana di java
Jika Anda ingin belajar Python dan membangun karir dalam ilmu Data, lihat interaktif kami, langsung online di sini, yang hadir dengan dukungan 24 * 7 untuk memandu Anda selama periode belajar Anda.
ada pertanyaan? Silakan sebutkan di komentar dan kami akan menghubungi Anda kembali.