Pertemuan 04

Logika Dasar
Machine Learning

Melanjutkan pemahaman dari Fondasi Data Industri. Mari kita bedah secara interaktif bagaimana algoritma mengenali dan membedakan pola melalui Supervised dan Unsupervised Learning.

Labeled Data
Unlabeled Data

Bagaimana Mesin Menentukan
Dua Kondisi Berbeda?

Mesin A

Normal
Temperature 70ยฐC
Vibration 2.1 mm/s
Pressure 5.0 bar

Mesin B

Warning
Temperature 85ยฐC
Vibration 6.8 mm/s
Pressure 7.2 bar
Berdasarkan data di atas, mengapa algoritma dapat menganggap kondisi kedua mesin tersebut berbeda?
Apakah algoritma secara sadar "memahami" bahwa Mesin B sedang mengalami kerusakan fisik?
ATAU
Algoritma sebenarnya hanya melihat deretan angka dan mencari jarak/hubungan matematis antar-variabel tersebut?

Jawaban dari pertanyaan inilah yang menjadi fondasi dari seluruh cara kerja Machine Learning.

Masuk ke Inti: Ruang Fitur (Feature Space)
Kesimpulan Mesin
Jawaban yang tepat adalah: Algoritma sama sekali TIDAK "memahami" konsep mesin rusak, panas, atau bergetar keras.

Bagi algoritma, ia hanya melihat deretan angka (vektor matematika). Ia mendeteksi bahwa jarak nilai antara Mesin A dan Mesin B sangat berjauhan secara matematis, sehingga ia mengelompokkan keduanya ke dalam kondisi yang berbeda.
๐ŸŒŒ
Selamat datang di Feature Space (Ruang Fitur).
Di pabrik nyata, kita melihat Temperature, Vibration, dan Pressure. Namun, di dalam "otak" algoritma, ketiga variabel tersebut sekadar diterjemahkan menjadi sumbu koordinat (X, Y, Z) dalam sebuah ruang multidimensi. Semakin jauh jarak titik (X,Y,Z) tersebut, semakin berbeda pola datanya.

Di Mana Algoritma Melihat Pola?

Vibration ↑
Temperature →
1
2
3
4
5
6
7
8
65
70
75
80
85
90
โ€œMenurut Anda, apakah titik-titik tersebut membentuk dua kelompok?โ€

Melalui visualisasi koordinat ini, mahasiswa mulai melihat secara langsung bahwa machine learning bekerja terhadap posisi dan hubungan matematis antar-observasi, bukan semata melihat wujud fisik mesinnya.

๐Ÿ“

Feature

Variabel yang digunakan algoritma untuk belajar. Pada grafik di atas, Temperature (Sumbu X) dan Vibration (Sumbu Y) adalah fiturnya.

๐Ÿ”—

Pattern

Keteraturan atau hubungan yang dapat ditemukan dari feature. Contoh: Jika suhu mendekati 85, getaran cenderung ikut melonjak naik.

๐Ÿ“

Similarity / Distance

Seberapa dekat atau mirip suatu data dengan data lain. Titik yang posisinya saling berdekatan menunjukkan karakteristik mesin yang serupa.

๐ŸŽฏ

Class / Target

Jawaban akhir yang ingin diprediksi. Ini adalah inti dari Supervised Learning, di mana titik diklasifikasikan sebagai Normal atau Warning.

Inti Pembelajaran Mesin

Bagaimana Algoritma Memisahkan Data?

Batas Pemisah

โ€œJika Anda menjadi algoritma, bagaimana Anda menentukan batas antara kelompok atas dan bawah?โ€

Decision Boundary

Algoritma classification berusaha menemukan batas keputusan paling optimal yang memisahkan kelas. Batas ini digunakan untuk memprediksi data baru akan jatuh ke wilayah yang mana.

๐ŸŒŒ
1. Feature Space
Data berada dalam ruang fitur (koordinat dimensi).
โž”
๐Ÿง 
2. Learning
Algoritma mempelajari jarak dan hubungan antar-observasi.
โž”
โœ‚๏ธ
3. Boundary
Model membentuk aturan matematika sebagai batas tegas.
โž”
๐ŸŽฏ
4. Klasifikasi
Data baru yang tidak dikenal langsung ditempatkan ke salah satu kelas.
Mekanisme Klasifikasi

