Machine Learning: WEKA Tutorial Kecerdasan Buatan Setio Basuki, ST., MT
Machine Learning:
WEKA Tutorial Kecerdasan Buatan Setio Basuki, ST., MT Practicing WEKA
- What is WEKA ?
- Formatting the data into ARFF
- Klasifkasi
- – Tahapan membangun classifer
- – Contoh kasus : Klasifkasi bunga iris
- – Tahapan membangun classifer
- – Merangkum hasil eksperimen k-Nearest
Neighbor Classifer
- – Eksperimen memakai classifer yang lain (JST,
SVM)
- – Classifcation of cancers based on gene expression
- – Parkinson Disease Detection
- K-Means Clustering
What is WEKA ?
• Machine learning/data mining software written
in Java (distributed under the GNU Public License)- Used for research, education, and applications
• Complements “Data Mining” by Witten & Frank
• Main features:- – Comprehensive set of data pre-processing tools, learning algorithms and evaluation methods
- – Graphical user interfaces (incl. data visualization)
– Environment for comparing learning algorithms
- Weka versions
- – WEKA 3.4: “book version” compatible with description in data mining book
- – WEKA 3.5: “developer version” with lots of improvements
Formatting Data into ARFF @relation iris @attribute sepallength real @attribute sepalwidth real @attribute petallength real @attribute petalwidth real
@attribute class {Iris-setosa, Iris-versicolor, Iris-virginica}
@data 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa … 7.0,3.2,4.7,1.4,Iris-versicolor 6.4,3.2,4.5,1.5,Iris-versicolor … 6.3,3.3,6.0,2.5,Iris-virginica 5.8,2.7,5.1,1.9,Iris-virginica …Practicing WEKA
- What is WEKA ?
- Formatting the data into ARFF
- Klasifkasi
- – Tahapan membangun classifer
- – Contoh kasus : Klasifkasi bunga iris
- – Tahapan membangun classifer
- – Merangkum hasil eksperimen k-Nearest
Neighbor Classifer
- – Eksperimen memakai classifer yang lain (JST,
SVM)
- – Classifcation of cancers based on gene expression
- – Parkinson Disease Detection
- K-Means Clustering
Tahapan membangun Classifer
1. Tentukan manakah informasi yang merupakan (a) attribute/feature (b) class (c) training & testing set (d) skenario pengukuran akurasi
2. Tentukan kombinasi parameter model, dan lakukan proses pelatihan memakai training set
3. Ukurlah akurasi yang dicapai dengan testing set
4. Ubahlah parameter model, dan ulang kembali mulai dari step 2, sampai dicapai akurasi yang diinginkan
Contoh Kasus : Klasifkasi bunga iris
- Data set yang paling terkenal
- Author: R.A. Fisher • Terdiri dari 3 kelas, masing- masing memiliki 50 samples (instances)
- Attribute information:
- – Sepal (kelopak) length in cm
- – sepal width in cm
- – Petal (mahkota) length in cm
- – petal width in cm
- – class: (1) Iris Setosa (2) Iris Versicolour (3)Iris Virginica
- URL: http://archive.ics.uci.edu/ ml/datasets/Iris
Flower’s parts
Tahapan membangun Classifer
1. Tentukan manakah informasi yang merupakan (a) attribute/feature : sepal length (panjang kelopak) sepal width (lebar kelopak) petal length (panjang mahkota) petal width (lebar mahkota)
(b) class: iris setosa iris versicolor iris virginica
(c) training & testing set training set : 25 instances/class testing set: 25 instances/class
(d) skenario pengukuran akurasi Step by Step klasifkasi
Open fle “iris-training.arf”
Klik pada Classify untuk memilih Classifer algorithm
statistical information of “sepallength”
Klik pada “Choose” untuk memilih
Classifer algorithm
SMO ( implementasi SVM)
Naïve Bayes
IB1 : 1-Nearest Neighbor
Classifer)
IBk : k-Nearest Neighbor
ClassiferMultilayer Perceptron
(Jaringan Syaraf Tiruan) SMO singkatan dari
Sequential Minimal Optimization.
SMO adalah implementasi SVM Mengacu pada paper John Platt
Decision Tree J48 (C4.5) Misalnya kita pilih
IBk : k-Nearest Neighbor Classifer Selanjutnya pilihlah skenario Pengukuran akurasi. Dari 4
Options yang diberikan, pilihlah
“Supplied test set” dan klik Button “Set” untuk memiilihTesting set fle “iris-testing.arf”
Tahapan membangun ClassiferIris-training.arf
iris setosa
25 Iris-testing.arf
25
iris versicolor
25
25
iris virginica
25
25 Classifers :
1. Naïve Bayes
Akurasi
2. K-Nearest Neighbor Classifer
terhadap
(lazy iBk)
testing set ?
3. Artifcial Neural Network (function multilayer perceptron)
Apakah yang dimaksud “mengukur akurasi”
- Testing set “iris-testing.arf” dilengkapi dengan informasi actual class-nya. Misalnya instance no.1 adalah suatu bunga yang memiliki sepal length 5.0 cm, sepal width 3.0cm, petal length 1.6 cm, petal width 0.2 cm, dan jenis bunganya (class) “Iris setosa”
- Model classifcation yang dibangun harus mampu menebak dengan benar class tersebut.
Berbagai cara pengukuran akurasi
- “Using training set” : memakai seluruh data sebagai training set, sekaligus testing set. Akurasi akan sangat tinggi, tetapi tidak memberikan estimasi akurasi yang sebenarnya terhadap data yang lain (yang tidak dipakai untuk training)
- Hold Out Method : Memakai sebagian data sebagai training set, dan sisanya sebagai testing set. Metode yang lazim dipakai, asal jumlah sampel cukup banyak.
Ada 2 : supplied test set dan percentage split. Pilihlah “Supplied test set” : jika fle training dan testing tersedia secara terpisah. Pilihlah “Percentage split” jika hanya ada 1 fle yang ingin dipisahkan ke training & testing. Persentase di kolom adalah porsi yang dipakai sbg training
Berbagai cara pengukuran akurasi
- Cross Validation Method ( fold = 5 atau 10 ) : teknik estimasi akurasi yang dipakai, jika jumlah sampel terbatas. Salah satu bentuk khusus CV adalah Leave- one-out Cross Validation (LOOCV) : dipakai jka jumlah sampel sangat terbatas
1. Data terdiri dari 100 instances (samples), dibagi ke dalam 5 blok dengan
Ilustrasi Cross Validation (k=5)
2. Kualitas kombinasi parameter tertentu diuji dengan cara sbb. dari 20 instances jumlah sampel yang sama. Nama blok : A, B, C, D dan E, masing-masing terdiristep 1: training memakai A,B,C,D testing memakai E akurasi a step 2: training memakai A,B,C,E testing memakai D akurasi b step 3: training memakai A,B, D,E testing memakai C akurasi c step 4: training memakai A, C,D,E testing memakai B akurasi d step 5: training memakai B,C,D,E testing memakai A 4. Ubahlah parameter model, dan ulangi dari no.2 sampai dicapai akurasi yang 3. Rata-rata akurasi : (a+b+c+d+e)/5 mencerminkan kualitas parameter yang dipilih akurasi e
diinginkan
Kali ini memakai “Supplied test set”.
Selanjutnya klik pada bagian yang Di dalam kotak untuk men-set nilai Parameter. Dalam hal ini, adalah Nilai “k” pada k-Nearest Neighbour Classifer (Nick name : IBK)
Set-lah nilai “k”misalnya 3 dan klik OK.
Untuk memahami parameter yang lain, kliklah button “More” & “Capabilities” Klik button “Start” Hasil eksperimen : Correct classifcation rate : 96% (benar 72 dari total 75 data pada testing set)
Bagaimana cara membaca Confusion matrix ?
- Baris pertama “25 0 0” menunjukkan bahwa ada (25+0+0) instances class Iris-setosa di dalam fle iris-testing.arf dan semua benar diklasifkasikan sebagai Iris setosa
- Baris kedua “0 24 1” menunjukkan bahwa ada (0+24+1) instances class Iris-versicolor di dalam fle iris-testing.arf dan 1 salah diklasifkasikan sebagai Iris-virginica
- Baris ketiga “0 2 24” menunjukkan bahwa ada (0+2+23) instances class Iris-virginica di dalam fle iris-testing.arf dan 2 di antaranya salah diklasifkasikan sebagai Iris-versicolor
Untuk mengetahui instance mana yang tidak
berhasil Diklasifkasikan klik “More Options” dan check lah “Output predictions”. Klik “Start”Inst# : nomer urut data pada fle “iris- testing.arf” actual : class yang sebenarnya predicted: class yang diprediksi
No. K Correct Classification Rate
Merangkum hasil eksperimen
Iris setosa Iris versicolor Iris virginica Total
1 1 ? ? ? ?
2 3 100% 96% 92% 96%
3
5
5
7
9
- Tugas : lanjutkan eksperimen di atas untuk nilai k = 1, 3, 5, 7 dan 9
- Buatlah grafk yang menunjukkan akurasi yang dicapai untuk masing-masing class pada berbagai nilai k. Sumbu horisontal : nilai k dan sumbu vertikal : akurasi
- Kapankah (pada nilai k berapa ?) akurasi tertinggi dicapai ?
Eksperimen memakai Neural Network
- Untuk eksperimen memakai neural network, caranya sama dengan k-Nearest Neighbor Classifer.
- Parameter yang dituning meliputi antara lain:
- – hiddenLayers: banyaknya neuron pada hidden layer. Default “a” : rata-rata jumlah neuron pada input & output layer
- – LearningRate : biasanya nilai kecil (0.1, 0.01, 0.2, 0.3 dsb)
- – Momentum: biasanya nilai besar (0.6, 0.9 dsb)
- – trainingTime: maksimum iterasi backpropagation (500, 1000, 5000, 10000 dsb.)
Eksperimen memakai SVM
Eksperimen memakai SVM
C: complexity parameter (biasanya mengambil nilai besar. 100, 1000 dst) Untuk memilih kernel Eksperimen memakai SVM
Classifcation of cancers based on
gene expression- Biological reference: Classifcation and diagnostic prediction of cancers using gene expression profling and artifcial neural networks,
J. Khan, et al., Nature Medicine 7, pp.673-679, 2001
(http://www.thep.lu.se/~carsten/pubs/lu_tp_01_06.pdf )
- Data is available from
http://research.nhgri.nih.gov/microarray/Supplement/
- Small Round Blue Cell Tumors (SRBCT) has two class:
- – Ewing Family of Tumors (EWS)
- – NB: Neuroblastoma – BL: Burkitt lymphomas
- – RMS: Rhabdomyosarcoma : RMS
- Characteristic of the data
- – Training samples : 63 (EWS:23 BL:8 NB:12
RMS:20) 20 (EWS:6 BL:3 NB:6 RMS:5)
- – Testing samples:
- – Number of features (attributes): 2308
- Training and testing set are given as separated arf fle
• Use training set to build a classifer: k-Nearest
Neighbor (k=1) • Evaluate its performance on the testing set.- Change the value of k into 3,5,7 and 9 and repeat step 1 to 3 for each value.
Experiment using Artifcial Neural Network
Classifcation of cancers based on
gene expression
- Do the same experiment using Multilayer Perceptron Artifcial Neural Network for
various parameter setting (hidden neurons,
learning rate, momentum, maximum iteration). Make at least fve parameter
Parkinson Disease Detection
Max Little (Oxford University) recorded speech signals and measured the biomedical voice from 31 people, 23 with Parkinson Disease (PD). In the dataset which will be distributed during fnal examination, each column in the table is a particular voice measure, and each row corresponds one of 195 voice recording from these individuals ("name" column). The main aim of the data is to discriminate healthy people from those with PD, according to "status" column which is set to 0 for healthy and 1 for PD. There are around six recordings per patient, making a total of 195 instances. (Ref. 'Exploiting Nonlinear Recurrence and Fractal Scaling Properties for Voice Disorder Detection', Little MA, McSharry PE, Roberts SJ, Costello DAE, Moroz IM. BioMedical Engineering OnLine 2007, 6:23, 26 June 2007).
Experiment using k-Nearest Neighbor Classifer Conduct classifcation experiments using k-Nearest Neighbor Classifer and Support Vector Machines, by using 50% of the data as training set and the rest as testing set. Try at least 5 diferent values of k for k-Nearest neighbor, and draw a graph show the relationship between k and classifcation rate. In case of Support Vector Machine experiments, try several parameter combinations by modifying the type of Kernel and its parameters (at least 5 experiments). Compare and discuss the results obtained by both classifers. Which of them achieved higher accuracy ?
Parkinson Disease Detection
Max Little (Oxford University) recorded speech signals and measured the biomedical voice from 31 people, 23 with Parkinson Disease (PD). In the dataset which will be distributed during fnal examination, each column in the table is a particular voice measure, and each row corresponds one of 195 voice recording from these individuals ("name" column). The main aim of the data is to discriminate healthy people from those with PD, according to "status" column which is set to 0 for healthy and 1 for PD. There are around six recordings per patient, making a total of 195 instances. (Ref. 'Exploiting Nonlinear Recurrence and Fractal Scaling Properties for Voice Disorder Detection', Little MA, McSharry PE, Roberts SJ, Costello DAE, Moroz IM. BioMedical Engineering OnLine 2007, 6:23, 26 June 2007).
Experiment using k-Nearest Neighbor Classifer Conduct classifcation experiments using k-Nearest Neighbor Classifer and Support Vector Machines, by using 50% of the data as training set and the rest as testing set. Try at least 5 diferent values of k for k-Nearest neighbor, and draw a graph show the relationship between k and classifcation rate. In case of Support Vector Machine experiments, try several parameter combinations by modifying the type of Kernel and its parameters (at least 5 experiments). Compare and discuss the results obtained by both classifers. Which of them achieved higher accuracy ?
Practicing WEKA
- What is WEKA ?
- Formatting the data into ARFF
- Klasifkasi
- – Tahapan membangun classifer
- – Contoh kasus : Klasifkasi bunga iris
- – Tahapan membangun classifer
- – Merangkum hasil eksperimen k-Nearest
Neighbor Classifer
- – Eksperimen memakai classifer yang lain (JST,
SVM)
- – Classifcation of cancers based on gene expression
- – Parkinson Disease Detection
K-Means Clustering : Step by Step
- Pilihlah k buah data sebagai initial centroid
- Ulangi – Bentuklah K buah cluster dengan meng-assign tiap data ke centroid terdekat
- – Update-lah centroid tiap cluster
- Sampai centroid tidak berubah
K-Means Clustering : Step by Step
Filename :
kmeans_clustering.arf
1
2
Klik untuk memilih algoritma
clustering
Pilih “Use training set”
Klik untuk memilih nilai k maxIterations: untuk menghentikan proses clustering jika iterasi melebih nilai tertentu numClusters: nilai k (banyaknya cluster)
Hasil clustering: terbentuk 3 cluster dan masing-masing beranggotakan 50 instances
Klik dengan button kanan mouse untuk menampilkan visualisasi cluster Nilai attribute x ditampilkan pada sumbu x, dan nilai attribute y ditampilkan pada sumbu y
Tiap cluster diberikan warna yang berbeda (merah, biru, hijau)