Model Prediksi Diabetes Menggunakan Python Machine Learning

Feb 27 2023
Pendahuluan Pada artikel ini, kita akan mempelajari cara menggunakan model Train Test Split untuk membagi dataset menjadi empat bagian, mengembangkan model prediksi, dan juga menganalisis prediksi dan dataset melalui use case. Use Case — Problem Statement Tujuan kami untuk artikel ini adalah untuk memprediksi apakah pasien menderita diabetes atau tidak.

Perkenalan

Pada artikel ini, kita akan mempelajari cara menggunakan model Train Test Split untuk membagi dataset menjadi empat bagian, mengembangkan model prediksi, dan juga menganalisis prediksi dan dataset melalui use case.

Use Case — Pernyataan Masalah

Tujuan kami untuk artikel ini adalah untuk memprediksi apakah pasien menderita diabetes atau tidak . Semua pasien kami adalah wanita muda, yang datanya diberikan (yaitu jumlah kehamilan, kadar glukosa, dan BMI) akan digunakan untuk memprediksi diabetes. Ini adalah dataset yang akan kita gunakan.

Pelatihan dan Pengujian Data dalam Pembelajaran Mesin

Bekerja dengan kumpulan data, hampir semua algoritma pembelajaran mesin berfungsi dalam tiga fase berbeda: Pemrosesan Data, Model Prediksi, dan Analisis Data. Selama proses tahap 1, dataset dibagi menjadi 80% data pelatihan dan 20% data pengujian. Dengan menggunakan model Train Test Split , pertama-tama kita akan menyelesaikan preprocessing data sebelum model prediksi dan analisis data.

Untuk memulai prapemrosesan data, pertama-tama kita perlu menginstal beberapa pustaka Python menggunakan pip:

>>>pip instal panda

>>>pip instal sklearn

Setelah menginstal library yang diperlukan, kita akan menggunakan library pandas untuk mengimpor dataset dan library sklearn untuk mengeksekusi pembagian dataset:

Setelah mengimpor paket-paket ini, kami akan membaca dataset kami dari file csv ke kerangka data panda agar dapat dengan mudah diubah dan dimanipulasi pada tahap preprocessing.

Sekarang, kita akan mulai membagi dataset menjadi dua bagian: x dan y. Karena kita ingin memprediksi “Hasil”, 0 berarti tidak ada diabetes dan 1 berarti diabetes , variabel x kita akan mencakup semua data kecuali “Hasil”, sementara variabel y kita hanya akan menyimpan nilai “Hasil”.

Selanjutnya, kita akhirnya akan menggunakan model Train Test Split untuk membagi variabel x menjadi 80% x_train dan 20% x_test . Hal yang sama akan dilakukan pada variabel y: 80% y_train dan 20% y_test .

Untuk mengetahui apa yang sebenarnya terjadi, kita dapat menjalankan .head() atau .shape pada train dan menguji untuk melihat bagaimana data telah diubah dari awal artikel ini hingga sekarang.

Mengembangkan Model Prediksi

Menyelesaikan pembagian dataset menjadi empat bagian, sekarang kita akan memulai proses tahap 2, mengembangkan model prediksi. Kami akan menggunakan model Pengklasifikasi Hutan Acak , yang bagus untuk prediksi klasifikasi berdasarkan beberapa faktor seperti dalam kasus ini, untuk prediksi kami.

Pertama, kita akan mengimpor model Random Forest Classifier dari sklearn. Kemudian setelah menentukan nama model, akan dilatih dengan x_train dan y_train dari dataset, sehingga dapat mengetahui pola dan tren antara banyak variabel independen yang berbeda di x_train dan variabel “Outcome” di y_train . Setelah proses pelatihan selesai, kami akan menggunakan model terlatih kami untuk memprediksi "Hasil" dari data x_tes yang kami masukkan tanpa memberikannya data y_test. Ini kode untuk semua ini:

Dengan prediksi yang disimpan dalam variabel y_pred, kami ingin melihat seberapa akurat prediksi kami untuk data x-test yang diberikan dengan membandingkannya dengan hasil sebenarnya dari y_test. Dengan menggunakan metrik dari pustaka sklearn, kami mengetahui bahwa model kami sekitar 81% akurat dengan prediksinya.

Catatan: Model Pengklasifikasi Hutan Radom seperti model prediksi paling canggih dirancang untuk kumpulan data besar. Fungsi dan prediksinya jauh lebih akurat dengan jumlah data yang "lebih besar", karena dapat mengimplementasikan lebih banyak data untuk dilatih dan dipelajari, menghasilkan prediksi yang lebih baik dan akurasi yang lebih tinggi.

Analisis data

Pada langkah terakhir proyek ini, kami ingin melakukan beberapa analisis data untuk mempelajari lebih lanjut tentang data dan model prediksi kami. Pertama, kami akan menggunakan Matriks Kebingungan dari sklearn untuk mempelajari lebih dalam tentang prediksi kami dan di mana letak kesalahannya. Kita perlu dan menginstal dengan pip dan mengimpor pustaka seaborn dan matplotlib agar analitik data berikut ini berfungsi.

Seperti yang dapat kita lihat di sini, Matriks Kebingungan memberi tahu kita berapa kali model kita memprediksi sesuatu dengan benar dan salah. Selain itu, Matriks Kebingungan menunjukkan positif palsu dan negatif palsu yang dibuat oleh model, menyimpulkan bahwa model memerlukan lebih banyak data untuk memperbaiki kesalahan tersebut.

Teknik analisis data lainnya adalah dengan menggunakan Feature Importance Scores untuk menentukan variabel independen mana yang paling signifikan dalam memprediksi diabetes atau tidak . Semakin tinggi skor penting fitur berarti semakin besar pengaruh variabel tersebut terhadap “Hasil” diabetes.

Untuk menampilkan data ini secara grafis:

Kesimpulan

Di sini, di artikel ini, kami mempelajari cara membagi kumpulan data file csv menjadi 4 bagian berbeda menggunakan model Train Test Split, membuat model prediksi dengan melatih dan mengujinya, dan juga menggunakan beberapa teknik analisis data untuk memahami prediksi yang ada. .