Menghitung Keluaran Jaringan Syaraf Tiruan (JST)

Data Mining/24.06.2013/Sistem Informasi

Setelah proses pelatihan (training) selesai, JST yang terbentuk telah memiliki bobot dan bias. Bobot dan bias hasil pelatihan berfungsi untuk menghitung keluaran terhadap masukan pada neuron input. Misalnya kita memiliki JST sebagai berikut:

Jika diketahui IW=[1 2 3;4 5 6], LW=[1;2;3], IB=[1 2 3], dan LB=[2]. Untuk masukan x1=1 dan x2=2, berapakah keluaran yang dihasilkan?Anggap fungsi aktivasi di lapis tersembunyi (hidden layer) dan lapis keluaran (output layer) linear.

Buka Matlab, Scilab, Octave, dan sebagainya. Masukan data sebagai berikut:

Jadi keluaran yang dihasilkan = 94.

Untuk perhitungan menggunakan EXCEl klik ==> Menghitung Output JST

Membuat JST dengan Neural Network Fitting Tool (nftool)

Data Mining/06.05.2013/Sistem Informasi

Matlab menyediakan fasilitas JST yang lebih spesifik dari sebelumnya, yaitu fitting, clustering, dan Pattern recognition. Sekarang kita coba melatih data berikut ini dengan nftool. Buat dengan excel setelah itu pindahkan ke workspace dengan perintah xlsread. Misalnya, nama file excel-ya ‘input.xlsx’. Misalnya kolom A Indeks Prestasi Mahasiswa, Kolom B Tingkat Kemiskinan dan C mendapat beasiswa atau tidak (beasiswa = 1, Tidak Beasiswa = 0).

Berikutnya masuk ke Command Window, masukan beberapa langkah berikut ini untuk membuat data masukan dan target yang akan digunakan untuk pelatihan.

  • input=xlsread(‘input.xlsx’);
  • in=[input(:,1) input(:,2)];
  • out=input(:,3);

Berikutnya jika in dan out sudah ada di workspace kita, panggil nftool untuk membuat JST dan melakukan pelatihan. Ketik nftool di command window. Masukan input dan outputnya sesuai dengan variabel yang telah dibuat. Jangan lupa klik jumlah record berdasarkan baris atau kolom. Biasanya, jika belum dicentang, tombol next tidak bisa ditekan yang artinya antara input dan output masih ada kesalahan. Klik Next, hingga muncul tampilan sebagai berikut.

 

Berikutnya kita lakukan pelatihan (training) dengan metode Backpropagation. Klik tombol ‘Train’.

Setelah pelatihan selesai, jangan lupa menyimpan hasil pelatihan tersebut ke workspace dengan menekan tombol ‘Save Result‘.

Berikutnya uji dengan beberapa masukan, apakah hasilnya tepat? Untuk menguji hasil pelatihan dapat dilakukan dengan menguji input yang dilatih, apakah sesuai dengan target atau tidak? Gunakan kode berikut.

Perhatikan, hasil antara kolom kiri dan kanan harus sama. Perbedaan menandakan ada kesalahan pada hasil pelatihan. Tetapi jarang diperoleh hasil pelatihan yang memiliki akurasi 100%. Jika ingin melihat Surface, gunakan kode berikut di Command Window untuk melihat hasil surface beragam kemungkinan masukan.

  • plot3(1,1,1)
  • hold
  • Current plot held
  • >> grid
  • >> for i=1:40
  • for j=1:40
  • x=i/10;y=j/10;
  • k=sim(net,[x;y]);
  • if k>0.5
  • plot3(x,y,k,’r*’)
  • else
  • plot3(x,y,k,’b*’)
  • end
  • end
  • end

Wilayah berwarna merah berdasarkan kode di atas masuk dalam kategori memperoleh beasiswa “1” dan biru masuk kategori tidak mendapat beasiswa “0”.

Melihat Surface Jaringan Syaraf Tiruan (JST)

