Anda di halaman 1dari 211

Department of

Computer Science
http://cs.ipb.ac.id/

KOM1338 Data Mining


Pertemuan 1 Pengenalan Data Mining

Tim Pengajar Data Mining


Agenda

• Pendahuluan
• Pengertian Data Mining
• Knowledge Discovery in Database (KDD)
• Arsitektur Sistem Data Mining
• Tugas-tugas dalam Data Mining
• Aplikasi
Pendahuluan: Motivasi

➢ Masalah eksplorasi data


○ Teknologi pengumpulan dan penyimpanan data, serta sumber data
yang besar menyebabkan terjadinya penumpukan data
○ Data saja tidak cukup, yang diperlukan adalah informasi dan
pengetahuan
○ We are drowning in data, but starving for knowledge!

➢ Solusi: data warehousing dan data mining!


○ Data warehousing: online analytical processing (OLAP)
○ Ekstraksi pengetahuan dan pola dari data (aturan, pola asosiasi) dari
data berukuran besar
Pendahuluan: Motivasi

➢ Informasi dan pengetahuan tersembunyi di dalam data


➢ Analisis manual sulit dan lama
➢ Banyak data tidak dianalisis
setelah dikumpulkan
Pendahuluan: Motivasi

➢ Mengapa menambang data?


○ Banyak data yang dikumpulkan dapat
menghasilkan informasi/pengetahuan
yang berguna jika diolah/ditambang
■ Web- data, e-commerce, banking,
transactions data
■ Scientific data (pengukuran ilmiah, basis
data medis, citra satelit, dll)
○ Teknologi komputer yang semakin kuat
dan murah
■ CPU/GPU processing
■ Memory/RAM yang besar
■ Cloud computing
○ Tekanan kompetisi untuk menyediakan
layanan yang baik
Pendahuluan: Motivasi (sudut pandang ilmiah)

➢ Data diukur dan disimpan dengan kecepatan tinggi (GB/jam):


○ Remote sensor/citra satelit
○ Data sekuens genomik dan data ekspresi gen (microarray/RNASeq)
○ Data spasial GIS
○ Simulasi ilmiah (fisika, kimia, biologi, geometeorologi, dll)
○ Data citra dalam jumlah besar
➢ Teknik analisis tradisional tidak cukup
➢ Data mining dapat membantu ilmuwan:
○ Melakukan klasifikasi
○ Melakukan clustering
○ Mencari hubungan/asosiasi antar obyek
○ Mendapatkan pengetahuan baru dari data
Pendahuluan: Motivasi

Syahidi et. al, 2019

Stephens et. al, 2015


Pengertian Data Mining

➢ Data Mining (knowledge discovery in databases):


○ Ekstraksi informasi atau pola yang menarik (non-trivial, implicit,
previously unknown dan potentially useful) dalam basis data berukuran
besar.
➢ Istilah lain:
○ Knowledge discovery (mining) in databases (KDD), knowledge
extraction, data/pattern analysis, data archeology, data dredging,
information harvesting, business intelligence, dll.

➢ Yang bukan termasuk data mining task?


○ Pemrosesan (deductive) query.
○ Sistem pakar
○ Sistem informasi
Hubungan data mining dengan bidang
lain
➢ Terkait erat dengan bidang machine learning/AI, pattern
recognition, statistika, dan sistem basis data
➢ Teknik tradisional menjadi kurang sesuai karena:
○ Data berukuran besar
○ Tingginya dimensi data dan
○ Data yang heterogen dan terdistribusi

Sumber: Turing.com
Pengertian Data Mining

Yang bukan data mining Yang merupakan data mining


task? task?
● Mencari nama ● Mencari produk yang
mahasiswa S1 Ilmu sering dibeli bersamaan
Komputer pada SIMAK di sebuah toko
● Mencari nomor telepon ● Mengelompokkan
● Melakukan kueri pada dokumen yang mirip
search engine berdasarkan kesamaan
tema/konteks
berdasarkan hasil kueri
Data mining: multidisiplin
Data Mining

Data mining sebagai elemen


utama dalam proses
knowledge discovery dari
data (Han & Kamber, 2012)
Data Mining

Han & Kamber, 2012


Data Mining

1. Pembersihan data: menghilangkan noise dan data yang tidak


konsisten.
2. Pengintegrasian data: data digabungkan dari berbagai sumber.
3. Seleksi data: data yang relevan dengan proses analisis diambil
dari basis data.
4. Transformasi data: data ditransformasikan atau digabungkan
ke dalam bentuk yang sesuai untuk di-mine dengan cara
dilakukan peringkasan atau operasi agregasi.
5. Data mining: merupakan proses yang penting dalam KDD
dimana metode-metode cerdas diaplikasikan untuk mengekstrak
pola-pola data.
6. Evaluasi pola: untuk mengidentifikasi pola-pola yang menarik
yang merepresentasikan pengetahuan berdasarkan suatu
ukuran kemenarikan.
7. Presentasi pengetahuan: merepresentasikan pengetahuan
yang telah digali kepada pengguna.
Data Mining dalam BI
Arsitektur Data Mining
Data yang ditambang

• Basis data relasional


• Data warehouse
• Basis data transaksional
• Tempat penyimpanan data lainnya:
• Basis data object-oriented dan basis data object-relational
• Basis data spatial
• Data time-series dan data temporal
• Sequence data (incl. bio-sequences)
• Data teks dan basis data multimedia
• WWW
Tugas-tugas dalam Data Mining

➢ Metode Prediksi
○ Menggunakan beberapa variabel (atribut) untuk memprediksi nilai
yang tidak diketahui atau nilai yang akan datang dari variabel (atribut)
lain.
➢ Metode Deskripsi
○ Menemukan pola-pola (korelasi, trend, cluster, trayektori, dan anomali)
yang meringkas hubungan dalam data.
Tugas-tugas dalam Data Mining

➢ Analisis Asosiasi (Korelasi dan kausalitas)


○ Analisis asosiasi adalah pencarian aturan-aturan asosiasi yang
menunjukkan nilai atribut yang sering terjadi bersama-sama dalam
sekumpulan data. Analisis asosiasi sering digunakan untuk
menganalisa market basket dan data transaksi.

➢ Klasifikasi dan Prediksi


○ Klasifikasi adalah proses menemukan model (fungsi) yang
menjelaskan dan membedakan kelas-kelas atau konsep, dengan
tujuan agar model yang diperoleh dapat digunakan untuk
memprediksikan kelas atau objek yang label kelasnya tidak diketahui.
Tugas-tugas dalam Data Mining

➢ Analisis Cluster
○ Tidak seperti klasifikasi dan prediksi, yang menganalisis objek data
yang diberi label kelas, clustering menganalisis objek data dimana
label kelasnya tidak diketahui. Clustering dapat digunakan untuk
menentukan label kelas yang tidak diketahui dengan cara
mengelompokkan data untuk membentuk kelas baru.

➢ Analisis Outlier
○ Outlier merupakan objek data yang tidak mengikuti perilaku umum dari
data. Outlier dapat dianggap sebagai noise atau pengecualian.
Analisis outlier dinamakan outlier mining. Teknik ini berguna dalam
fraud detection dan rare events analysis.
Aplikasi Data Mining

➢ Web page analysis: from web page classification, clustering to


PageRank & HITS algorithms
➢ Collaborative analysis & recommender systems
➢ Basket data analysis to targeted marketing
➢ Biological and medical data analysis: classification, cluster
analysis (microarray data analysis), biological sequence
analysis, biological network analysis
Aplikasi 1: Analisis dan Manajemen
Pasar
➢ Sumber data?
○ transaksi kartu kredit, data pengguna kartu yang setia (loyal), kupon
discount, panggilan keluhan pengguna, studi gaya hidup publik
➢ Target marketing
○ Mencari cluster dari konsumen “model” yang memiliki karakteristik yang
sama: minat, level pendapatan, perilaku belanja, dll
○ Menentukan pola pembelian konsumen pada setiap waktu
➢ Cross-market analysis—Menemukan asosiasi/korelasi antar penjualan
produk dan melakukan prediksi berdasarkan asosiasi tersebut
➢ Customer profiling—Tipe konsumen seperti apa yang akan membeli
produk tertentu (clustering atau klasifikasi)
➢ Customer requirement analysis
○ Mengidentifikasi produk terbaik untuk konsumen-konsumen yang berbeda
○ Memprediksi faktor-faktor yang akan menarik perhatian konsumen baru
➢ Summary information Laporan ringkasan multidimensional Informasi
ringkasan statistik (data central tendency dan variation)
Aplikasi 1: Klasifikasi

