You are on page 1of 47

Webminar BKTI

BKTI

Data Mining : Konsep &


Implementasi
Budi Santosa, Teknik Industri ITS

26/01/2021
• Data Mining(DM): what, why
• Proses data mining
• DM Tasks
• Penanganan Data
outline • Metoda
• Contoh
• How
APA ITU DATA MINING?

• Menemukan pola yang bermanfaat, tersembunyi,


sebelumnya tidak diketahui, mungkin tidak diduga, dalam set
data berukuran besar

• Exploration & analysis, by automatic or


semi-automatic means, of large quantities of data in order to
discover meaningful patterns
timeout TID Items

season
1 Bread, Coke, Milk
coach

game
score
team

ball

lost
pla

wi
n
y

2 Beer, Bread
3 Beer, Coke, Diaper, Milk
Document 1 3 0 5 0 2 6 0 2 0 2
4 Beer, Bread, Diaper, Milk
Document 2 0 7 0 2 1 0 0 3 0 0 5 Coke, Diaper, Milk
Document 3 0 1 0 0 1 2 2 0 3 0
MENGAPA DATA MINING?

• The explosive growth of data: from terabytes to petabytes


• Data collection and data availability
• Automated data collection tools, database systems, Web,
computerized society
• Business: Web, e-commerce, transactions, stocks, …
• Science: Remote sensing, bioinformatics, scientific simulation,
• Society and everyone: social media, news, digital cameras,
YouTube
• We are drowning in data, but starving for knowledge!
• “Necessity is the mother of invention”- Data Mining -
Automated analysis of massive data sets
Knowledge Discovery FROm DATA
Data Mining: Confluence of Multiple Disciplines

Machine
Learning

High-Performance
Computing Data Mining Statistics

Database
Technology

6
Data Mining Tasks

Classification [Predictive]

Clustering [Descriptive]

Association Rule Discovery [Descriptive]

Sequential Pattern Discovery [Descriptive]

Time series [Predictive]

Regression [Predictive]

Deviation Detection [Predictive]


Format data

Umur income Mahasiswa credit_rating beli komputer Umur income Mahasiswa credit_rating
40 high no fair no 38 high no fair
35 high no excellent no 35 high no excellent
38 high no fair yes 38 high no fair
45 medium no fair yes 45 medium no fair
42 low yes fair yes 42 low yes fair
50 low yes excellent no 50 low yes excellent
34 low yes excellent yes 34 low yes excellent
24 medium no fair no 24 medium no fair
21 low yes fair yes 21 low yes fair
45 medium yes fair yes 45 medium yes fair
27 medium yes excellent yes 27 medium yes excellent
31 medium no excellent yes 31 medium no excellent
38 high yes fair yes 38 high yes fair
43 medium no excellent no 43 medium no excellent
Mengukur Jarak
• h = 1: Manhattan (city block, L1 norm) distance

d (i, j) =| x − x | + | x − x | +...+ | x − x |
i1 j1 i2 j 2 ip jp
• h = 2: (L2 norm) Euclidean distance

d (i, j) = (| x − x |2 + | x − x |2 +...+ | x − x |2 )
i1 j1 i2 j 2 ip jp
• h → . “supremum” (Lmax norm, L norm) distance.
• This is the maximum difference between any component (atribute) of the vectors

Cosine measure: jika d1 dan d2 adalah dua vectors (contoh: term-frequency


vectors), maka
cos(d1, d2) = (d1 • d2) /||d1|| ||d2|| ,
dimana • menunjukkan dot product vector ||d||: besar d
9
obyek attribute 1 attribute 2 Manhattan (L1)

1 1 2 L x1 x2 x3 x4
2 3 5 x1 0
3 2 0 x2 5 0
x3 3 6 0
4 4 5
x4 6 1 7 0
Euclidean (L2)

L2 x1 x2 x3 x4
x1 0
x2 3.61 0
x3 2.24 5.1 0
x4 4.24 1 5.39 0

Supremum
L x1 x2 x3 x4
x1 0
x2 3 0
x3 2 5 0
x4 3 1 5 10 0
Data Mining tasks

