全部产品
Search
文档中心

Platform For AI:Memprediksi penyakit jantung

更新时间:Jul 06, 2025

Penyakit jantung merupakan ancaman serius bagi kehidupan manusia. Dengan menganalisis indikator tubuh berdasarkan data pemeriksaan medis, penyakit jantung dapat dicegah. Topik ini menjelaskan cara menggunakan algoritma penambangan data untuk membangun model prediksi penyakit jantung di Platform for AI (PAI) berdasarkan data pemeriksaan medis pasien.

Prasyarat

Prosedur penambangan data

Dataset

Pipeline yang dijelaskan dalam topik ini menggunakan dataset sumber terbuka dari UCI Machine Learning Repository. Untuk informasi lebih lanjut, lihat Heart Disease Data Set. Dataset tersebut mencakup data pemeriksaan medis dari 303 pasien penyakit jantung di wilayah Amerika Serikat. Tabel berikut menjelaskan bidang dalam dataset.

Bidang

Tipe

Deskripsi

age

STRING

Usia pasien.

sex

STRING

Jenis kelamin pasien. Nilai valid: female dan male.

cp

STRING

Jenis nyeri dada yang dialami pasien. Nilai valid: typical, atypical, non-anginal, dan asymptomatic.

trestbps

STRING

Tingkat tekanan darah istirahat pasien.

chol

STRING

Tingkat kolesterol serum pasien.

fbs

STRING

Tingkat gula darah puasa pasien. Jika tingkat gula darah puasa lebih besar dari 120 mg/dl, nilainya disetel ke true. Sebaliknya, nilainya disetel ke false.

restecg

STRING

Hasil elektrokardiogram (ECG) istirahat pasien. Nilai valid: norm dan hyp.

thalach

STRING

Denyut jantung maksimum pasien.

exang

STRING

Menunjukkan apakah pasien memiliki angina yang diinduksi oleh olahraga. Nilai valid: true dan false.

oldpeak

STRING

Depresi ST yang diinduksi oleh olahraga relatif terhadap istirahat.

slop

STRING

Kemiringan segmen ST puncak olahraga. Nilai valid: down, flat, dan up.

ca

STRING

Jumlah pembuluh utama yang diwarnai oleh fluoroskopi.

thal

STRING

Jenis cacat yang dimiliki pasien. Nilai valid: norm, fix, dan rev.

status

STRING

Keberadaan penyakit jantung pada pasien. Nilai valid: buff dan sick.