➢ Direct Marketing
○ Tujuan: mengurangi biaya pengiriman surat dengan mentargetkan
sekelompok konsumen yang mungkin akan membeli produk baru.

➢ Fraud Detection
○ Mendeteksi kecurangan dalam transaksi dalam transaksi kartu kredit.
Aplikasi 2: Klasifikasi

➢ Perpindahan konsumen ke kompetitor (Customer Attrition


/Churn):
➢ Tujuan: memprediksi apakah seorang konsumen akan pindah ke
produk kompetitor.
➢ Pendekatan: Menggunakan catatan transaksi secara rinci untuk
setiap konsumen lampau dan saat ini, untuk menentukan
atribut.
○ Seberapa sering konsumen melakukan panggilan, dimana dia
melakukan panggilan, kapan konsumen tersebut sering melakukan
panggilan, status keuangannya, status pernikahan, dll.
➢ Menentukan label konsumen sebagai loyal atau tidak loyal.
Tentukan model untuk loyalty
Tugas-tugas dalam Data Mining

➢ Analisis Trend dan Evolusi


○ Analisis evolusi data menjelaskan dan memodelkan trend dari objek
yang memiliki perilaku yang berubah setiap waktu. Teknik ini dapat
meliputi karakterisasi, diskriminasi, asosiasi, klasifikasi, atau clustering
dari data yang berkaitan dengan waktu.
Aplikasi: Clustering

➢ Segmentasi Pasar:
○ Tujuan: membagi pasar ke dalam bagian-bagian konsumen yang
berbeda dimana sebuah bagian dapat dipilih sebagai target pasar.
○ Pendekatan: Mengumpulkan atribut-atribut yang berbeda dari
konsumen berdasarkan informasi yang terkait lokasi geografis, dan
gaya hidupnya.
○ Menemukan cluster dari konsumen-konsumen yang serupa.
○ Mengukur kualitas clustering dengan mengobservasi pola pembelian
dari konsumen-konsumen dalam kelas yang sama terhadap
konsumen-konsumen dari cluster yang berbeda.
Aplikasi Data Mining
Referensi

• Tan P., Michael S., & Vipin K. 2006. Introduction to Data mining.
Pearson Education, Inc.
• Han J & Kamber M. 2006. Data mining – Concept and
Techniques. Morgan-Kauffman, San Diego
Latihan/Kuis - 5 menit
 Tentukan apakah aktivitas-aktivitas berikut adalah
termasuk dalam lingkup Datamining
 Membagi pegawai suatu perusahaan berdasarkan gender
 Memprediksi harga barang pada bulan selanjutnya
berdasarkan data historis (bulan-bulan sebelumnya)
 Memonitor detak jantung pasien untuk mendeteksi kondisi
abnormal
 Menghitung total penjualan suatu perusahaan
 Mengkarakterisasi pelanggan setia suatu produk
Data mining lebih cenderung pada eksplorasi pola atau penemuan pengetahuan baru dalam data, sementara aktivitas lain seperti
menghitung total penjualan mungkin lebih terkait dengan analisis data atau statistika konvensional.

0 1/18/2024
Computer Science Department
Bogor Agricultural University

“getting familiar with your data”

Data dan Eksplorasi Data


Kuliah 2

1 1/18/2024
Outline
 Data dan Tipe data
 Kualitas data
 Statistika ringkasan
 Visualisasi
 Ukuran kemiripan dan ketidakmiripan

Sumber :
 Tan P., Michael S., & Vipin K. 2006. Introduction to Data mining. Pearson
Education, Inc.
 Han J & Kamber M. 2006. Data mining – Concept and Techniques. Morgan-
Kauffman, San Diego
 Berbagai sumber lainnya

2 1/18/2024
 Data dan Tipe data
 Kualitas data
 Statistika ringkasan
 Visualisasi
 Ukuran kemiripan dan ketidakmiripan

3 1/18/2024
Apakah Data itu ?
 Koleksi objek data dan atributnya
 Sebuah atribut (variabel, field,
karakteristik, atau fitur) adalah suatu sifat
Attributes / Kolom
“instriksik” atau karakteristik dari suatu
objek data
 Kumpulan atribut mendeskripsikan suatu Tid Refund Marital Taxable
Status Income Cheat
objek (record, titik (point), sampel,
entitas, atau instan) 1 Yes Single 125K No
2 No Married 100K No
 Nilai dari suatu atribut dapat berupa
3 No Single 70K No
numbers (angka) atau simbol (karakter,
4 Yes Married 120K No
string) yang diberikan ke suatu atribut
5 No Divorced 95K Yes
Objects
6 No Married 60K No
/ Baris
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes
10
Pembagian Data

binary Based on
type

Based on
numeric data
characteristics

5 1/18/2024
Tipe Atribut : Katagorikal (Kualitatif)
Tipe
Deskripsi Contoh Operasi
Atribut
Nominal Atribut nominal hanya Kode pos, ID modus,
menyediakan informasi pegawai, warna entropy,
yang cukup untuk mata, gender: contingency
membedakan suatu objek {pria, wanita} correlation, 2
dengan objek yang lain (=, test
)

Ordinal Nilai atribut ordinal Tingkat median,


menyediakan informasi kekerasan percentiles,
yang cukup untuk material {good, rank
MENGURUTKAN objek better, best}, correlation,
(<, >) rangking, nomor run tests, sign
jalan tests

6 1/18/2024
Tipe Atribut: Numerik (Kuantitatif)

Tipe Atribut Deskripsi Contoh Operasi


Interval Atribut interval, tidak dates mean,
memiliki nol mutlak, (penanggalan), standard
dan memiliki nilai di temperatur dalam deviation,
bawah nol. Celsius atau Pearson's
Fahrenheit correlation, t
and F tests
Ratio Atribut interval, Temperatur dalam geometric
memiliki nol mutlak, Kelvin, monetary mean,
dan tidak memiliki quantities, counts, harmonic
nilai di bawah nol. age, mass, mean, percent
panjang, arus listrik variation

7 1/18/2024
Contoh
 Tipe atribut interval (+, -)
 Selisih antara temperatur pada 90o C dan 100o C sama dengan
selisih temperatur 80 C dan 90o C
o

 Tapi panas pada temperatur 100o C tidak berarti dua kali dari panas
temperatur 50o C
 0o C tidak berarti tidak ada panas

 Tipe atribut rasio (+, -, *, /)


 panas pada temperatur 100o K berarti dua kali dari panas
temperatur 50o K
 0o K berarti memang tidak ada panas

8 1/18/2024
Untuk atribut di bawah ini, tipe atributnya apa?

 PH (untuk mengukur tingkat keasaman) → interval


 Berat badan → ratio
 Fenotipe (warna mata, warna kulit, dll) → nominal
 Tingkat rasa sakit → ordinal
 IPK → ratio
 Nilai mata kuliah → ratio
 Musim→ nominal

9 1/18/2024
Pembagian Atribut berdasarkan
Karakteristik Datanya

10 1/18/2024
Pembagian Atribut berdasarkan
Karakteristik Datanya
Diskrit Kontinu

8 8
Jumlah orang yg makan

7 7

6 6
cupcake

5 5

waktu
4 4

3 3

2 2

1 1

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Jumlah cupcake terjual Jarak

Biasanya direpresentasikan Biasanya direpresentasikan


sebagai variabel integer sebagai variabel float/riil
11 1/18/2024
Termasuk apakah atribut di bawah ini? Atribut
Diskrit atau Atribut Kontinu?

 PH (untuk mengukur tingkat keasaman) → kontinu


 Berat badan → kontinu
 Fenotipe (warna mata, warna kulit, dll) → diskrit
 Tingkat rasa sakit → diskrit
 IPK → kontinu
 Nilai mata kuliah → kontinu
 Musim → diskrit

12 1/18/2024
Tipe-tipe Dataset
 Record
 Graph
 Ordered
 Spatial and Image

13
Tipe-tipe Dataset : Record
Relational record Matrix, crosstab

Document data: Term-frequency vector of text documents


Transaction Data

14 1/18/2024
Tipe-tipe Dataset : Graf
Transportation Network Molecular Network

World Wide Web Network Social Network

15 1/18/2024
Tipe-tipe Dataset : Ordered/Sequence
Video Data :
Sequence of Image

Transaction Sequences

Genetic Sequences

Temporal Data / Time Series