Surface merupakan istilah yang digunakan Matlab terhadap bidang tiga dimensi. Variabel yang ada adalah X, Y, dan Z. Terkadang kita ingin melihat surface JST yang telah kita training untuk mengetahui kinerjanya seperti pada Fuzzy Inference System (FIS) dan Adaptive Neuro-Fuzzy Inference System (ANFIS). Sebagai bahan perbandingan perhatikan data berikut ini yang akan kita latih dengan ANFIS dan JST.

Kolom satu dan dua adalah variabel masukan, sedangkan kolom ketiga menyatakan target pembelajaran. Berikutnya kita latih sistem kita, baik dengan ANFIS maupun JST. Dengan anfis kita peroleh surface sebagai berikut:

Mengenai cara pembuatannya, lihat tulisan saya terdahulu mengenai pelatihan ANFIS. Untuk JST harus kita buat struktur network dan kemudian melatihnya dengan data di atas. Berikut ini contoh code untuk membuat grafik 3D JST dengan nama ‘net‘.

Di sini saya menggunakan resolusi dua digit di belakang koma, dari 0.01 hingga 4. Hasilnya adalah grafik di bawah ini. Lumayan lama (lebih dari 10 menit) ketika kode di atas dijalankan.

Jika dirasa terlalu lama prosesnya, dapat kita turunkan resolusinya menjadi satu digit di belakang koma. Untuk warna data dilakukan dengan perintah di belakang plot3, dengan if-else untuk wilayah warna tertentu.

Sebenarnya ada cara untuk membuat lewat instruksi ‘surface’ atau ‘mesh’, tetapi untuk kasus fungsi ‘sim’ pada matlab tidak bisa dijalankan. Berikut ini contoh script untuk 3D fungsi matematis biasa.

Buku Penerapan Data Mining dengan Matlab

Walaupun agak sedikit terlambat tetapi tidak masalah karena materi yang kita bahas baru sampai pertengahan yang Insya Allah UTS dua minggu lagi. Akhirnya buku “Penerapan Data Mining dengan Matlab” sudah dicetak dan siap didistribusikan pada toko-toko buku terdekat. Lihat link: http://biobses.com/judul-buku,343-penerapan_data_maining_dengan_matlab.html

Beberapa hal mungkin tidak sempat ditulis pada buku tersebut dan sebagai pelengkapnya dapat dilihat pada blog ini. Pertanyaan dan komentar akan dengan senang hati kami jawab untuk kesempurnaan buku ini di masa depan. Buku itu dibuat berbarengan ketika mengajar Data Mining dan selesai ketika perkuliahan juga selesai. Oleh karena itu saya sangat berterima kasih kepada mahasiswa-mahasiswa Universitas Darma Persada dari Jurusan Sistem Informasi atas kerja samanya, “Arigato Gozaimasudan mohon maaf, “gomenasai” jika soft copy tidak saya beri ketika diminta. Isi buku tersebut antara lain:

  • Konsep Data Mining
  • Pohon Keputusan
  • Adaptive Neuro-Fuzzy Inference System (ANFIS)
  • Jaringan Syaraf Tiruan (JST)
  • Fuzzy C-Means Clustering (FCM)
  • Support Vector Machine (SVM)
  • Pengujian Sistem
  • Instalasi MATLAB 7
  • Dasar-Dasar MATLAB
  • Mengompilasi Program dengan MATLAB

Walaupun membahas Data Mining, kami siap juga menjawab topik lain yang nyerempet-nyerempet, seperti topik tentang Soft Computing, Fuzzy, Sistem Kendali, dan sebagainya. Alangkah baiknya Anda memiliki buku “Penerapan Soft Computing dengan Matlab” yang ditulis oleh pengarang yang sama.

Berikutnya kami berencana menulis topik yang sama tetapi dengan bahasa pemrograman yang agak sulit seperti C++ dan Java mengingat banyaknya permintaan terhadap bahasa yang “Gratis” tersebut. Walaupun sebenarnya banyak bahasa yang mirip Matlab tetapi “Gratis” yaitu Scilab, Octave, dan lain-lain yang bisa diunduh dari internet.