Clustering Classification Regression


X2
+
X2 + +
+
+
+ + +
+ +
+ + + - + +
++ + + + -
+ + - - +
+ ++ + +
+
- +
+
-

X1 X1 X1
• k-means ◼ K-NN, Linear Discriminant Analysis, ◼ Classical Linear Regression
• Hierachical Cluster ◼ Logistic Regression (Logit) ◼ Ridge Regression
• SOM ◼ Decision Trees, SVM, ANN,Naïve Bayes ◼ ANN, CART
BERAPA UKURAN DATA?

1000 kilo
• Google memproses 20 PB a day 2
(2008)
1000 mega
3
• Facebook mempunyai 2.5 PB 1000 giga
data user + 15 TB/hari 4
1000 tera
(4/2009)
5
• eBay mempunyai 6.5 PB data 1000 peta
user + 50 TB/hari (5/2009) 6
1000 exa
7
1000 zetta
8
1000 yotta
Data Preprocessing

• Data Cleaning
• Integrasi Data
• Reduksi Data
• Transformasi
• Ukuran Kualitas data
• Akurasi: correct or wrong, accurate or
not
• Kelengkapan: not recorded, unavailable,
Kualitas …
• Konsistensi: beberapa dimodifikasi,
Data beberapa tidak, …
• Timeliness: apakah diupdate sesuai
waktu?
• Interpretability: seberapa mudah data
dipahami?
Data cleaning

• Mengisi missing values, identifikasi atau


menghilangkan outliers, dan mengatasi
inkonsistensi

Integrasi Data

• Integrasi multiple databases atau files

Data Reduksi Data


Preprocessing • Reduksi Dimensi
• Numerosity reduction
• Data compression

Transformasi

• Normalisasi
• Skaling
• diskritisasi data
• Data di Dunia Nyata tidak mulus: Banyak data yang
berpotensi tidak benar, misalnya karena , instrumen
yang rusak, manusia atau komputer error, kesalahan
transmisi
• Kelengkapan: kurang nilai atribut, kurang atribut
tertentu yang menarik, atau hanya berisi data
agregat,
• misalnya, Pekerjaan = “ "
Data • Noisy: mengandung noise, kesalahan, atau outlier,
• misalnya, Gaji = "- 1000.000"

Cleaning • Tidak konsisten: mengandung perbedaan dalam


kode atau nama, misalnya, Umur = "42", Hari lahir =
"2010/03/07"
• dulu ratingnya "1, 2, 3", sekarang ratingnya "A,
B, C"
• Disengaja (misalnya, menyamarkan data yang
hilang)
• 1 Januari sebagai hari ulang tahun semua
orang?
Reduksi Data : mendapatkan representasi data set
yang lebih kecil dalam hal volume tetapi tetap
menghasilkan analytical results yang sama atau
hampir sama

Mengapa perlu reduksi datar


Strategi • A database/data warehouse mungkin menyimpan terabytes of

Reduksi
data.
• Complex data analysis may take a very long time to run on the
complete data set.

Data Strategi reduksi Data

• Dimensionality reduction, e.g., remove unimportant attributes


• Wavelet transforms
• Principal Components Analysis (PCA)
• Feature subset selection,
• Numerosity reduction (some simply call it: Data Reduction)
• Histograms, clustering, sampling
• Reduksi Dimensi
• Help eliminate irrelevant features and reduce
noise

Reduksi • Reduce time and space required in data mining


• Allow easier visualization
• Teknik Reduksi Dimensi
Dimensi • Principal Component Analysis
• Feature selection
• Wavelet transforms
• Cara lain untuk reduksi dimensi data
• Redundant attributes
• Duplikasi atau semua informasi
terkandung dalam satu atau lebih
atribut yang lain
Seleksi • Misal. purchase price of a product dan
the amount of sales tax paid

Atribut • Irrelevant attributes


• Tidak mengandung informasi yang
bermanfaat untuk data mining task
• Misal, students' ID sering tidak relevan
dengan task of predicting students' GPA
• Pairwise regression
Supervised learning (Klasifikasi/regresi)