16 1/18/2024
Tipe-tipe Dataset : Image data, Spatial data

Image Spatial data


17 1/18/2024
 Data dan Tipe data
 Kualitas data
 Statistika ringkasan
 Visualisasi
 Ukuran kemiripan dan ketidakmiripan

18 1/18/2024
Kualitas Data
Isu yang penting terkait Kualitas Data:
 Problem apa yang muncul terkait dengan kualitas
data?
 Bagaimana kita mendeteksi problem tersebut?
 Apa yang bisa kita lakukan untuk mengatasinya?

19
Problem yang terkait dengan Kualitas Data
 Outlier or Noise ?
 An outlier is simply data which does not “fit in” with the other
data that you are analyzing. An outlier can be a valid data
point, or it can be noise.

 Missing Values

 Inconsistent values

20 1/18/2024
Missing Values
 Sebab-sebab missing values
 Informasi tersebut tidak diperoleh (tidak terkumpul)
(contoh, orang menolak memberikan info umur dan berat badan)
 Atribut tidak dapat diterapkan pada semua kasus
(e.g., atribut pendapatan tahunan tidak bisa dijawab/tidak cocok
dengan anak-anak)

 Penanganan missing values


 Mengeliminasi Objek Data
 Mengestimasi Missing Values, dengan melakukan interpolasi
menggunakan nilai-nilai yang ada pada atribut tersebut
 Mengabaikan Missing Value selama tahap analisis
 misal, objek-2 data akan diklusterkan dan perlu menghitung similaritas antar
pasangan objek data
 Similaritas ini dapat dihitung dengan hanya menggunakan nilai data yang
ada
21
Duplikasi Data
 Dataset mungkin mengandung objek-2 data yang sama
(duplikat)
 Terjadi jika melakukan merge (penggabungan) dari berbagai
sumber data
 Perhatian perlu diberikan untuk menghindari
mengkombinasikan objek yang similar tapi tidak duplikat
 Contoh: orang yang sama dengan banyak alamat email

 Data cleaning (Pembersihan Data)


 Proses yang terkait dengan isu duplikasi data
 Menghilangkan noise dan data yang tidak konsisten

22
 Data dan Tipe data
 Kualitas data
 Statistika ringkasan
 Visualisasi
 Ukuran kemiripan dan ketidakmiripan

23 1/18/2024
Statistika ringkasan
 To better understand the data:
 Measures of central tendency (ukuran pemusatan data)
 tells you where most of your points lie…..
 Measures of Variability (ukuran penyebaran data)
 tells you whether the points tend to be clustered around the center
or more widely spread out.

24 1/18/2024
Measure of Central Tendency
(Ukuran Pemusatan Data)

25 1/18/2024
When to use which
 Mean : When there are no
outliers
 Median : When there may
be outliers exist
 Mode : When data is not
numerical

26 1/18/2024
Menduga bentuk distribusi data

Mean < Median Mean == Median Mean > Median

Measures of central tendency and


variability, both together give a complete
picture of data.

27 1/18/2024
Measures of Variability
(ukuran penyebaran data)
 Memberikan informasi mengenai sebaran dan keragaman
data (variation):
 Range
 Variance & Standard Deviation
 Interquartile range

28 1/18/2024
Range
 Range adalah perbedaan antara nilai maksimum dan
minimum dari data
 Kelemahan:
 Tidak memberikan informasi mengenai pola distribusi data
 Data 1 :6,7,9,10,11,12
 Data 2 : 6,10,11,12,12,12
 Range Data 1 = = Range Data 2
 Sensitif terhadap outlier
 Data 1 : 1, 2, 2, 3, 3, 4, 5
 Data 2 : 1, 2, 2, 3, 3, 4, 100
 Range Data 1 = 4, Range Data 2 = 99

29 1/18/2024
Variance & Standard Deviation
 Tells how far each score lies from the mean.
 The larger, the more variable the data set is → nilai data kurang konsisten,
sehingga lebih sulit untuk membuat prediksi
 The smaller, the more reliable the data is → informasi tentang populasi dapat
diprediksi dengan baik menggunakan data sampel.
 Sensitive of outliers.

Low standard
deviation
high standard
deviation

higher standard
deviation
30 1/18/2024
Ragam dan Simpangan Baku
Sensitive terhadap Outliers.

 Ragam sensitif terhadap outliers, maka ukuran yang


sering digunakan adalah:

AAD: absolute average deviation


MAD: median absolute deviation
IQR: interquartile range
Interquartile Range (IQR)
 The spread of the middle of distribution.
 Less affected by outlier

32 1/18/2024
 Data dan Tipe data
 Kualitas data
 Statistika ringkasan
 Visualisasi
 Ukuran kemiripan dan ketidakmiripan

33 1/18/2024
Visualisasi
Visualisasi adalah konversi data ke dalam format visual
sehingga karakteristik data dan keterhubungan antar atribut
dapat dianalisis

 Visualisasi data adalah salah satu teknik yang powerful


dan menarik untuk melakukan eksplorasi data
 Dapat mendeteksi pola umum dan tren
 Dapat mendeteksi outlier dan pola yang tidak umum
Contoh: Temperatur permukaan laut
 Gambar berikut memperlihatkan temperatur permukaan
laut (Sea Surface Temperature/SST) bulan Juli 1982
 Puluhan ribu titik data divisualisasikan dalam satu gambar
Representasi
 Representasi adalah pemetaan informasi ke dalam format
visual
 Objek data, atribut-atributnya, dan keterhubungan antar
objek data diterjemahkan ke dalam bentuk elemen grafik,
seperti titik, garis, bentuk (shapes) dan warna
Arrangement (Pengaturan)
 Pengaturan adalah penempatan elemen-elemen visual
dalam suatu tampilan (display)
 Dapat membuat perbedaan yang signifikan dalam
bagaimana membaca/memahami data
 Contoh:
Teknik visualisasi: Histograms
 Histogram
 Biasanya memperlihatkan distribusi nilai dari suatu variabel
 Membagi nilai-nilai ke dalam bin dan memperlihatkan plot dalam bentuk bar dari
sejumlah objek pada masing-masing bin
 Tinggi bar menunjukkan jumlah objek
 Bentuk histogram tergantung dari jumlah bin
Teknik visualisasi: Box Plots
 Box Plots outlier
 Ditemukan olehJ. Tukey
 Cara lain untuk 10th percentile
menampilkan distribusi
data
 Gambar berikut
menunjukkan bagian-
75th percentile
bagian dasar suatu box
plot
50th percentile
25th percentile

10th percentile
Contoh Box Plots
 Box plots dapat digunakan untuk membandingkan
atribut-atribut
Scatter Plot

41 1/18/2024
Heat Map / Correlation Matrix

42 1/18/2024
Scatter Plot Array of Iris Attributes

Source: http://mirlab.org
 Data dan Tipe data
 Kualitas data
 Statistika ringkasan
 Visualisasi
 Ukuran kemiripan dan ketidakmiripan

44 1/18/2024
Kemiripan (Similarity) dan Ketidakmiripan
(Dissimilarity)
 Kemiripan (Similarity)
 Ukuran numerik dari seberapa mirip dua buah objek data
 Semakin tinggi kemiripan antar dua objek, semakin tinggi
nilai kemiripannya
 Ketidakmiripan (Dissimilarity)
 Ukuran numerik yang menggambarkan seberapa berbeda dua
buah objek data
 Semakin tinggi kemiripan antar dua objek, semakin rendah
nilai ketidakmiripannya (disimilaritasnya)
 Kedekatan (Proximity) mengacu pada kemiripan atau
ketidakmiripan
Kemiripan/Ketidakmiripan Atribut Nominal

46 1/18/2024
Kemiripan/Ketidakmiripan Atribut Ordinal
 Values map to integer, then find the distance

47 1/18/2024
http://enformatik.cu.edu.tr/CEN481/CEN481_Week4_Examples.pdf
Kemiripan/Ketidakmiripan Atribut Numerik

48 1/18/2024
Kemiripan/Ketidakmiripan Atribut Biner
SMC versus Jaccard: Contoh

p= 1000000000
q= 0000001001

M01 = 2 (jumlah atribut di mana p bernilai 0 dan q bernilai 1)


M10 = 1 (jumlah atribut di mana p bernilai 1 dan q bernilai 0)
M00 = 7 (jumlah atribut di mana p bernilai 0 dan q bernilai 0)
M11 = 0 (jumlah atribut di mana p bernilai 1 dan q bernilai 1)