Supervised Learning:
Mencari Fungsi Pemetaan

Features (X) Target (y)
Temp Vib Status
70 2.1 Normal
72 2.4 Normal
75 2.8 Normal
83 6.2 Fault
86 7.1 Fault
88 7.5 Fault
Input Algoritma

Algoritma tidak melihat "mesin". Ia mengekstrak matriks data:

X
Temperature
+ Vibration
Memetakan (Map) โŸถ
y
Status Label
(Normal / Fault)
Inti Supervised Learning:
Bukan sekadar karena "datanya memiliki label", melainkan proses di mana model matematis secara aktif berusaha menemukan hubungan dan pola pasti untuk memetakan:
[Kondisi Mesin] โž” [Status Mesin]
Siklus Operasional

Dari Training Menuju Prediksi

๐Ÿ“Š
Training Data
Data historis + status
โž”
โš™๏ธ
Algorithm
Mencari pola & batas
โž”
๐Ÿง 
Model Terlatih
Menyimpan fungsi logika
โฌ‡
NEW DATA IN:
Temp = 84
Vib = 6.8
โž”
Model
โฌ‡
Predicted Status
โš ๏ธ FAULT
๐Ÿค” Pertanyaan Kritis: Apakah model selalu benar?
Jawabannya: TIDAK.

Algoritma bisa saja "menghafal" data historis tanpa benar-benar memahami polanya (kondisi ini disebut Overfitting). Oleh karena itu, kita tidak boleh menggunakan semua data yang kita miliki hanya untuk belajar. Kita harus melakukan pemisahan dataset.
๐Ÿ“š Training Data

Porsi data terbesar (biasanya 70% - 80%) yang digunakan oleh algoritma murni untuk belajar dan membentuk model. Ini ibarat buku teks dan latihan soal bagi seorang siswa sebelum ujian.

๐ŸŽฏ Testing Data

Sisa data (20% - 30%) yang disembunyikan dari algoritma selama proses belajar. Data ini digunakan di akhir sebagai ujian sesungguhnya untuk mengukur seberapa akurat prediksi model terhadap data yang belum pernah ia lihat sebelumnya.

Pergeseran Paradigma

Unsupervised Learning:
Belajar Tanpa Jawaban

Temperature Vibration
702.1
722.4
752.8
836.2
867.1
887.5

โ€œKolom Status (Normal/Fault) telah dihilangkan. Lalu, apa yang bisa dipelajari oleh algoritma dari data ini?โ€

โŒ

TIDAK BISA: Memprediksi Label

Algoritma tidak bisa lagi disuruh: โ€œPrediksikan status Fault pada mesin.โ€ Hal ini mustahil karena target (jawaban) tidak pernah diberikan sejak awal.

๐Ÿ”

BISA: Menemukan Kemiripan

Algoritma mengalihkan tugasnya menjadi: โ€œSaya akan mengelompokkan data yang berdekatan dan memiliki karakteristik serupa.โ€ Inilah esensi dari Clustering.

Intuisi Clustering

Konsep Distance & Similarity

DATA A
Temp: 70
Vib: 2.1
โ†”
DATA B
Temp: 72
Vib: 2.4
โ†”
DATA C
Temp: 88
Vib: 7.5
โ€œSecara kasat mata, data mana yang lebih mirip dengan Data A? B atau C?โ€
Tampilkan Jawaban ๐Ÿ‘๏ธ
Jawaban: Data B

Otak Anda baru saja melakukan kalkulasi jarak matematis. Itulah intuisi dasar clustering.
Dalam Unsupervised Learning, algoritma mencari kelompok murni dengan menghitung similarity (kemiripan) atau kedekatan jarak antar-observasi di dalam ruang fitur.

๐Ÿ” Deep Dive: Bagaimana Mesin Menghitung Jarak?

Mesin tidak "melihat" kemiripan seperti manusia, melainkan menghitungnya menggunakan rumus matematika. Salah satu yang paling populer adalah Euclidean Distance (Jarak Garis Lurus).