• Supervision: training data (observations,


measurements, etc.) dilengkapi dengan labels
yang menunjukan kelas dari setiap
observasi/obyek
Supervised vs. • Ada tahap pengembangan model
• Data baru/test data diklasifikasikan berdasarkan
Unsupervised training set menggunakan model yang
Learning dikembangkan

Unsupervised learning (clustering)

• Tidak ada training dan testing


• Diberikan sejumlah obyek atau observasi, maka
obyek tersebut harus diklusterkan
• Diberikan sejumlah titik data /records
(training set )
• Setiap titik data terdiri dari sejumlah
attributes, dan satu atribute output

Klasifikasi
(class).
• Bangun model untuk menentukan
kelas dari setiap titik data
• Tujuan: memberi kelas untuk titik data
baru
• test set digunakan untuk menentukan
akurasi dari model
• Klasifikasi
• Memprediksi kelompok dari titik data baru
• Membangun model based on the training

Prediksi: data set dan menggunakannya untuk


memprediksi kelas untuk data baru

klasifikasi • Prediksi Numerik


• Memodelkan fungsi y=f(x) dimana y nya

vs. bernilai riil/continuous


• Contoh aplikasi

Prediksi • Credit/loan approval:


• Medical diagnosis: if a tumor is cancerous

Numerik or benign
• Fraud detection: if a transaction is
fraudulent
• Web page categorization: which category
it is
• Membangun Model: menentukan kelas
• Setiap tuple/sample diasumsikan masuk dalam
kelas tertentu seperti ditunjukkan oleh etribut
kelas (y)
• Set data untuk membangun model disebut
training set
• Model bisa brupa classification rules, decision
trees, atau mathematical formulae
Klasifikasi 2- • Model usage: untuk klasifikasi data baru yang belum
diketahui kelasnya
Step • Estimasi akurasi dari model
• Hasil prediksi dibandingkan dengan label
aslinya
• Akurasi adalah persen dari test set yang
secara benar diklasifikasikan oleh model
• Test set independent dari training set
(otherwise overfitting)
• Jika akurasi bisa diterima (acceptable), gunakan
model untuk mengklasifikasikan new data
Langkah (1): Membangun Model

Classification
Algorithms
Training
Data

Nama Pangkat Tahun Tetap Classifier


Marto Assistant Prof 3 no (Model)
Nanto Assistant Prof 7 yes
Budi Professor 2 yes
Jaka Associate Prof 7 yes IF rank = ‘professor’
Dani Assistant Prof 6 no
OR years > 6
Ani Associate Prof 3 no
THEN tetap = ‘yes’
Langkah (2): Memprediksi dengan Model yang dihasilkan

Classifier

Testing
Data Unseen Data

(Jeni, Professor, 4)
Nama Pangkat Tahun Tetap
Tomi Assistant Prof 2 no Tetap?
Melisa Associate Prof 7 no
Jono Professor 5 yes
Joseph Assistant Prof 7 yes
Decision Tree
Umur income Mahasiswacredit_rating beli komputer
<=30 high no fair no
❑ Training data set: Beli komputer <=30 high no excellent no
❑ Hasil 31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes
umur? <=30
<=30
medium
low
no fair
yes fair
no
yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
<=30 overcast
31..40 >40 31…40 high yes fair yes
>40 medium no excellent no

mahasiswa yes credit rating?

no yes excellent fair

no yes yes
Clustering
K-Means merupakan salah satu metode data clustering non hirarki yang berusaha
mempartisi data yang ada ke dalam klaster/kelompok sehingga data yang memiliki
karakteristik yang sama dikelompokkan ke dalam satu klaster dan data yang
mempunyai karakteristik yang berbeda dikelompokkan ke dalam kluster yang lain.

Kriteria dari data clustering ini adalah untuk meminimalisasikan variasi di dalam
suatu klaster dan memaksimalisasikan variasi antar cluster.

SSE=SSw1+SSw2
SSb
SSw
SSw
K-Means

0. Tentukan jumlah klaster,