Classification with Fuzzy C-Means In Matlab

Data Mining/08.04.2013/Sistem Informasi

This week, because I have trouble with my tummy, I cannot teach Fuzzy C-Means (FCM) Clustering. But I will give a simple explanation in this blog. Last week we have learned the hard clustering with K-Means and create a simple application with GUI. For simplicity, we can use that GUI and change the K-Means Method with FCM.

Open your Matlab and change the current directory to your last Matlab Application. Type guide <name_of_application>, or click File – New – GUI and chose tab: Open Existing GUI. Browse your GUI (fig file). This is my own GUI of K-Means application.

After change the title K-Means with FCM, save as your work and give a different name, so we have two application: K-Means and FCM. Go to your m-file and find the function that state about K-Means Clustering. Change it with FCM function. There is a little different about separation of each cluster. For this example, we used two classification (IPA’s and IPS’s). Use the script below for classification function:

  • X=handles.X
  • k=handles.k
  • [C,U]=fcm(X,k)
  • set(handles.ipa1,‘String’,C(1,1))
  • set(handles.ips1,‘String’,C(1,2))
  • set(handles.ipa2,‘String’,C(2,1))
  • set(handles.ips2,‘String’,C(2,2))
  • index1=find(U(1,:)==max(U))
  • index2=find(U(2,:)==max(U))
  • axes(handles.axes1)
  • line(X(index1, 1), X(index1, 2), ‘linestyle’,
  • ‘none’,‘marker’, ‘o’,‘color’,‘b’);
  • line(X(index2,1),X(index2,2),‘linestyle’,
  • ‘none’,‘marker’, ‘^’,‘color’,‘r’);
  • hold on
  • plot(C(1,1),C(1,2),‘ko’,‘markersize’,11,‘LineWidth’,2)
  • plot(C(2,1),C(2,2),‘kx’,‘markersize’,11,‘LineWidth’,2)
  • function kluster_Callback(hObject, eventdata, handles)
  • hold on

After Running, you have to see the result below. You can separate the data into two cluster (tends to IPA and Tends to IPS):

Now, try to make a code for creating the result in Excel.

K-Means Clustering with Matlab

Data Mining/01.04.2013/Sistem Informasi

You can see the explanation: http://en.wikipedia.org/wiki/K-means_clustering. K-means is hard-clustering that different with Fuzzy C-Means that Soft-Clustering.

File – New – GUI. Make a design below.

Save yout GUI.

Fill script to function ambildata_Callback:

  • data=uigetfile(‘*.xlsx’)
  • set(handles.data,‘String’,data)
  • X=xlsread(data)
  • handles.X=X
  • guidata(hObject,handles)

 

Look at command window to see the result

Script function data_Callback (text box of number of cluster)

Make sure k and handles.k appear in Command Window.

IDX and C the result of kmeans function that state index of every record and center of cluster respectively.

Look at how to create excel file with function xlswrite. There are two sheets: hasil and kluster. Use “set” for sending result to edit text ipa1, ipa2, ips1, and ips2 at GUI.

You can add axes to show the result graphically.

  • %buat grafik
  • ukuran=size(hasil)
  • jlhdata=ukuran(1,1)
  • axes(handles.axes1)
  • hold
  • for i=1:jlhdata
  • if hasil(i,3)==1
  • plot(hasil(i,1),hasil(i,2),‘*r’)
  • else
  • plot(hasil(i,1),hasil(i,2),‘*b’)
  • end
  • end
  • plot(C(1,1),C(1,2),‘ok’)
  • plot(C(2,1),C(2,2),‘ok’)

Next week we’ll discuss Fuzzy C-Means Clustering.

K-Nearest Neighborhood Classification with Matlab

Data Mining/25.03.2013/Sistem Informasi – S1

K-nearest Neighborhood (K-NN) adalah salah satu teknik klasifikasi yang sudah ada sejak dulu. Teknik ini memiliki prinsip kerja menemukan tetangga terdekat terhadap sampel daya yang akan diuji. Jika tetangga terdekatnya masuk dalam kategori kelas “A”, maka sample tersebut dapat dikatakan kelas “A”.