SMC = (M11 + M00)/(M01 + M10 + M11 + M00) = (0+7) / (2+1+0+7) = 0.7

J = (M11) / (M01 + M10 + M11) = 0 / (2 + 1 + 0) = 0


Euclidean Distance
 Euclidean Distance
n
dist =  ( pk − qk )
2
k =1
di mana n jumlah dimensi (atribut) dan pk dan qk berturut-turut adalah
nilai atribut ke-k dari objek data p dan q.

 Jika skalanya berbeda, standarisasi diperlukan


Euclidean Distance

3
point x y
2 p1 p1 0 2
p3 p4 p2 2 0
1 p3 3 1
p2
0 p4 5 1
0 1 2 3 4 5 6

p1 p2 p3 p4
p1 0 2.828 3.162 5.099
p2 2.828 0 1.414 3.162
p3 3.162 1.414 0 2
p4 5.099 3.162 2 0
Distance Matrix
Karakteristik umum jarak (Distance)
 Jarak, seperti misalnya Euclidean distance, memiliki
karakteristik berikut:
1. d(p, q)  0 untuk semua p dan q dan d(p, q) = 0 hanya jika
p = q → Positive definiteness
2. d(p, q) = d(q, p) untuk semua p dan q → Symmetri
3. d(p, r)  d(p, q) + d(q, r) untuk semua titik p, q, dan r →
Triangle Inequality
di mana d(p, q) adalah jarak antara titik-titik (objek data),
p dan q. p

q
Other Distance :

Minkowski Distance, Manhattan Distance, Mahalanobi Distance, Cosine


Distance
Karakteristik Umum Kemiripan (Similarity)
 Kemiripan (Similarities), memiliki beberapa
karakteristik:
1. s(p, q) = 1 atau kemiripan maksimal (maximum
similarity) hanya jika p = q.

2. s(p, q) = s(q, p) untuk semua p dan q → Simetri


di mana s(p, q) adalah similaritas antara titik-titik (objek
data) p dan q.
Exercises
 Classify the following attributes as binary, discrete, or continuous,
qualitative (nominal or ordinal) or quantitative (interval or ratio)

Attribute Binary Discrete Continuous qualitative quantitative


Distance to
nearest hospital
Temperature of
human body
Temperature of
human body
By human
judgments

Exam grade
Predicate of
graduation
54 1/18/2024
Department of
Computer Science
http://cs.ipb.ac.id/

KOM1338 Data Mining


Pertemuan 3 Pra-proses Data

Tim Pengajar Data Mining


Agenda

• Motivasi: mengapa perlu pra-proses data


• Pembersihan data
• Integrasi dan transformasi data
• Reduksi data
• Diskretisasi dan konsep hirarki
• Kesimpulan
Pendahuluan: Motivasi

➢ Sering ditemukan data yang kurang baik (data dirty)


○ tidak lengkap: tidak ada nilai atribut, atribut yg diperlukan, atau hanya
berisi data agregat contoh, occupation=“ ”
○ noisy: mengandung errors atau outliers contoh: Salary=“-10”
○ tidak konsisten:
• contoh: Age=“42” Birthday=“03/07/1997”
• contoh: rating “1,2,3” → rating “A, B, C”
• Contoh: perbedaan antar records yang duplikasi
Pendahuluan: Motivasi

• Data yang tidak lengkap dapat disebabkan oleh:


• “Tidak memungkinkan” saat proses pengumpulan data
• adanya pertimbangan yang berbeda saat data dikumpulkan dan
dianalisis
• masalah pada manusia/perangkat keras/perangkat
• Noisy data (nilai salah) dapat berasal dari
• kesalahan instrumen saat mengumpulkan data
• Human/computer error saat entry data
• kesalahan saat transmisi data
• Inkonsistensi data dapat berasal dari
• sumber data yang berbeda
• pelanggaran Functional dependency (contoh., modifikasi beberapa
data yang terhubung)
• duplikasi
Pendahuluan: Motivasi

Tidak ada data yang berkualitas → tidak ada hasil proses mining
yang berkualitas
• Keputusan yang berkualitas harus berdasarkan data yang
berkualitas
• Contoh: duplikasi atau data yang tidak lengkap akan menyebabkan
statistik yang salah atau menyesatkan.
• Data warehouse memerlukan integrasi yang konsisten dari data
yang berkualitas
• Ekstraksi data, pembersihan data dan transformasi data
merupakan aktivitas utama dalam membangun data warehouse
Tugas utama dalam pra-proses data

➢ Pembersihan data (Data cleaning)


○ mengisi nilai yang kosong, smooth noisy data, identifikasi dan
membuang outliers, dan mengatasi inkonsistensi
➢ Integrasi data (Data integration)
○ integrasi dari beberapa basisdata, data cubes, atau files
➢ Transformasi data (Data transformation)
○ normalisasi dan agregasi
➢ Reduksi data (Data reduction)
○ menghasilkan jumlah data yang lebih sedikit namun dapat
memperoleh hasil analisis yang sama
➢ Diskretisasi data (Data discretization)
○ bagian dari reduksi data tetapi dengan kepentingan tertentu,
khususnya untuk data numerik
Agenda

• Motivasi: mengapa perlu pra-proses data


• Pembersihan data
• Integrasi dan transformasi data
• Reduksi data
• Diskretisasi dan konsep hirarki
• Kesimpulan
Pembersihan data

➢ Pentingnya pembersihan data


○ “Pembersihan data merupakan salah satu dari tiga masalah utama
dalam data warehousing”—Ralph Kimball
○ “Pembersihan data merupakan masalah utama dalam data
warehousing”—DCI survey

➢ Tugas-tugas dalam pembersihan data


○ mengisi nilai yang kosong
○ identifikasi outliers dan smooth out noisy data
○ memperbaiki inkonsistensi data
○ mengatasi redundansi yang disebabkan oleh integrasi data
Pembersihan data

➢ Data tidak selalu tersedia


○ contoh., banyak record yang tidak memiliki nilai pada beberapa atribut,
seperti penghasilan pelanggan pada data penjualan

➢ Data hilang/kosong dapat disebabkan oleh kerusakan peralatan


○ nilai atribut dihapus karena inkonsistensi dengan data lain yang telah
tersimpan
○ data tidak di-input karena adanya kesalahpahaman
○ data tertentu mungkin dianggap tidak penting saat di-entri
○ tidak mendaftarkan perubahan data

➢ Data yang hilang mungkin perlu disimpulkan (imputasi)


Menangani Data yang Hilang

➢ abaikan record tsb:


○ umumnya dilakukan ketika tidak ada label kelas (misalkan utk kasus
klasifikasi – tidak efektif ketika persentase nilai yang kosong untuk
setiap atribut sangat berbeda).
➢ mengisi nilai yang kosong/hilang secara manual:
○ tedious + infeasible?
➢ mengisi secara otomatis menggunakan:
○ konstanta global: misal, “unknown”, kelas baru?!
○ rataan nilai atribut
○ rataan nilai atribut dari seluruh sample pada kelas yang sama – lebih
baik
○ nilai yang paling mungkin: dugaan menggunakan formula Bayes
atau decision tree
Noise pada data

➢ Noise: ragam atau kesalahan acak pada variable yang diukur


➢ Kesalahan pada nilai atribut dapat disebabkan oleh:
○ kesalahan pada instrumen pengumpulan data
○ masalah saat entry data
○ masalah saat transmisi data keterbatasan teknologi
○ inkonsistensi pada penamaan

➢ masalah lainnya yang memerlukan pembersihan data


○ duplikasi data
○ data tidak lengkap
○ inkonsistensi data
Menangani Noise pada Data

➢ Binning
○ urutkan data dan partisi ke dalam (frekuensi yg sama) bins
○ selanjutnya, smooth by bin means, smooth by bin median, smooth by
bin boundaries, etc.
➢ Regresi
○ smooth by fitting the data into regression functions
➢ Clustering
○ mendeteksi dan membuang outliers
➢ Kombinasi hasil pemeriksaan komputer dan manusia
○ deteksi nilai yang mencurigakan dan validasi oleh manusia (misal.,
berkaitan dengan outliers)
Metode Diskretisasi sederhana: Binning

➢ Equal-width (distance) partitioning


