Machine Learning (ML) adalah salah satu cabang kecerdasan buatan (Artificial Intelligence/AI) yang mampu membantu manusia dalam mengambil keputusan berdasarkan data. Salah satu penerapan yang sering dijadikan contoh adalah klasifikasi penyakit diabetes. Dengan memanfaatkan data kesehatan pasien seperti usia, kadar gula darah, tekanan darah, dan faktor lainnya, kita dapat melatih model machine learning untuk memprediksi apakah seseorang berisiko terkena diabetes atau tidak.
Proyek ini sangat cocok untuk pemula karena:
Dataset sudah tersedia secara umum dan mudah digunakan.
Prosesnya sederhana, namun sudah mencakup konsep dasar data preprocessing, training, dan evaluasi model.
Bisa dijalankan secara gratis menggunakan Google Colab, tanpa perlu instalasi software tambahan.
Melalui tutorial ini, kita akan mempelajari langkah demi langkah membangun model klasifikasi penyakit diabetes, mulai dari menyiapkan data, membuat model, hingga mengevaluasi hasil prediksi.
Langkah-Langkah di Google Colab
1. Import Library yang Dibutuhkan
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
2. Load Dataset
Dataset Pima Indians Diabetes bisa diambil langsung dari GitHub.
url = "https://raw.githubusercontent.com/plotly/datasets/master/diabetes.csv"
data = pd.read_csv(url)
# Tampilkan 5 baris pertama
data.head()
3. Eksplorasi Data
print(data.info())
print(data.describe())
# Heatmap korelasi antar fitur
sns.heatmap(data.corr(), annot=True, cmap=“coolwarm”)
plt.show()
4. Pisahkan Fitur dan Label
X = data.drop("Outcome", axis=1) # Fitur (input)
y = data["Outcome"] # Label (0 = tidak diabetes, 1 = diabetes)
# Split data untuk training dan testing
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
5. Normalisasi Data
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
6. Buat Model Machine Learning
Contoh sederhana menggunakan Logistic Regression:
model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
7. Evaluasi Model
print("Akurasi:", accuracy_score(y_test, y_pred))
print("\nClassification Report:\n", classification_report(y_test, y_pred))
# Confusion Matrix
sns.heatmap(confusion_matrix(y_test, y_pred), annot=True, fmt=‘d’, cmap=“Blues”)
plt.xlabel(“Predicted”)
plt.ylabel(“Actual”)
plt.show()
Hasil & Kesimpulan
Model mampu memberikan akurasi sekitar 75–80% (tergantung data split).
Kita bisa melihat metrik precision, recall, dan f1-score untuk mengetahui performa model pada masing-masing kelas.
Visualisasi confusion matrix membantu memahami seberapa banyak prediksi benar dan salah.
Sebagai latihan tambahan, kamu bisa mencoba algoritma lain seperti:
RandomForestClassifierKNeighborsClassifierSVC
