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

Classifer

  Multilayer 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 memiilih

Testing set fle “iris-testing.arf”

Tahapan membangun Classifer

  Iris-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 terdiri

  step 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
Experiment using k-Nearest Neighbor Classifer

  • 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)