lalu letakkan pusat
klaster secara random
* *
1. pasangkan setiap data
* * *** ke pusat klaster terdekat
** *
O O 2. Hitung ulang pusat
klaster (centroid)
3. Ulangi langkah 1 dan 2
O hingga pusat klaster
** (centroid) tidak
***
berpindah lagi
4. Output akhir dari
klastering
K= 3 hypothetical centroids (O)
K-Means:

0. Tentukan jumlah klaster,


lalu letakkan pusat
klaster secara random
* *
1. pasangkan setiap titik
* * *** data ke pusat klaster
** *
O O terdekat
2. Hitung ulang pusat
klaster (centroid)
O 3. Ulangi langkah 1 dan 2
** hingga pusat klaster
***
(centroid) tidak berubah
lagi
4. Output akhir dari
klastering
K-Means:

0. Tentukan jumlah klaster,


lalu letakkan pusat klaster
secara random
* *
1. pasangkan setiap titik data
* * ***
** * ke pusat klaster terdekat
O O 2. Hitung ulang pusat klaster
(centroid)
3. Ulangi langkah 0 dan 1
O hingga pusat klaster
**
*** (centroid) tidak berubah
lagi
4. Output akhir dari klastering
K-Means:

0. Tentukan jumlah klaster,


lalu letakkan pusat klaster
secara random
* *
O 1. pasangkan setiap titik data
* * * *
** * ke pusat klaster terdekat
2. Hitung ulang pusat klaster
(centroid)
3. Ulangi langkah 1 dan 2
hingga pusat klaster
**
*** (centroid) tidak berubah
lagi
4. Output akhir dari klastering
K-Means:
contoh lain
K-Means:
contoh lain
K-Means:
contoh lain
K-Means:
contoh lain
K-Means:
contoh lain
K-Means:
contoh lain

SSw2

SSb1

SSw1
SSb3
SSb2

SSw3
K-means (contoh lagi)
• We start with some data

Iteration = 0
K-means
• Choose K centroids
• These are starting values
that the user picks.
• There are some data
driven ways to do it

Iteration = 0
K-means
• Make first partition by
finding the closest
centroid for each point
• This is where distance is
used

Iteration = 1
K-means
• Now re-compute the
centroids by taking the
middle of each cluster

Iteration = 2
K-means
• Repeat until the
centroids stop moving or
until you get tired of
waiting

Iteration = 3
K-Nearest Neighbor

• Metoda untuk mengelompokkan objek yang tidak diketahui kelasnya


ke dalam kelas yang terdekat dengan menggunakan ukuran jarak,
biasanya menggunakan Euclidean metric
• Jumlah tetangga (K) terdekat ditentukan oleh user
Teknik K-Nearest Neighbor

• Mulai input: data training, label data training, k,data testing


• Untuk semua data testing, hitung jaraknya ke setiap data
training
• Tentukan k titik data training yang jaraknya paling dekat dengan
data testing
• Periksa label dari k titik data ini
• Tentukan label yang frekuensinya paling banyak dari K titi data
tsb.
• Masukkan data testing ke kelas dengan frekuensi paling banyak
• stop
K-nearest neighbor menggunakan euclidian untuk menentukan
anggota kelas.

d(x,y)=||x-y||²=√∑(xi-yi)²
• Kita menentukan tetangga yang akan dijadikan acuan.
• Jika tetangga terdekat yang ditentukan Cuma 1, maka data tersebut
akan masuk pada A
• Jika tetangga terdekat yang ditentukan ada 3, maka data tersbut
akan masuk pada B
example

 Terdapat 2 kelas (kelas merah dan kelas biru)dan 1 data tidak diketahui.
 Kita tentukan bahwa k adalah kelas dan kita cari k-Nearest Neighbor
 Jika kita menetukan k=3, maka data tersebut masuk kedalam kelas merah
karena terdapat 2 merah dan 1 biru di dalam lingkaran yang kita tentukan
 Jika kita menentukan k=5, maka data tersebut masuk ke dalam kelas biru
karena terdapat 3 biru dan 2 merah di dalam lingkaran

You might also like