K-NN menggunakan teknik perhitungan jarak antara sampel dengan data yang telah ada (dikenal dengan istilah data training). K-NN masuk dalam kategori “Supervised Learning” karena data yang menjadi acuan (data training) memiliki Label (kelas tertentu). Berikut ini contoh pembuatan aplikasi dengan GUI untuk klasifikasi suatu sampel dengan K-NN. Berikut contoh perhitungan jarak antara titik sampel, misalnya (20,12) dengan salah satu data training, misalnya (30,8) dan diperoleh hasil 10.77.

Create New GUI and choose “Blank GUI”

Rename every component.

String and Tag on Property Editor must be renamed (Matlab is case sensitive)

Save your work in order to get m-file that appear immediately after saving.

Look at the m-file above, you will see the functions according to your pushbutton and edit text. The green text will not be executed and sometimes you see “do not edit” warning. Chose the training_Callback function (see: https://rahmadya.com/2013/03/18/pengenalan-data-mining/ ):

Use your Excel to create training data

The last column is group, so you have to separate training and group in m-file.

Back to m-file, we have to create script for capturing ipa and ips values. At function ipa_Calback and ips_Callback, use this script. Copy-paste this script for ips and replace “a” with “s” for easiness.

Last script is the core script because it contain k-nearest neighborhood classification using function “knnclassify“. See how to create plot for our GUI. The hold function means we do not erase the previous chart. We use “msgbox” (message box) to show the result of classification.

If the run icon is pressed, the result come after push “klasifikasi” button.

Next week we’ll discuss Kmeans.

Tugas: Hitung jarak sampel (kel 1: (5,7) dan kel2 : (6,5)) terhadap data training, tentukan kelasnya berdasarkan data training tersebut (IPA atau IPS). Berikut hasil dengan Ms Excel

Introduction: Data Mining with Matlab

Data Mining berasal dari dua kata yaitu Data yang berarti sekumpulan fakta yang masih kasar dan Mining yang berarti menggali/menambang. Jadi dengan Data Mining diharapkan ada informasi tersembunyi yang bisa digali dari sekumpulan data tersebut. Metode-metode yang digunakan cukup banyak yang mudah-mudahan dapat diulas semua hingga UAS nanti.

Pertemuan kali ini hanya akan membahas sedikit bahasa pemrograman yang cukup mudah yaitu Matlab. Dibandingkan dengan c++, java, dan sejenisnya, Matlab jauh lebih mudah dan cocok jika kita hanya ingin mempelajari metode saja. Sebenarnya banyak alat lainnya seperti Rapidminer atau SQL Server Business Intelligent. Akan tetapi tools tersebut sangat sulit dianalisa struktur kodenya dan tidak cocok untuk pendidikan. Berbeda dengan matlab yang strukture toolbox yang dapat dilihat kode programnya yang dapat kita edit jika hasil algoritmanya kurang memuaskan. Selain itu Matlab dapat digunakan untuk membuat aplikasi yang dapat dijalankan oleh komputer lain yang tidak terinstal Matlab di dalamnya lewat mekanisme kompilasi menjadi executable program.

Here is an example of using GUI Matlab for getting data from excel and plotting it into graph. First open the GUI design, File – New – GUI. Choose the blank GUI and then with two push buttons and a single chart, make the simple GUI here:

After finishing GUI, save your GUI, so Matlab can generate the code with one m-file. You also can open the m-file editor by type: edit LATIHAN. I save my GUI’s name LATIHAN. We have two files for our application, LATIHAN.m and LATIHAN.fig that represent code and GUI respectively.

Beside edit the “String” on property editor, I suggest you to edit push button 1 and 2 with other name on “Tag” at property editor in order not to have difficult in searching function at m-file editor. Fill the script of function ambil_data and lihat_grafik with this sample code:

Of course you may your function left default option pushbutton1 and 2 . The function uigetfile was typed for calling the GUI for inserting the file. After catching the file (here denote with x), we continue to read that excel file with function xlsread. We have to use two other scripts handles.data and guidata(hObject,handles) because this variable (data) must send to other function (lihat_grafik function). Use your excel to create sample data (two field/column and some lines).

The second function was made for creating graph purpose. We use function plot with x-axis and y-ordinate. x=data(:,1) means creating the x variable contain data from colom 1 of data. If you run the program, you have to get the plot of the data.

This is the end of the introduction to Matlab for data mining session. Next week we’ll learn data mining algorithm : K-nearest Neighbourhood.

K-Nearest Neighbourhood (KNN)

Data Mining. 17.12.2012. Tek Informatika S1

Berikut ini data yang akan kita jadikan dasar klasifikasi berdasarkan KNN. Ketik di Command Window Matlab.

>> data

 

data =

 

1.5000 2.0000 0

2.5000 3.0000 1.0000

3.0000 2.5000 1.0000

2.2000 3.0000 1.0000

2.2000 2.0000 0

2.0000 3.0000 1.0000

2.0000 2.0000 0

3.5000 2.0000 1.0000

2.7000 2.0000 0

1.5000 3.0000 0

Misalkan kita akan menguji data test apakah masuk kategori 0 atau 1.

>> test=[1.5 1.9]

 

test =

 

1.5000 1.9000

Uji dengan fungsi Classify.

>> class=classify(test,[data(:,1) data(:,2)],[data(:,3)])

 

class =

 

0

Jadi data test tersebut masuk dalam kelas nol.

Pohon Keputusan

Mat. Diskrit, 06.11.2012, T.Komputer

Pohon keputusan banyak dimanfaatkan untuk membantu pengambil keputusan dalam menentukan alternatif-alternatif pilihan yang ada. Dalam bidang kesehatan dapat digunakan untuk meprediksi penyakit pasien berdasarkan gejala-gejala yang ada. Buka matlab, buat dua buah matriks (matriks nilai dan matriks jurusan) yang akan dicari pohon keputusannya.

nilai =

 

8 7 6

7 8 7

8 8 9

7 8 6

6 6 8

10 9 9

5 6 7

6 6 7

jurusan =

 

ipa

ips

bhs

ips

bhs

ipa

bhs

bhs

Buat nama variabel dengan instruksi:

varnames = {‘nilai ipa’ ‘nilai ips’ ‘nilai bahasa’};

Berikutnya buat pohon keputusannya:

t1 = classregtree(nilai,jurusan,’splitmin’,5,’names’,varnames);

Setelah dijalankan >> view(t1) akan muncul pohon keputusannya:

XIII MINING OLAP CUBES

Oleh : Rahmadya Trias H., ST, MKom.

 

Online Analytical Processing (OLAP) pertama kali dikemukakan oleh E.F. Codd pada tahun 1994. Banyak kegunaannya terutama untuk Sistem Pengambil Keputusan (Decision Support System) yang melibatkan multiple database.

OLAP saat ini hampir pasti digunakan untuk sistem berbasis Business Intelligent (BI) bersama dengan data mining. Terdiri dari Tabel Fakta (Fact Table) dengan beberapa dimensi (dimensions) dengan bentuk hierarchy. Sasarannya adalah bagaimana menemukan informasi yang berguna dari suatu cube.

13.1. Pengenalan OLAP

Online Transaction Processing (OLTP) ditujukan untuk merekam transaksi harian, misalnya transaksi penjualan, pembelian dan perbankan. OLTP tidak memiliki perangkat yang cukup untuk menganalisa, oleh karena itu diperlukan sistem OLAP yang digunakan dalam sistem DSS.

Cube adalah database dengan dimensi banyak (multidimensions) dengan bentuk hirarkinya. Misalnya, dalam pola All Product -> Category -> Sub Category -> Product Name. Kemudian tiap Cube memiliki ukuran (measure) yang berasal dar tabel fakta.


Gambar 13.1. Skema OLAP

13.2. Pembuatan CUBE

Buka kembali SQL Server BI Dev Studio, buat project baru degan mengambil database “MovieClick”. Berbeda dengan data source view yang lalu hanya satu tabel, untuk membuat cube kita harus memiliki tabel fakta dan dimensi. Untuk database movieclick, kita memiliki satu dimensi yaitu Customer dan tabel fakta misalnya yang disewa.

Langkah berikutnya adalah kita merelasikan antara dimensi dengan tabel fakta. Jangan sampai salah arahnya. Coba sendiri ya … Cao (Bersambung)

XII NEURAL NETWORK

Oleh: Rahmadya Trias H., ST, MKom.

Sesuai dengan namanya Jaringan Syaraf Tiruan berupaya meniru logika syaraf biologis manusia yang terdiri dari neuron dan sinapsis. Tiap neuron berupaya mengarahkan masukan menuju keluaran yang tepat hasil proses pembelajaran (training).

12.1. Pengenalan Neural Network

Model NN pertama kali diperkenalkan oleh Warren McCulloch dan Walter Pits tahun 1940 yang berusaha memodelkan bagaimana syaraf biologis otak bekerja. Pada tahun 1982, John Hopfield menemukan metode terkenal perambatan balik (backpropagation).

Dalam data mining, NN dimanfaatkan dalam tugas-tugas klasifikasi dan regresi. Di antara metode lainnya seperti decision tree dan naive bayes, NN dalam prosesnya memakan waktu yang lebih lama. Selain itu, agak sulit dalam melakukan interpretasi hasilnya.

NN baik digunakan dalam proses segmentasi dan dapat digunakan baik untuk data kontinyu maupun diskrit.

12.2. Cara Kerja Neural Network

Langkah pertama NN adalah dengan menyusun jumlah Neuron yang diperlukan dari satu set database yang akan di-mining. Selanjutnya dilakukan proses pembelajaran untuk menentukan bobot (weight) tiap neuron-nya.


Gambar 12.1. Pembobotan

Normalization dan Pemetaan (Mapping) digunakan untuk menentukan neuron-neuron anggota NN. Metode-metode yang digunakan antara lain: z-score, z-axis, log score dan sebagainya. Metode paling sederhana adalah: V=(A-Amin)/(Amax-Amin).


Gambar 12.2. Normalization dan Pemetaan

12.4. NN dengan Microsoft BI Development

Berikutnya kita akan mencoba memanfaatkan Microsoft BI Development untuk membuat Mining dengan teknik Microsoft Neural Network. Microsoft Neural Network secara otomatis akan melakukan Normalisasi dan mapping, misalnya usia akan dipecah menjadi group-group usia 20-22, 22-23 dan seterusnya. Selain itu kita dapat melihat struktur untuk usia 22-23 yang berjenis kelamin wanita, janda tanpa anak dan berapa peluang terhadap kepemilikan rumah (menyewa atau memiliki sendiri).


Gambar 12.3. Hasil Keluaran Microsoft Neural Network

Coba lakukan untuk data “Movie Click”. Gunakan Key, Input dan Predic yang sama dengan Decision Tree.

XI CLUSTERING

Oleh: Rahmadya Trias H., ST, MKom.

Clustering adalah mengumpulkan sederetan data sejenis dalam satu cluster yang membedakan dengan cluster lainnya. Ciri yang mendasari pengelompokkan berdasarkan variabel tertentu dari database. Tentu saja makin banyak variabel yang mendasari pengelompokkan, proses pengklasteran makin rumit.

11.1. Pengenalan Microsoft Clustering

Microsoft clustering bekerja menemukan peng-groupan secara alami dari data yang kita meliki dengan cara mencari variabel-variabel tersembunyi. Manfaat utama dari clustering, misalnya jika kita akan memasarkan suatu produk, katakanlah mobil, maka tentu saja kita akan mencari data-data dalam suatu cluster yang memiliki ciri-ciri tidak memiliki mobil tetapi berpenghasilan di atas rata-rata.

Ada dua metode yang digunakan untuk pengklusteran yaitu K-Means dan Expectation Maximization (EM). K-Means melakukan pengklusteran dengan menghitung jarak (distance) rata-rata satu kluster dengan kluster lainnya. Pusat kluster bergeser sesuai dengan jarak rata-ratanya. Metode ini sering diistilahkan dengan Hard clustering karena satu objek tepat hanya menjadi anggota suatu kluster.

Berbeda dengan K-Means, EM cenderung menggunakan probabilitas dalam pengklusteran. Kurva yang dipakai adalah kurva Bell. Karena antara satu kluster dengan kluster lainnya bisa overlapping, maka metode ini sering diistilahkan dengan nama Soft Clustering.


Gambar 11.1. Metode K-Means (Kiri) dan Metode EM (Kanan)

11.2. Pemodelan Clustering

Pemodelan diperlukan untuk melakukan clustering pada data set milik kita. Variabel yang menjadi basis klusterifikasi harus kita pilih setepat mungkin. Klusterifikasi dimanfaatkan untuk menganalisis, misalnya analisa terhadap kerugian penjualan. Sebaiknya model yang kita buat lebih dari satu untuk menghindari bias.


Gambar 11.2. Model Kluster

11.3. Klusterifikasi dengan Microsoft BI Development

Akhirnya kita mencoba melakukan klusterifikasi dengan aplikasi dari microsoft, yaitu Microsoft Clustering. Langkah pembuatan project sama dengan bab-bab terdahulu hanya saat memodelkan Mining Structure kita memilih teknik yang digunakan dengan teknik Microsoft Clustering. Key, Input dan Predict agak berbeda. Pada Clustering, kita memiliki Input dan Predict dengan variabel (Field) yang sama.

Dan yang terpenting adalah kemampuan membaca hasil pengolahan Microsoft BI Development yang terdiri dari view-view: Cluster Diagram, Cluster Characteristic dan Cluster Discrimination.


Gambar 11.3. Cluster Diagram

Coba Sendiri dengan Data “Movie Click” !!! Klasifikan berdasarkan Gender, Jenis Kelamin dan Status Perkawinan.

X Decision Tree

Oleh: Rahmadya Trias H., ST, MKom

Pohon keputusan (decision tree) merupakan salah satu teknik terkenal dalam data mining. Tugas paling umum yang diserahkan kepada pohon keputusan adalah klasifikasi. Dari set database kita bisa mengetahui apakah suatu nasabah merupakan nasabah yang baik atau tidak dari riwayatnya, seseorang berpeluang terkena suatu penyakit tertentu berdasarkan riwayatnya dan lain-lain.

Pohon keputusan merupakan teknik yang paling efisien. Ibaratnya, kita menyaring sesuatu lewat pohon keputusan, apakah suatu data lolos atau tidak terhadap saringan kita dengan proses yang cukup cepat. Teknik regresi sangat banyak, tetapi yang paling terkenal adalah algoritma yang diperkenalkan oleh Prof. Briemann dengan istilah The Classification and Regression Tree (CART).

10.1. Prinsip Dasar

Untuk lebih mempercepat pemahaman tentang pohon keputusan, ada baiknya kita mengambil contoh kasus data “college plan” yang meriset beberapa orang yang akan mengambil kuliah berdasarkan IQ, Paksaan Orang Tua, Ekonomi dan Gender. Sasarannya adalah kita mampu membuat pohon keputusan, apakah seseorang kemungkinan besar mengambil kuliah atau tidak berdasarkan IQ, Paksaan Orang Tua, Ekonomi dan Gender.

Masalah pertama pada pembuatan pohon keputusan adalah, variabel manakah yang menjadi akar dari pohon tersebut. Akar di sini adalah pemisah pertama dari pohon keputusan. Dikenal istilah Bayesian Score yang menilai suatu variabel, atau dalam Pohon Keputusan terkenal dengan sebutan Entropi. Entropi dihitung dengan rumusan sebagai berikut:


Akar dipilih berdasarkan nilai entropi terendah, dan berdasarkan hasil hitungan ternyata entropi terendah adalah Paksaan Orang tua. Jadi penentu pertama peluang tertinggi seseorang mengambil kuliah berdasarkan database tersebut adalah paksaan orang tua.

10.2. Penggunaan MS BI Development

Langkah pembuatan dengan Microsoft Business Intelligent Development sama dengan bab IX tentang Naive Bayes. Bedanya adalah pada saat menentukan Mining Technique, kita memilik “Microsoft Decision Tree”. Pilih ID sebagai Key, kemudian pilih semua variabel sebagai input, prediksi kita pilih “College Play” yang berisi data “yes” atau “no”.

Coba Sendiri !!!


Gambar 10.1. Hasil Mining

IX Naive Bayes

Oleh: Rahmadya Trias H., ST, MKom.

Algoritma bayes mempelajari kejadian-kejadian dari rekaman database dengan cara memperhitungkan korelasi antara variabel yang dianalisa dengan variabel-variabel lainnya. Hasilnya adalah kita dapat memprediksi sesuatu, misalnya apakah seseorang berasal dari golongan tertentu berdasarkan variabel-variabel yang melekat padanya. Selain itu, naive bayes dapat juga menganalisa variabel-variabel yang paling mempengaruhinya dalam bentuk peluang.

9.1. Algoritma

Naive bayes memanfaatkan teori peluang, yakni jika diketahui suatu hipotesa H dengan kejadian tentang hipotesa E, maka kita dapat mengkalkulasi probabilitas dari H dengan formula:


Atau secara sederhana dapat dikatakan bahwa probabilitas dari hipotesa kita terhadap suatu kejadian sama dengan probabilitas kejadian yg memberikan hipotesis dikalikan dengan probabilitias hipotesa yang kemudian dinormalkan.

9.2. Naive Bayes dengan Microsoft BI Development

Dengan Ms BI Development kita diberika empat views yang menggambarkan data yang kita “Mining”, antara lain:

  • Dependency Net
  • Attribute Profiles
  • Attribute Characteristics
  • Attribute Discrimination

Berikut adalah prosedur yang kita lakukan:

  • Buka MS BI Development
  • Buat Project dengan cara File – New – Project, Piliha “Analysis Services”.


Gambar 9.1. New Project Creation

  • Klik kanan “Data Source” pada Solutian Explorer lalu pilih database yang akan diambil (New Data Source). Cari data provider yang sesuai, dalam hal ini microsoft jet 4 OLE DB Provider.
  • Klik Next, dilanjutkan dengan mengklik “New”


Gambar 9.2. Mengambil Database Yg akan Diolah

  • Jangan lupa pada “Impersonation Information” diklik “Use the Service account” jika tidak kita password.
  • Berikutnya klik kanan pada “Data Source View” dilanjutkan “New Data Source View”. Pilih Data Source yang telah kita buat sebelumnya.
  • Langkah terakhir dan terpenting adalah memasukkan Mining Structure dengan mengklik kanan “Mining Structure” dilanjutkan dengan “New Mining Structure”.
  • Klik Next, hingga saat dijumpai pilihan “Mining Technique” Pilih Microsoft Naive Bayes.
  • Pilih Key, Input dan Predict yang sesuai lalu klik “Sugest” untuk menganalisa variabel-variabel mana yang paling tinggi peluangnya sekaligus paling berpengaruh terhadap prediksi dari partai mana seseorang.


Gambar 9.3. Sugest Related Columns

  • Klik “Process Mining …” untuk memproses Data Mining. Klik “Yes” dilanjutkan dengan proses Mining. Tunggu hingga selesai.
  • Klik “RUN” saat selesai, tunggu sesaat dan jika telah selesai “CLOSE” hasil Running.
  • Klik tab “Mining Model Viewer” akan menghasilkan Dependency network sebagai berikut:


Gambar 9.4 Dependency Network

  • Coba sendiri dengan data yang lainnya.