Studi Kasus: Prediksi Diabetes menggunakan Regresi Logistik
Table of Contents
Pemodelan Regresi Logistik - This article is part of a series.
A. Pemahaman Data #
1. Deskripsi Data #
Dataset yang digunakan berasal dari scikit-learn dan berfokus pada prediksi kanker payudara. Dataset ini memiliki 30 fitur yang menggambarkan karakteristik sel tumor dan variabel target yang menunjukkan apakah tumor bersifat jinak atau ganas.
2. Visualisasi Data #
Melakukan visualisasi untuk memahami distribusi variabel, misalnya, histogram atau diagram pencar.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
from sklearn.datasets import load_breast_cancer
# Memuat dataset kanker payudara
cancer_data = load_breast_cancer()
feature_names = cancer_data.feature_names
# Konversi dataset ke DataFrame
cancer_df = pd.DataFrame(data=np.c_[cancer_data.data, cancer_data.target], columns=feature_names.tolist() + ['target'])
# Visualisasi
sns.pairplot(cancer_df, hue='target', vars=feature_names[:5]) # Memvisualisasikan lima fitur pertama
plt.show()
B. Persiapan Data #
1. Pembersihan Data #
Tidak diperlukan pembersihan data karena dataset dari scikit-learn umumnya bersih.
2. Ekstraksi Fitur #
Kita akan menggunakan semua fitur sebagai input model.
C. Pembagian Data #
from sklearn.model_selection import train_test_split
# Memisahkan fitur dan target
X = cancer_df.drop('target', axis=1)
y = cancer_df['target']
# Pembagian data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
D. Pemodelan #
from sklearn.linear_model import LogisticRegression
# Inisialisasi dan pelatihan model Regresi Logistik
logreg_model = LogisticRegression()
logreg_model.fit(X_train, y_train)
E. Evaluasi Model #
from sklearn.metrics import accuracy_score, precision_score, recall_score, roc_auc_score
# Prediksi pada data pengujian
y_pred = logreg_model.predict(X_test)
# Evaluasi performa model
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
roc_auc = roc_auc_score(y_test, logreg_model.predict_proba(X_test)[:, 1])
# Menampilkan hasil evaluasi
print(f'Akurasi: {accuracy:.2f}')
print(f'Presisi: {precision:.2f}')
print(f'Recall: {recall:.2f}')
print(f'AUC-ROC: {roc_auc:.2f}')
F. Kesimpulan dan Rekomendasi #
1. Kesimpulan: #
Model Regresi Logistik dapat memprediksi kanker payudara pada dataset dengan tingkat akurasi sekitar X%. Hasil evaluasi menunjukkan performa model yang baik/penting untuk diperhatikan (sesuaikan sesuai hasil sebenarnya).
2. Rekomendasi: #
Menyediakan rekomendasi untuk tindakan lebih lanjut, seperti penambahan fitur, peningkatan jumlah data, atau penyetelan lebih lanjut pada model untuk meningkatkan performa.