○ membagi range nilai menjadi N intervals dengan ukuran yang sama:
(uniform grid)
○ jika A dan B merupakan nilai atribut terkecil dan terbesar, lebar interval
adalah: W = (B –A)/N.
○ Pendekatan paling mudah, namun outliers mungkin mendominasi
penyajian
○ Skewed data tidak ditangani dengan baik
➢ Equal-depth (frequency) partitioning
○ membagi range nilai menjadi N intervals, setiap interval berisi kira-kira
jumlah sampel yang sama
○ penskalaan data yang bagus
○ mengelola atribut kategorik bisa jadi lebih rumit
Metode Diskretisasi sederhana: Binning

➢ Urutkan data (harga dalam dollars):


○ 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34
○ Partisi menjadi equal-frequency (equi-depth) bins:
■ Bin 1: 4, 8, 9, 15
■ Bin 2: 21, 21, 24, 25
■ Bin 3: 26, 28, 29, 34
○ Smoothing dengan rataan di setiap bin:
■ Bin 1: 9, 9, 9, 9
■ Bin 2: 23, 23, 23, 23
■ Bin 3: 29, 29, 29, 29
○ Smoothing dengan nilai batas bin:
■ Bin 1: 4, 4, 4, 15
■ Bin 2: 21, 21, 25, 25
■ Bin 3: 26, 26, 26, 34
Regresi : Simple Linear Regression
Regresi : Linear Regression

➢ Regresi:
○ adalah kumpulan teknik statistik-matematik untuk memodelkan sebuah
variabel response numerik (Y) berdasarkan variabel-variabel penduga
lainnya (Xi)
➢ Linear regression:
○ Regresi dengan pemodelan hubungan linear antara variabel penduga
(X) dan response (Y)
○ Pemodelan regresi yang paling mudah dan paling umum digunakan
➢ Terdapat juga berbagai jenis pemodelan regresi non-linear,
contoh: Support Vector Regression (SVR), Generalized Linear
Regression dll
➢ Regresi dapat digunakan untuk melakukan smoothing data yang
memiliki noise
Teknik cluster untuk menangani outlier
Agenda

• Motivasi: mengapa perlu pra-proses data


• Pembersihan data
• Integrasi dan transformasi data
• Reduksi data
• Diskretisasi dan konsep hirarki
• Kesimpulan
Integrasi data

➢ Integrasi data:
○ menggabungkan data dari beberapa sumber menjadi data yang
koheren
○ Skema integrasi: misal., A.cust-id B.cust-#
○ integrasi metadata dari sumber yang berbeda
➢ Masalah identifikasi entitas:
○ mengenali entitas di dunia nyata dari beberapa sumber data, contoh.,
Bill Clinton = William Clinton
○ mendeteksi dan menyelesaikan data value conflicts
○ dari sumber yang berbeda, entitas yang sama memiliki nilai atribut
yang berbeda
○ penyebab: representasi yang berbeda, perbedaan skala seperti metric
vs. British units
Redundansi data pada integrasi data

➢ Redundansi data sering terjadi saat proses integrasi dari


beberapa basis data
○ Object identification: atribut atau objek yang sama memiliki nama yang
berbeda di basis data yang berbeda
○ Derivable data: suatu atribut merupakan atribut “turunan” dari tabel
lainnya, contoh., annual revenue
➢ Redundansi atribut dapat dideteksi dengan analisis korelasi
(correlation analysis)
➢ Proses integrasi data dari beberapa sumber yang dilakukan
secara hati-hati dapat mengurangi/menghindari redundansi,
inkonsistensi dan meningkatkan kecepatan dan kualitas saat
mining
Analisis Korelasi

➢ Koefisien korelasi (juga dikenal sbg Pearson’s product moment


coefficient)

○ dimana n adalah jumlah record


○ r > 0, maka x dan y berkorelasi positif (x naik, y naik)
○ r = 0: independent, x dan y tidak memiliki korelasi
○ r < 0: x dan y berkorelasi negatif (x naik, y turun)
○ Semakin tinggi nilai (absolut) korelasi, semakin kuat korelasi x dan y.
Analisis Korelasi (Categorical Data)

𝝌2 (chi-square) test :

➢ Semakin besar nilai 𝝌2, semakin besar likelihood bahwa kedua


variabel memiliki korelasi
➢ Cell yang paling berkontribusi pada nilai 𝝌2 adalah cell yg
memiliki nilai aktual paling berbeda dari expected
➢ Correlation does not imply causality # of hospitals and # of car-
theft in a city are correlated Both are causally linked to the third
variable: population
Analisi Korelasi (Chi-square)
Transformasi Data

➢ Smoothing: membuang noise dari data


➢ Aggregation: summarization, data cube construction
➢ Generalization: concept hierarchy climbing
➢ Normalization: scaled to fall within a small, specified range:
○ min-max normalization
○ z-score normalization
○ normalization by decimal scaling
➢ Attribute/feature construction (feature engineering)
○ New attributes constructed from the given ones
Normalisasi data

➢ Min-max normalization

➢ Z-score normalization

➢ Decimal scaling
Reduksi Data

➢ Mengapa reduksi data?


○ Basis data/data warehouse menyimpan terabytes of data
○ analisis/mining data memerlukan waktu proses yang lama jika
diterapkan pada seluruh data
➢ Reduksi data
○ memperoleh representasi data yang lebih kecil namun dapat
menghasilkan hasil analisis yang (hampir) sama
➢ Strategi reduksi data
○ Data cube aggregation:
○ Dimensionality reduction — misal., membuang atribut yang tidak
penting
○ Data Compression
○ Numerosity reduction — misal., fit data into models
○ Discretization and concept hierarchy generation
Data Cube Aggregation

➢ Level terendah dari data cube (base cuboid)


○ The aggregated data for an individual entity of interest E.g., a
customer in a phone calling data warehouse
➢ Multiple levels of aggregation in data cubes
○ Further reduce the size of data to deal with
➢ Reference appropriate levels
○ Use the smallest representation which is enough to solve the task
➢ Queries regarding aggregated information should be answered
using data cube, when possible
Seleksi Fitur

➢ Seleksi fitur (pemilihan subset atribut):


