Proyek ini berfokus pada prediksi kanker hati (liver cancer) berdasarkan data klinis dan gaya hidup pasien.
Model machine learning diterapkan untuk mengklasifikasikan apakah pasien berisiko atau tidak, berdasarkan kombinasi faktor medis dan kebiasaan hidup.
Algoritma yang digunakan meliputi:
- π³ Random Forest
- π§© Support Vector Machine (SVM)
- π₯ K-Nearest Neighbors (KNN)
- π Naive Bayes
- π² Decision Tree
Dataset diperoleh dari Kaggle:
π Predict Liver Cancer β Kaggle
Kolom | Tipe | Deskripsi |
---|---|---|
age | Numeric | Usia pasien (30β85 tahun) |
gender | Categorical | Jenis kelamin (Male/Female) |
bmi | Numeric | Body Mass Index (16β45) |
alcohol_consumption | Categorical | Konsumsi alkohol: Never, Occasional, Regular |
smoking_status | Categorical | Status merokok: Never, Former, Current |
hepatitis_b/c | Categorical | Riwayat infeksi Hepatitis B atau C |
liver_function_score | Numeric | Skor fungsi hati |
afp_level | Numeric | Alpha-fetoprotein (marker kanker hati) |
family_history | Categorical | Riwayat kanker hati dalam keluarga |
cirrhosis | Categorical | Riwayat sirosis |
physical_activity | Numeric | Aktivitas fisik (jam/minggu) |
diabetes | Categorical | Riwayat diabetes |
liver_cancer | Target | Label diagnosis (Yes/No) |
-
Import Library π
Digunakanpandas
,numpy
,matplotlib
,seaborn
, sertascikit-learn
. -
Load Dataset π
Membaca data mentah, eksplorasi awal, dan menampilkan ringkasan variabel. -
Data Cleaning π§Ή
- Mengecek missing values
- Menangani data kosong atau tidak konsisten
-
Exploratory Data Analysis (EDA) π
- Distribusi pasien berdasarkan usia & gender
- Hubungan faktor risiko dengan status kanker hati
- Visualisasi korelasi antar variabel numerik
-
Preprocessing βοΈ
- Encoding variabel kategorikal
- Normalisasi/standarisasi data numerik
- Balancing data menggunakan teknik resampling
-
Modeling π€
Beberapa model diterapkan untuk membandingkan performa:- Random Forest
- SVM
- KNN
- Naive Bayes
- Decision Tree
-
Evaluasi π
- Confusion Matrix
- Classification Report (Precision, Recall, F1-Score)
- Accuracy Score
Model | Accuracy | Precision | Recall | F1-Score |
---|---|---|---|---|
π³ Random Forest | 98.66% | 0.99 | 0.99 | 0.99 |
π§© Support Vector Machine | 88.37% | 0.88 | 0.88 | 0.88 |
π₯ K-Nearest Neighbors (KNN) | 89.20% | 0.89 | 0.89 | 0.89 |
π Naive Bayes | 83.39% | 0.83 | 0.83 | 0.83 |
π² Decision Tree | 96.10% | 0.96 | 0.96 | 0.96 |
Berdasarkan hasil evaluasi:
- π³ Random Forest memberikan performa terbaik dengan akurasi hampir 99% dan skor metrik yang sangat tinggi.
- π² Decision Tree juga cukup baik, namun lebih rentan terhadap overfitting.
- π§© SVM dan π₯ KNN memiliki performa menengah dengan akurasi ~88β89%.
- π Naive Bayes menjadi model tercepat, tetapi memiliki akurasi paling rendah.
Secara keseluruhan, Random Forest adalah model paling optimal untuk prediksi kanker hati pada dataset ini, karena mampu menangkap pola kompleks antar fitur dengan baik.