Sains Data

Regresi Logistik di Python

Regresi Logistik di Python
Regresi logistik adalah algoritma klasifikasi pembelajaran mesin. Regresi logistik juga serupa dengan regresi linear. Tetapi perbezaan utama antara regresi logistik dan regresi linear adalah bahawa nilai output regresi logistik selalu binari (0, 1) dan tidak berangka. Regresi logistik pada asasnya mewujudkan hubungan antara pemboleh ubah bebas (satu atau lebih daripada satu) dan pemboleh ubah bersandar. Pemboleh ubah bersandar adalah pemboleh ubah binari yang kebanyakannya mempunyai dua kes:

Kepentingan utama Regresi Logistik:

  1. Pemboleh ubah bebas tidak boleh multikolineariti; jika ada hubungan, maka semestinya sangat sedikit.
  2. Set data untuk regresi logistik harus cukup besar untuk mendapatkan hasil yang lebih baik.
  3. Hanya atribut tersebut yang harus ada dalam set data, yang mempunyai beberapa makna.
  4. Pemboleh ubah bebas mesti mengikut kemungkinan log.

Untuk membina model regresi logistik, kami menggunakan scikit-belajar perpustakaan. Proses regresi logistik pada ular sawa diberikan di bawah:

  1. Import semua pakej yang diperlukan untuk regresi logistik dan perpustakaan lain.
  2. Muat naik set data.
  3. Memahami pemboleh ubah set data bebas dan pemboleh ubah bersandar.
  4. Pisahkan set data menjadi data latihan dan ujian.
  5. Memulakan model regresi logistik.
  6. Pasangkan model dengan set data latihan.
  7. Ramalkan model menggunakan data ujian dan hitung ketepatan model.

Masalah: Langkah pertama adalah mengumpulkan dataset di mana kita mahu menerapkan Regresi Logistik. Set data yang akan kami gunakan di sini adalah untuk set data kemasukan MS. Set data ini mempunyai empat pemboleh ubah dan tiga daripadanya adalah pemboleh ubah tidak bersandar (GRE, GPA, work_experience), dan satu adalah pemboleh ubah bersandar (diterima). Set data ini akan memberitahu sama ada calon akan mendapat kemasukan atau tidak ke Universiti berprestij berdasarkan IPK, GRE, atau pengalaman kerja mereka.

Langkah 1: Kami mengimport semua perpustakaan yang diperlukan yang kami perlukan untuk program python.

Langkah 2: Sekarang, kami memuat set data kemasukan ms kami menggunakan fungsi panda read_csv.

Langkah 3: Set data seperti di bawah:

Langkah 4: Kami memeriksa semua lajur yang tersedia dalam set data dan kemudian menetapkan semua pemboleh ubah bebas ke pemboleh ubah X dan pemboleh ubah bersandar ke y, seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Langkah 5: Setelah menetapkan pemboleh ubah bebas ke X dan pemboleh ubah bersandar ke y, kita sekarang mencetak di sini untuk memeriksa X dan y menggunakan fungsi kepala panda.

Langkah 6: Sekarang, kita akan membahagikan keseluruhan dataset menjadi latihan dan ujian. Untuk ini, kami menggunakan kaedah train_test_split sklearn. Kami telah memberikan ujian 25% dari keseluruhan dataset dan baki 75% dari set data untuk latihan.

Langkah 7: Sekarang, kita akan membahagikan keseluruhan dataset menjadi latihan dan ujian. Untuk ini, kami menggunakan kaedah train_test_split sklearn. Kami telah memberikan ujian 25% dari keseluruhan dataset dan baki 75% dari set data untuk latihan.

Kemudian kami membuat model Logistik Regresi dan sesuai dengan data latihan.

Langkah 8: Sekarang, model kami sudah siap untuk ramalan, jadi kami sekarang meneruskan data ujian (X_test) ke model dan mendapat hasilnya. Hasilnya menunjukkan (ramalan__) bahawa nilai 1 (diterima) dan 0 (tidak diterima).

Langkah 9: Sekarang, kami mencetak laporan klasifikasi dan matriks kekeliruan.

The classification_report menunjukkan bahawa model dapat meramalkan hasilnya dengan ketepatan 69%.
Matriks kekeliruan menunjukkan jumlah butiran data X_test sebagai:
TP = Positif Sebenar = 8
TN = Negatif Sebenar = 61
FP = Positif Palsu = 4
FN = Negatif Palsu = 27

Jadi, ketepatan total mengikut confusion_matrix adalah:

Ketepatan = (TP + TN) / Jumlah = (8 + 61) / 100 = 0.69

Langkah 10: Sekarang, kami akan memeriksa semula hasilnya melalui cetakan. Jadi, kami hanya mencetak 5 elemen teratas dari X_test dan y_test (nilai sebenar sebenar) menggunakan fungsi kepala panda. Kemudian, kami juga mencetak 5 hasil ramalan teratas seperti yang ditunjukkan di bawah:

Kami menggabungkan ketiga-tiga hasil dalam satu helaian untuk memahami ramalan seperti yang ditunjukkan di bawah. Kita dapat melihat bahawa kecuali untuk 341 X_test data, yang benar (1), ramalan itu salah (0) yang lain. Jadi, ramalan model kami berfungsi 69%, seperti yang telah kita tunjukkan di atas.

Langkah 11: Oleh itu, kami memahami bagaimana ramalan model dilakukan pada set data yang tidak kelihatan seperti X_test. Oleh itu, kami hanya membuat set data baru secara rawak menggunakan kerangka data pandas, menyebarkannya ke model terlatih, dan mendapat hasil yang ditunjukkan di bawah.

Kod lengkap dalam python yang diberikan di bawah:

Kod untuk blog ini, bersama dengan set data, terdapat di pautan berikut
https: // github.com / shekharpandey89 / logistik-regresi

Cara menaik taraf Kernel Linux di Ubuntu dan Linux Mint
Kernel adalah sekeping kod yang paling penting untuk komputer mana pun yang menggunakan sistem operasi. Ia menghubungkan sebagai antara muka komunikas...