○ Select a minimum set of features such that the probability distribution
of different classes given the values for those features is as close as
possible to the original distribution given the values of all features
reduce # of patterns in the patterns, mudah dimengerti
➢ Heuristic methods (due to exponential # of choices):
○ Step-wise forward selection
○ Step-wise backward elimination
○ Combining forward selection and backward elimination
○ Model-based feature selection: e,g., LARS/LASSO, ridge regression,
decision trees
Seleksi Fitur
Seleksi Fitur
Dimensionality Reduction: PCA
Dimensionality Reduction: PCA
Metode Reduksi Data : Histogram
Metode Reduksi Data: Sampling

➢ Sampling: obtaining a small sample s to represent the whole


data set N
➢ Allow a mining algorithm to run in complexity that is potentially
sub-linear to the size of the data
➢ Choose a representative subset of the data
○ Simple random sampling may have very poor performance in the
presence of skew
➢ Develop adaptive sampling methods
○ Stratified sampling: Approximate the percentage of each class (or
subpopulation of interest) in the overall database
○ Used in conjunction with skewed data
➢ Note: Sampling may not reduce database I/Os (page at a time)
Metode Reduksi Data: Sampling
Metode Reduksi Data: Sampling (clustering)
Diskretisasi

➢ Tiga tipe atribut:


○ Nominal — values from an unordered set, e.g., color, profession
○ Ordinal — values from an ordered set, e.g., military or academic rank
○ Continuous — real numbers, e.g., integer or real numbers
➢ Discretization:
○ Divide the range of a continuous attribute into intervals
○ Some classification algorithms only accept categorical attributes.
○ Reduce data size by discretization
○ Prepare for further analysis
Diskretisasi

➢ Discretization
○ Reduce the number of values for a given continuous attribute by
dividing the range of the attribute into intervals
○ Interval labels can then be used to replace actual data values
○ Supervised vs. unsupervised
○ Split (top-down) vs. merge (bottom-up)
○ Discretization can be performed recursively on an attribute
➢ Concept hierarchy formation
○ Recursively reduce the data by collecting and replacing low level
concepts (such as numeric values for age) by higher level concepts
(such as young, middle-aged, or senior)
Diskretisasi
Automatic Concept Hierarchy
Generation
Kesimpulan

➢ Data preparation or preprocessing is a big issue for both data


warehousing and data mining
➢ Descriptive data summarization is need for quality data
preprocessing
➢ Data preparation includes
○ Data cleaning and data integration
○ Data reduction and feature selection
○ Discretization
➢ A lot a methods have been developed but data preprocessing
still an active area of research
Referensi

• Tan P., Michael S., & Vipin K. 2006. Introduction to Data mining.
Pearson Education, Inc.
• Han J & Kamber M. 2006. Data mining – Concept and
Techniques. Morgan-Kauffman, San Diego
Department of
Computer Science
http://cs.ipb.ac.id/

KOM1338 Data Mining


Pertemuan 4 Clustering dan Analisis Outlier

Tim Pengajar Data Mining


Outline

➢ Motivasi: mengapa perlu clustering?


➢ Pengertian clustering
➢ Jenis-jenis metode/pendekatan clustering
➢ Ukuran kemiripan
➢ Beberapa metode clustering:
○ K-Means
○ PAM
○ Hierarchical clustering
Motivasi clustering

➢ Kita perlu mengetahui struktur data yang kita miliki untuk


menentukan keputusan yang tepat
➢ Data pelanggan sebuah perusahaan:
○ Ada berapa jenis profil pelanggan dan bagaimana ciri-ciri masing-
masing jenis profil?
○ Bagaimana cara memasarkan dan mempertahankan pelanggan dari
masing-masing jenis profil pelanggan tersebut?
➢ Data medis dan molekular pasien-pasien sebuah penyakit:
○ Ada berapa jenis sub-populasi penderita penyakit, dan apa
penciri/profil masing-masing sub-populasi?
○ Apa prognosis dan perawatan/pengobatan yang paling tepat untuk
masing-masing sub-populasi?
Pengertian Clustering

➢ Clustering adalah salah satu teknik unsupervised learning di


mana kita tidak perlu melatih metoda tersebut atau dengan
kata lain, tidak ada fase pembelajaran (learning).
➢ Analisis cluster membagi data ke dalam grup (cluster) yang
bermakna, berguna, atau keduanya.
➢ Analisis cluster akan mengelompokkan objek-objek data
hanya berdasarkan pada informasi yang terdapat pada data,
yang menjelaskan objek dan relasinya.
Pengertian Clustering

➢ Tujuan analisis cluster adalah agar objek-objek di dalam grup


adalah mirip (atau berhubungan) satu dengan lainnya, dan
berbeda (atau tidak berhubungan) dengan objek dalam grup
lainnya.
➢ Semakin besar tingkat kemiripan/similarity (atau homogenitas) di
dalam satu grup dan semakin besar tingkat perbedaan di antara
grup, maka semakin baik (atau lebih berbeda) clustering
tersebut.
Pengertian Clustering
Pengertian Clustering

Penentuan jumlah cluster tergantung dari kebutuhan/tujuan


Pendekatan clustering

➢ Partitioning approach:
○ Membangun beragam partisi dan kemudian mengevaluasinya melalui
beberapa kriteria, contoh: meminimumkan nilai sum of squared errors
(SSE)
○ Metode yang umum: k-means, k-medoids, CLARANS
➢ Hierarchical approach:
○ Membuat dekomposisi hirari dari kumpulan data berdasarkan
beberapa kriteria
○ Metode yang umum: Diana, Agnes, BIRCH, CAMELEON
➢ Density-based approach:
○ Berdasarkan pada konektivitas dan fungsi kepadatan
○ Metode yang umum: DBSACN, OPTICS, DenClue
➢ Link-based clustering:
○ Objek seringkali dihubungkan melalui berbagai cara
○ Massive links can be used to cluster objects: SimRank, LinkClus
Pendekatan Clustering

➢ Grid-based approach:
○ Berdasarkan pada struktur granularitas multi level
○ Metode yang umum: STING, WaveCluster, CLIQUE
➢ Model-based:
○ Sebuah model dihipotesiskan untuk setiap kelompok dan mencoba
mencari model terbaik satu sama lain
○ Metode yang umum: EM, SOM, COBWEB
➢ Frequent pattern-based:
○ Berdasarkan pada analisis frequent patterns (pola yang sering muncul)
○ Metode yang umum: p-Cluster
➢ User-guided or constraint-based:
○ Clustering dengan mempertimbangkan kendala yang diberikan oleh
user atau aplikasi
○ Metode yang umum: COD (obstacles), constrained clustering
Tipe-tipe clustering

➢ Hierarchical versus Partitional


○ Partitional clustering adalah membagi himpunan obyek data
ke dalam sub-himpunan (cluster) yang tidak overlap,
sehingga setiap obyek data berada dalam tepat satu
cluster.
○ Hierarchical clustering
■ Cluster memiliki subcluster
■ Himpunan cluster bersarang yang diatur dalam bentuk tree.
Hierarchical vs Partitional

Partitional
Hierarchical vs Partitional

Hierarchical
(Dis)similarity measures

➢ Untuk dapat melakukan clustering, kita perlu menentukan


sebuah ukuran (metrik) kemiripan atau ketidakmiripan antar
objek
➢ Ukuran kemiripan biasanya menggunakan sebuah nilai antara 0
-1
○ Dua objek identik → kemiripan = 1
○ Dua objek yang tidak memiliki kesamaan, kemiripan = 0
○ Semakin mirip → kemiripan semakin mendekati 1, dan sebaliknya
➢ Ukuran ketidakmiripan biasa disebut juga sebagai
jarak/distance:
○ Dua objek identik → jarak = 0
○ Dua objek tidak mirip → jarak besar
○ Semakin tidak mirip → jarak semakin besar
(Dis)similarity measures

➢ Untuk sebuah objek numerik (vektor), kita dapat gunakan rumus


umum jarak Minkowski
➢ Bentuk-bentuk formula khusus didapatkan dengan menentukan
nilai parameter p
(Dis)similarity measures

Jarak Manhattan (p = 1)
(Dis)similarity measures

Jarak Euclid (p = 2)
(Dis)similarity measures

➢ Ukuran kemiripan untuk data numerik (vektor) dapat


menggunakan misalnya:
○ Korelasi
○ Cosine metric
(Dis)similarity measures

Correlation similarity
(Dis)similarity measures

Cosine similarity
(Dis)similarity measures

➢ Untuk data non-numerik, kita dapat menggunakan ukuran-


ukuran lain
➢ Untuk variabel biner (0 - 1)
○ Jarak simetrik biner

○ Jarak asimetrik biner

○ Koefisien Jaccard (asymmetric similarity):


(Dis)similarity measures
(Dis)similarity measures

➢ Variabel nominal: generalisasi dari variabel biner yaitu dapat


mengambil lebih dari 2 nilai, contoh, red, yellow, blue, green
➢ Metode 1: Simple matching (pencocokan sederhana)
m: # of matches, p: total # of variables
(Dis)similarity measures

➢ Metode 2: Gunakan sejumlah besar variabel biner untuk


merepresentasikan variabel nominal (one-hot encoding)
○ Membuat variabel biner baru untuk setiap nilai nominal M
(Dis)similarity measures

➢ Ukuran jarak antar cluster (linkage)


○ Jarak maksimum (complete linkage)
○ Jarak minimum (single linkage)
○ Rata-rata jarak (average linkage)
○ Centroid linkage
○ Ward’s linkage
K-Means Clustering

➢ Partitional clustering approach


➢ Setiap cluster terasosiasi dengan sebuah centroid (titik tengah)
➢ Setiap titik dikumpulkan pada cluster dengan centroid terdekat
➢ Jumlah cluster (k) harus ditentukan
➢ Algoritme dasarnya sangat sederhana
K-Means Clustering
K-Means Clustering

➢ Centroid awal seringkali ditentukan secara random.


○ Hal ini mengakibatkan kluster yang dihasilkan berbeda-beda setiap
program dieksekusi centroid umumnya dipilih dari nilai rata-rata
(mean) dari titik-titik dalam suatu kluster
➢ Similarity (kedekatan) diukur dengan menggunakan Euclidean
distance, cosine similarity, correlation, etc.
➢ K-means akan konvergen dengan menggunakan ukuran
similaritasi yang umum yang disebutkan di atas
○ Sebagian besar konvergensi terjadi pada beberapa iterasi saja
○ Sering kali kondisi berhenti dari iterasi berubah menjadi ‘Until relatively
few points change clusters’
➢ Complexity is O( n * K * I * d ) n = jumlah titik sampel, K =
jumlah kluster, I = jumlah iterasi, d = jumlah atribut
K-Means Clustering

➢ Pada umumnya ukuran yang digunakan untuk mengevaluasi


adalah Sum of Squared Error (SSE)
➢ Untuk setiap titik, error adalah jarak ke pusat cluster terdekat

➢ Diberikan 2 cluster, kita dapat memilih satu yang memiliki error


minimal.
➢ Satu cara mudah untuk mengurangi nilai SSE yaitu dengan
meningkatkan nilai K, jumlah cluster
➢ Sebuah clustering yang baik dengan nilai K yang lebih kecil
dapat memiliki SSE yang lebih kecil dibanding cluster yang
buruk dengan nilai K yang lebih tinggi
K-Means Clustering

➢ Algoritme k-means sensitif terhadap outliers !


➢ Karena sebuah objek yang memiliki nilai yang sangat berbeda
secara substansial dapat mendistorsi distribusi data.
➢ K-Medoids: Dibandingkan menggunakan nilai mean dari objek
pada suatu cluster sebagai titik referensi, medoids dapat
digunakan, yang merupakan objek yang terletak paling tengah di
cluster.
K-Medoids

➢ Cari objek yang representatif, disebut medoids, di dalam cluster


➢ PAM (Partitioning Around Medoids, 1987)
○ Dimulai dari suatu himpunan awal medoids dan selanjutnya secara
iteratif mengganti satu medoids dengan satu objek yang bukan medoid
jika dengan penggantian ini akan memperbaiki nilai total jarak dari
clustering yang dihasilkan
○ PAM bekerja secara efektif untuk dataset kecil namun tidak dapat
bekerja dengan baik untuk dataset yang besar
➢ CLARA (Kaufmann & Rousseeuw, 1990) → untuk data besar
➢ CLARANS (Ng & Han, 1994): Penarikan sampel secara acak
(Randomized sampling) Focusing + spatial data structure (Ester
et al., 1995)
K-Medoids
Hierarchical Clustering

➢ Menghasilkan kumpulan cluster yang bersarang yang dapat


direpresentasikan dalam hierarchical tree (pohon yang
berhirarki)
➢ Dapat divisualisasikan sebagai dendrogram
○ Sebuah pohon seperti diagram yang mencatat urutan penggabungan
atau pemisahan
Hierarchical Clustering

➢ Kelebihan hierarchical clustering


○ Tidak perlu mengasumsikan jumlah cluster
○ Setiap jumlah cluster yang diinginkan dapat diperoleh dengan
'memotong' dendogram pada tingkat yang tepat
○ Dapat menghasilkan taksonomi yang bermakna
■ Contoh pada ilmu biologi (e.g., kingdom hewan, perekonstruksian phylogeny,
…)
Hierarchical Clustering

➢ Dua tipe utama dari hierarchical clustering


○ Agglomerative:
■ Mulai dari titik sebagai kluster individu (setiap individu dianggap sebagai satu
kluster)
■ Untuk setiap langkah, gabungkan pasangan yang terdekat sampai hanya
tersisa 1 cluster (or k clusters)
○ Divisive:
■ Mulai dengan 1 cluster, all-inclusive cluster (semua titik/sampel disatukan
dalam satu kluster)
■ Untuk setiap tahapan, pisahkan suatu cluster sampai setiap cluster
mengandung 1 titik (atau terdapat sebanyak k clusters)
Agglomerative Clustering

➢ Teknik hierarchical clustering yang lebih populer


➢ Algoritme dasarnya mudah
○ Hitung matriks kedekatan (proximity matrix)
○ Tetapkan setiap titik data sebagai sebuah kluster
○ Ulangi:
■ Gabungkan dua buah kluster terdekat
■ Perbarui matriks kedekatan (proximity matrix)
○ Sampai hanya satu kluster yang tersisa
➢ Operasi kuncinya adalah kedekatan dari 2 cluster
○ Perbedaan pendekatan untuk mendefinisikan jarak antar kluster
menjadi pembeda dari tiap algoritme
Agglomerative Clustering
Agglomerative vs Divisive
Referensi

• Tan P., Michael S., & Vipin K. 2006. Introduction to Data mining.
Pearson Education, Inc.
• Han J & Kamber M. 2006. Data mining – Concept and
Techniques. Morgan-Kauffman, San Diego
Department of
Computer Science
http://cs.ipb.ac.id/

KOM1338 Data Mining


Pertemuan 5 Analisis Deteksi Outlier dan Anomali

Tim Pengajar Data Mining


Outline

➢ Motivasi: mengapa perlu outlier and anomaly detection ?


➢ Pengertian outlier detection
➢ Jenis-jenis metode/pendekatan outlier detection dan anomaly
detection
➢ Beberapa metode outlier detection:
○ Numerik
○ Berbasis cluster
○ Berbasis model
Motivasi outlier detection

➢ Data outlier menunjukkan adanya sesuatu yang di luar


kewajaran (abnormal)
➢ Jika digabungkan dengan data lain (non-outlier) dapat merusak
statistik (rataan, standard deviasi, cluster, model klasifikasi)
➢ Outlier/anomali perlu ditangani secara khusus
○ Statistik terpisah
○ Model yang berbeda
➢ Anomali dapat menunjukkan adanya indikasi terjadinya sesuatu
yang penting untuk diketahui
○ Fraud detection
○ Security breach
○ etc
Pengertian Outlier Detection

➢ Outlier detection adalah teknik analisis yang bertujuan untuk


menemukan dan melakukan penanganan terhadap titik-titik data
yang berada di luar kewajaran (normal)
➢ Kriteria outlier:
○ Nilai yang jauh berbeda (jarak)
○ Peluang kemunculan titik data yang kecil (probabilitas)
○ Kemiripan yang kecil dengan titik-titik data lain (cluster)
Metode Outlier Detection

➢ Deteksi outlier untuk data numerik (skalar): kriteria menggunakan


Interquartile Range
➢ Hitung Q1 - Q3 dari data
➢ Tentukan IQR = Q3 - Q1
➢ Hitung nilai R = 1.5 x IQR
➢ Outlier ditentukan dari nilai yang
○ Lebih kecil dari Q1 - R
○ Lebih besar dari Q3 + R
Metode Outlier Detection

➢ Contoh:
○ A teacher wants to examine students’ test scores. Their scores are: 74, 88, 78, 90, 94, 90,
84, 90, 98, and 80.
○ Q1 = 80, Q3 = 90
○ IQR = 10, R = 1.5 x IQR = 15
○ Batas bawah - Q1 - 15 = 65
○ Batas atas = Q3 + 15 = 105
○ Tidak ada outlier
Metode Outlier Detection

➢ Contoh:
○ A survey was given to a random sample of 20 sophomore college students. They were
asked, “how many textbooks do you own?” Their responses, were: 0, 0, 2, 5, 8, 8, 8, 9, 9, 10,
10, 10, 11, 12, 12, 12, 14, 15, 20, and 25.
○ Q1 = 8, Q3 = 12
○ IQR = 4, R = 1.5 x IQR = 6
○ Batas bawah - Q1 - 6 = 2
○ Batas atas = Q3 + 6 = 18
○ Outlier = 0, 0, 20, 25
Metode Outlier Detection

➢ Kita dapat juga menggunakan nilai Z-score (hasil standarisasi


data numerik) untuk menentukan outlier
➢ Nilai yang sudah distandarisasi dengan Z-score:
○ Memiliki rataan 0 (sebagian +, sebagian -)
○ Nilainya menunjukkan standard deviasinya terhadap rataan
➢ Jika diasumsikan sebaran normal, maka semakin besar (+/-)
maka semakin kecil peluang muncul data dengan nilai tsb →
kemungkinan merupakan outlier semakin besar
➢ Ada aturan 66-95-99 dalam sebaran normal
○ 66% nilai berada pada rentang 1 STD dari rataan
○ 95% nilai berada pada rentang 2 STD dari rataan
○ 99% nilai berada pada rentang 3 STD dari rataan
➢ Threshold nilai untuk outlier = 3 atau 3.5 (tergantung situasi)
Metode Deteksi Outlier
Metode Deteksi Outlier

➢ Untuk data berupa vektor, metode dengan IQR dan Z-score


tidak dapat diterapkan
➢ Gunakan metode berbasis cluster atau berbasis model
➢ Metode berbasis cluster sederhana
○ Menggunakan k-Means / sejenis
○ Lakukan clustering dengan mempertimbangkan kemungkinan adanya
outlier
○ Cek apakah ada cluster dengan jumlah data sedikit → kemungkinan
menunjukkan outlier
Metode outlier detection
Metode outlier detection

➢ Metode berbasis cluster yang lebih eksak:


○ Menggunakan DBSCAN (atau varian)
○ DBSCAN secara otomatis mengidentifikasi outlier (noise) dari cluster
yang ada
Metode outlier detection

➢ Serupa dengan DBSCAN: Local Outlier Factor (LOF)


○ Menggunakan konsep density seperti DBSCAN
○ Menentukan outlier dari data berdasarkan nilai Local Outlier Factor
yang dihitung dari keterjangkauan setiap titik data dari yang lain
Metode outlier detection

➢ Metode berbasis model (klasifikasi) dapat juga diterapkan untuk


deteksi outlier (anomali)
➢ Contoh: Isolation Forest
○ Ide utama: sebuah titik outlier seharusnya mudah untuk dipisahkan dari
titik-titik data yang lain
○ Buat sebuah decision tree untuk mengisolasi setiap titik data
○ Sebuah titik data yang terisolasi dengan panjang path yang kecil
kemungkinan adalah sebuah outlier
Metode Outlier Detection

➢ Outlier detection dapat juga diterapkan pada data deret waktu


(time series)
➢ Metode deteksi pada data time series harus mempertimbangkan
unsur pola dalam waktu
➢ Metode
○ Menggunakan simpangan/Z-score/MAD
○ Menggunakan model deret waktu klasik:
■ Moving average
■ Exponential smoothing
○ Menggunakan model berbasis JST
■ LSTM
■ Autoencoder
Referensi

• Tan P., Michael S., & Vipin K. 2006. Introduction to Data mining.
Pearson Education, Inc.
• Han J & Kamber M. 2006. Data mining – Concept and
Techniques. Morgan-Kauffman, San Diego
Department of
Computer Science
http://cs.ipb.ac.id/

KOM1338 Data Mining


Pertemuan 6 Teknik Klasifikasi

Tim Pengajar Data Mining


Outline

➢ Motivasi
➢ Pengertian dan konteks klasifikasi dalam data mining
➢ Jenis-jenis metode klasifikasi
○ Binary classication
○ Multinomial classification
➢ Metode klasifikasi:
○ Decision Tree
○ SVM
○ Ensemble classification
Motivasi

➢ Dalam dunia nyata, banyak hal membutuhkan penentuan


“kelas”/”kelompok”:
○ Pertanian:
■ Kualitas buah: sedang, baik, super
■ Kondisi tanaman: sehat, berpenyakit/hama
■ Kondisi tanah/lahan: sesuai/tidak sesuai
○ Kedokteran:
■ Status pasien: sakit/sehat
■ Jenis penyakit: Covid-19, TBC, Bronchitis
■ Metode pengobatan terbaik: Obat A, Obat B, terapi kemo, ….
○ Finansial:
■ Status kredit: baik/tidak baik
■ Valuasi asset: rendah, sedang, tinggi
■ ….
○ DLL
Motivasi

➢ Perlu sebuah metode untuk melakukan automatis proses


klasifikasi:
○ Untuk mempermudah/mempercepat proses
○ Membantu peran “pakar”/”ahli” manusia
○ Scale up proses
○ Meningkatkan akurasi
➢ Data mining/machine learning menyediakan metode untuk
membuat model klasifikasi yang melakukan ini:
○ Pengolahan secara statistik dapat “menangkap” pola-pola/trend pada
data
○ Proses pelatihan (training) dapat digunakan untuk membuat model
yang mengoptimalkan akurasi
Model Klasifikasi
Model Klasifikasi
Model Klasifikasi

➢ Prinsip dasar klasifikasi: membuat “bidang” (hyperplane)


pemisah dalam ruang dimensi-n (banyak atribut) yang
menentukan kelas dari setiap titik data dalam ruang dimensi-n
tersebut
Model Klasifikasi
Model Klasifikasi
Model Klasifikasi
Model Klasifikasi

➢ Klasifikasi dapat dibedakan antara dua jenis:


○ Binomial (2 kelas)
○ Multinomial/multi-class (banyak, >2 kelas)
➢ Algoritme klasifikasi binomial cenderung lebih sederhana
dibandingkan algoritme klasifikasi multinomial
Model Klasifikasi

➢ Algoritme klasifikasi binomial dapat diadaptasikan menjadi


klasifikasi multinomial dengan menggunakan 2 metode
○ One vs All/Rest
○ One vs One
➢ One vs All:
○ Buat n buah model untuk setiap kelas vs kelas lainnya
○ Untuk melakukan prediksi, tentukan dari n model tersebut mana yang
paling tinggi confidence dalam memilih sebuah kelas
➢ One vs One:
○ Buat n (n -1) / 2 model untuk setiap pasang kelas
○ Tentukan mana kelas yang paling sering menang (dengan tie–
breaking)
One vs All/Rest
Referensi

• Tan P., Michael S., & Vipin K. 2006. Introduction to Data mining.
Pearson Education, Inc.
• Han J & Kamber M. 2006. Data mining – Concept and
Techniques. Morgan-Kauffman, San Diego
Department of
Computer Science
http://cs.ipb.ac.id/

KOM1338 Data Mining


Pertemuan 7 Teknik Klasifikasi dan Metrik Evaluasi

Tim Pengajar Data Mining


Outline

➢ Teknik Klasifikasi:
○ SVM
➢ Metrik Evaluasi:
○ Akurasi
○ Confusion Matrix
○ Precision-Recall
○ F1-measure
○ AUC/ROC
SVM

➢ Teknik klasifikasi yang cukup populer dan banyak digunakan


➢ Ditemukan oleh Boser, Guyon, Vapnik, Cortes et. al (AT&T Bell
Labs, 1992)
➢ Memiliki kemampuan mencapai akurasi yang cukup baik
➢ Efisien dalam proses pelatihan
➢ Prinsip dasar:
○ Binary linear classification (pada formulasi dasar)
○ Mengoptimalkan model dengan cara memperkecil peluang/resiko
terjadinya kesalahan klasifikasi
○ Kesalahan klasifikasi dihindari dengan cara membuat hyperplane
dengan margin/gap terbesar antara kedua kelas
○ Menentukan hyperplane dengan cara mengidentifikasi support vector
dari kedua kelas
SVM

Margin dapat dinyatakan sebagai:

Atau

Optimasi lebar margin


SVM

➢ Kadangkala tidak mungkin membuat hyperplane yang


memisahkan kedua kelas dengan sempurna:
○ Soft margin mentolelir adanya kesalahan klasifikasi (namun
memberikan penalti untuk setiap kesalahan)
➢ Fungsi kesalahan (hinge loss):

➢ Fungsi optimasi dengan toleransi kesalahan


SVM

➢ Formulasi awal SVM (Vapnik et. al) hanya mengatur klasifikasi


linear
➢ Jika data memang sulit dipisahkan secara linear, maka
klasifikasi secara linear dengan formulasi asli SVM tidak akan
dapat menghasilkan model yang baik
➢ Untuk melakukan klasifikasi non-linear, kita dapat menggunakan
metode kernel trick
➢ Kernel pada SVM mengganti setiap proses dot product dari
SVM asli dengan versi kernel dari dot product tersebut
➢ Efeknya adalah mentransformasikan ruang dimensi data ke
dimensi lebih tinggi sehingga memungkinkan adanya pemisahan
secara linear
SVM
SVM
SVM

➢ Multi-class (multinomial) SVM classification


○ Biasanya menggunakan metode seperti One-Vs-One atau One-Vs-All
○ Akurasi/performa model biasanya akan berkurang jika jumlah kelas
terlalu banyak
Metrik Evaluasi

➢ Kita perlu memiliki sebuah metode evaluasi yang dapat


diterapkan untuk menilai seberapa baik sebuah model
○ Untuk mencari parameter/hyperparameter terbaik dari sebuah model
○ Untuk membandingkan antara satu model dengan model yang lain
○ Sebagai estimasi/perkiraan seberapa akurat sebuah model jika
diterapkan pada dunia nyata
➢ Metrik evaluasi adalah cara untuk mengukur seberapa
baik/akurat sebuah model
➢ Metrik evaluasi dihitung dengan cara membandingkan nilai
Metrik Evaluasi

➢ Klasifikasi Biner
Metrik Evaluasi
Metrik Evaluasi
Metrik Evaluasi
Metrik Evaluasi

Receiver Operating Curve (ROC)


Metrik Evaluasi

➢ Klasifikasi Multinomial
Referensi

• Tan P., Michael S., & Vipin K. 2006. Introduction to Data mining.
Pearson Education, Inc.
• Han J & Kamber M. 2006. Data mining – Concept and
Techniques. Morgan-Kauffman, San Diego

Anda mungkin juga menyukai