Jika Data A adalah (x_1, y_1) dan Data B adalah (x_2, y_2), maka jarak absolut antar kedua data dihitung dengan Teorema Pythagoras:

d(A,B) = \sqrt{(x_A - x_B)^2 + (y_A - y_B)^2}

Semakin kecil hasil kalkulasi jarak $(d)$ ini, semakin mirip kedua data tersebut. Algoritma clustering menghitung jutaan operasi jarak ini dalam hitungan detik untuk membentuk kelompok-kelompok data.

Integrasi & Evaluasi

Logika Dasar Machine Learning

๐ŸŠ ORANGE DATA MINING
๐Ÿ“
File
โž”
๐Ÿ“ˆ
Scatter Plot
โž”
โš—๏ธ
k-Means
โž”
๐Ÿ“Š
Silhouette Plot
โ€œLihat sendiri bagaimana K-Means membentuk kelompok!โ€
FASE 3: UPDATE POSISI CENTROID FASE 1: TEBAK CENTROID ACAK FASE 2: ALOKASI JARAK TERDEKAT FASE 3: UPDATE POSISI CENTROID

Di Orange, Widget Interactive k-Means melakukan proses persis seperti animasi di atas. Ia menebak pusat (centroid), mewarnai titik terdekat, bergeser ke tengah, lalu mengulanginya hingga formasinya stabil.

Pemetaan Cara Berpikir Algoritma

Paradigma ๐ŸŽฏ Supervised Learning ๐Ÿ” Unsupervised Learning
Apa yang diberikan? Data Feature + Jawaban (Target) Hanya Data Feature
Apa yang dicari? Fungsi Pemetaan: X โž” y Struktur & Pola tersembunyi di dalam X
Apa yang dihasilkan? Prediksi kelas atau nilai masa depan Cluster (kelompok) atau penyederhanaan data
Bagaimana ia belajar? Menghitung error dengan membandingkan Prediksi vs Target asli Menghitung jarak untuk mencari Kemiripan (Similarity) antar observasi
Contoh Kasus Menebak mesin berstatus Cacat / Normal Mencari kelompok kondisi mesin terpopuler di pabrik
Pertanyaan Algoritma
(Saat menerima data baru)
โ€œData ini termasuk ke dalam kelas yang mana?โ€ โ€œData ini paling mirip dengan kelompok yang mana?โ€
Mini Project Pertemuan 4

Machine Learning untuk Membaca Pola pada Sistem Industri

Tujuan Praktikum: Mahasiswa diminta membuktikan secara langsung bagaimana algoritma menghasilkan pola dan mengambil keputusan ketika data memiliki target (Supervised) dan ketika data tidak memiliki target (Unsupervised).