Memprediksi penyakit jantung

  1. Buka halaman Machine Learning Designer.

    1. Masuk ke Konsol PAI.

    2. Di panel navigasi sebelah kiri, klik Workspaces. Di halaman Workspaces, klik nama ruang kerja yang ingin Anda kelola.

    3. Di panel navigasi sebelah kiri, pilih Model Training > Visualized Modeling (Designer).

  2. Bangun pipeline

    1. Di halaman Visualized Modeling (Designer), klik tab Preset Templates.

    2. Di bagian Heart Disease Prediction pada tab Pipeline Template, klik Create.

    3. Di kotak dialog Create Pipeline, konfigurasikan parameter yang diperlukan. Anda dapat menggunakan nilai default.

      Nilai yang ditentukan untuk parameter Pipeline Data Path adalah jalur bucket Object Storage Service (OSS) untuk data sementara dan model yang dihasilkan selama runtime pipeline.

    4. Klik OK.

      Pipeline akan dibuat dalam waktu sekitar 10 detik.

    5. Di tab Daftar Pipeline, temukan pipeline bernama Heart Disease Prediction dan klik Open.

    6. Lihat komponen pipeline di kanvas seperti yang ditunjukkan pada gambar berikut. Sistem secara otomatis membuat pipeline berdasarkan template preset.

      Prediksi Penyakit Jantung

      Area

      Deskripsi

      Komponen yang ditampilkan di bagian ini melakukan pra-pemrosesan data. Misalnya, komponen denoise data, mengisi nilai yang hilang, dan mengonversi nilai menjadi angka. Dalam setiap sampel, pasien sehat atau sakit. Oleh karena itu, prediksi penyakit jantung dalam pipeline ini adalah masalah klasifikasi. Dataset yang digunakan dalam pipeline ini berisi 14 bidang fitur dan satu bidang tujuan. Selama pra-pemrosesan data, nilai setiap bidang harus dikonversi ke angka berdasarkan makna bidang. Parameter:

      • Bidang dua-nilai: Komponen mengonversi satu nilai menjadi 0 dan nilai lainnya menjadi 1. Misalnya, nilai bidang sex adalah female atau male. Setelah konversi, 0 menentukan female dan 1 menentukan male.

      • Bidang multi-nilai: Komponen mengonversi nilai menjadi 0, 1, 2, atau 3. Misalnya, bidang cp memiliki empat nilai yang menentukan jenis nyeri dada dari ringan hingga berat. Setelah konversi, nilai 0 hingga 3 digunakan untuk menentukan tingkat nyeri dada dari ringan hingga berat.

      Contoh skrip SQL:

      select age,
      (case sex when 'male' then 1 else 0 end) as sex,
      (case cp when 'angina' then 0  when 'notang' then 1 else 2 end) as cp,
      trestbps,
      chol,
      (case fbs when 'true' then 1 else 0 end) as fbs,
      (case restecg when 'norm' then 0  when 'abn' then 1 else 2 end) as restecg,
      thalach,
      (case exang when 'true' then 1 else 0 end) as exang,
      oldpeak,
      (case slop when 'up' then 0  when 'flat' then 1 else 2 end) as slop,
      ca,
      (case thal when 'norm' then 0  when 'fix' then 1 else 2 end) as thal,
      (case status  when 'sick' then 1 else 0 end) as ifHealth
      from  ${t1};

      Komponen yang ditampilkan di bagian ini melakukan rekayasa fitur, termasuk derivasi fitur dan perubahan skala. Komponen Type Transform mengonversi data fitur input menjadi tipe DOUBLE karena model regresi logistik hanya menerima data input tipe DOUBLE. Kemudian, komponen Feature Select Runner mengukur dampak setiap fitur pada hasil prediksi menggunakan entropi dan indeks Gini. Komponen Normalize mengonversi nilai setiap fitur menjadi nilai yang berkisar dari 0 hingga 1. Ini menghilangkan dampak dimensi pada hasil prediksi. Rumus normalisasi adalah result=(val-min)/(max-min).

      Komponen yang ditampilkan di bagian ini melatih model dan melakukan prediksi.

      1. Komponen Split membagi dataset menjadi dataset pelatihan dan dataset prediksi dengan rasio 7:3.

      2. Komponen Logistic Regression melatih model.

        Catatan

        Jika Anda ingin mengekspor file model PMML, pilih kotak centang Whether To Generate PMML di tab Field Setting. Klik area kosong di kanvas dan tentukan Penyimpanan Data di tab Pipeline Attributes.

      3. Dataset pelatihan dan prediksi diimpor ke komponen Prediction. Komponen Prediction menghasilkan hasil prediksi.

      Komponen Confusion Matrix dan Evaluate mengevaluasi model.

  3. Jalankan pipeline dan tinjau hasilnya.

    1. Di sudut kiri atas kanvas, klik ikon image.

    2. Setelah pipeline dijalankan, klik kanan komponen Logistic Regression di kanvas dan pilih Model Options > Export to PMML Files untuk mengekspor model prediksi penyakit jantung yang telah dilatih.

    3. Klik kanan Prediction di kanvas dan pilih View Data > Prediction Result Output Port untuk melihat hasil prediksi. Tinjau laporan evaluasi model.

  4. Tinjau hasilnya.

    1. Klik kanan Evaluate di kanvas dan klik Visual Analysis.

    2. Di kotak dialog Evaluate, klik tab Index data untuk melihat indeks yang digunakan dalam mengevaluasi model.

      Data IndeksDalam laporan evaluasi, nilai AUC menunjukkan bahwa akurasi prediksi model melebihi 90%.

    3. Klik kanan Confusion Matrix di kanvas dan klik Visual Analysis.

    4. Di kotak dialog Confusion Matrix, klik tab Statistics untuk melihat statistik model, seperti akurasi model.

Apa yang harus dilakukan selanjutnya

Jika pipeline berjalan sesuai harapan, Anda dapat menerapkan model untuk pemanggilan layanan. Untuk informasi lebih lanjut tentang penerapan, lihat Menerapkan Model sebagai Layanan Online dan PMML Processor.