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:

  1. Dataset sudah tersedia secara umum dan mudah digunakan.

  2. Prosesnya sederhana, namun sudah mencakup konsep dasar data preprocessing, training, dan evaluasi model.

  3. 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:

  • RandomForestClassifier

  • KNeighborsClassifier

  • SVC

 

WhatsApp