๐Ÿ“Š Dataset Kondisi Mesin Pabrik
Copy teks di bawah, paste ke Notepad, dan save sebagai data_mesin.csv
Temperature,Vibration,Pressure,RPM,Production_Rate,Maintenance_Status 70,2.1,5.0,1500,105,Normal 72,2.4,5.2,1480,102,Normal 71,2.2,5.1,1510,104,Normal 69,2.0,4.9,1520,106,Normal 74,2.7,5.4,1460,99,Normal 68,1.9,4.8,1530,107,Normal 70,2.0,5.0,1505,104,Normal 73,2.6,5.3,1470,100,Normal 71,2.3,5.1,1490,103,Normal 75,2.8,5.5,1450,98,Normal 69,2.1,4.9,1515,105,Normal 72,2.5,5.2,1485,102,Normal 67,1.8,4.7,1540,108,Normal 70,2.2,5.0,1500,104,Normal 74,2.6,5.3,1465,99,Normal 71,2.1,5.1,1510,105,Normal 68,1.9,4.8,1525,106,Normal 73,2.7,5.4,1475,101,Normal 72,2.4,5.2,1480,103,Normal 69,2.0,4.9,1520,105,Normal 77,3.8,5.8,1380,92,Perlu_Maintenance 78,4.1,6.0,1350,90,Perlu_Maintenance 76,3.6,5.7,1390,94,Perlu_Maintenance 79,4.5,6.2,1320,88,Perlu_Maintenance 77,3.9,5.9,1370,91,Perlu_Maintenance 78,4.2,6.1,1340,89,Perlu_Maintenance 76,3.5,5.6,1400,95,Normal 79,4.4,6.1,1330,88,Perlu_Maintenance 77,3.7,5.8,1380,93,Normal 78,4.0,6.0,1360,90,Perlu_Maintenance 85,6.5,7.1,1200,82,Perlu_Maintenance 88,7.2,7.4,1150,78,Perlu_Maintenance 83,6.1,6.8,1220,85,Perlu_Maintenance 87,6.9,7.3,1180,80,Perlu_Maintenance 82,5.8,6.5,1250,88,Perlu_Maintenance 86,6.7,7.2,1190,81,Perlu_Maintenance 84,6.3,7.0,1210,84,Perlu_Maintenance 89,7.5,7.6,1120,75,Perlu_Maintenance 85,6.4,7.1,1205,83,Perlu_Maintenance 88,7.1,7.5,1140,77,Perlu_Maintenance 83,6.0,6.7,1230,86,Perlu_Maintenance 87,7.0,7.4,1170,79,Perlu_Maintenance 82,5.9,6.6,1240,87,Perlu_Maintenance 86,6.8,7.2,1185,81,Perlu_Maintenance 84,6.2,6.9,1215,84,Perlu_Maintenance 90,7.8,7.7,1100,72,Perlu_Maintenance

*Gunakan widget File di Orange untuk meload file CSV ini. Pastikan tipe data kolom Maintenance_Status diatur sebagai Categorical/Target pada tahap Supervised.

Tahap 1: Supervised

Gunakan variabel Temp, Vib, Press, RPM, dan Prod_Rate untuk memprediksi kolom Maintenance_Status.

๐Ÿ“ File
โ†“
๐Ÿ—ƒ๏ธ Data Table
โ†“
๐ŸŒณ Tree (Model)
โ†“
โš–๏ธ Test & Score
โ†“
๐Ÿงฎ Confusion Matrix
  • Amati bagaimana model Tree membuat aturan/keputusan.
  • Cek di Confusion Matrix: adakah data yang salah diklasifikasikan?
  • Seberapa baik akurasi (CA) model memprediksi kondisi mesin?

Tahap 2: Unsupervised

Gunakan widget Select Columns untuk membuang (ignore) kolom Maintenance_Status. Biarkan algoritma mencari polanya sendiri.

๐Ÿ“ File
โ†“
โœ‚๏ธ Select Columns
โ†“
โš—๏ธ k-Means
โ†“
๐Ÿ“ˆ Scatter Plot
โ†“
๐Ÿ“Š Silhouette Plot
  • Atur k-Means dengan jumlah klaster K = 2. Amati Scatter Plot.
  • Ubah menjadi K = 3. Bandingkan hasilnya.
  • Gunakan Silhouette Plot untuk melihat skor kualitas pengelompokan.

Inti Project: "Bandingkan Cara Mesin Belajar"

Jawab pertanyaan berikut berdasarkan hasil eksperimen Anda di Orange Data Mining. Analisis Anda menunjukkan pemahaman terhadap logika Machine Learning.

  1. Pada percobaan Supervised Learning, apa yang menjadi target dari model?
  2. Berdasarkan hasil pemodelan, variabel apa yang paling tampak berperan kuat dalam membedakan kondisi mesin Normal vs Perlu Maintenance?
  3. Pada percobaan Unsupervised Learning, kelompok apa yang ditemukan oleh algoritma secara mandiri?
  4. Apa karakteristik data penyusun dari masing-masing klaster (cluster) tersebut?
  5. Apakah klaster tersebut memiliki makna operasional dalam konteks sistem industri pabrik ini?
  6. MENGAPA hasil Supervised dan Unsupervised bisa berbeda meskipun Anda menyuntikkan dataset asli yang sama persis ke dalam algoritma?
  7. Menurut Anda sebagai calon Engineer/Analis, pendekatan mana yang lebih berguna untuk menyelesaikan kasus perusahaan tersebut? Jelaskan alasannya.