Bab 3 membahas tentang data mining di SQL Server 2008. Terdapat enam jenis tugas dasar data mining yaitu klasifikasi, regresi, segmentasi, asosiasi, analisis urutan, dan klastering. Bab ini juga menjelaskan langkah-langkah data mining mulai dari mendefinisikan masalah bisnis, mempersiapkan data, pelatihan model, validasi, hingga deploy model."
Essential sql server 2008 bi sql server indonesia group - data mining
1. Bab 3
SQL Server 2008 Data Mining
3.1 Pendahuluan
Hampir setiap perusahaan memiliki aplikasi yang mencatat kegiatan transaksi harian ke dalam database.
Setelah beberapa waktu berjalan, terkumpul ratusan ribu bahkan jutaan data transaksi di dalam
database. Data transaksi tersebut merupakan history pasang surut perusahaan yang perlu diolah
menjadi sebuah informasi yang membantu pihak manajemen mengambil keputusan strategis secara
lebih akurat. Bagaimana informasi tersebut bisa didapatkan dari hasil analisa data? Kuncinya adalah
penarikan pola data dengan mempelajari sampel data yang diberikan untuk menjawab kebutuhan
informasi strategis perusahaan. Bermodalkan pola tersebut, sebuah organisasi dapat mengetahui
probabilitas apakah suatu tujuan akan tercapai dengan melihat parameter-parameter input yang telah
ditetapkan, misalnya seberapa besar kecenderungan seorang customer memarkir kendaraannya (kurang
dari 1 jam, 2 jam, 3 jam, lebih dari 3 jam) bila seorang customer memiliki 2 kendaraan, memiliki 1 anak,
berbelanja lebih dari 10 jenis barang serta customer tersebut tinggal lebih dari 10 kilometer. Sehingga
organisasi tersebut dapat memperkirakan pemasukan dari jasa parkir kendaraan bermotor.
3.2 Jenis Tugas Dasar pada Data Mining
Setelah mengetahui faedah data mining, kita perlu mengenali bentuk tugas dasar data mining dalam
melakukan pengolahan data menjadi informasi. Pada hakekatnya, tugas dasar yang bisa dilakukan oleh
data mining ada 6 yaitu :
1. Klasifikasi
2. Regresi
3. Segmentasi
4. Asosiasi
5. Analisa urutan
Mari kita tinjau setiap tugas dasar yang terdapat pada data mining.
3.2.1 Klasifikasi
Bentuk tugas dasar ini adalah dengan menentukan pengelompokan informasi akhir yang hendak
didapatkan. Misalnya klasifikasi customer yang berpotensi memiliki kredit macet dan kredit lancar.
Biasanya di dalam sumber data terdapat atribut yang menjadi tujuan klasifikasi. Atribut tujuan biasanya
merupakan kolom dari sebuah tabel atau dimensi di dalam Analysis Service. Kemudian klasifikasi
membutuhkan juga atribut-atribut lain yang memiliki pengaruh signifikan terhadap atribut tujuan. Saya
sebut atribut demikian sebagai atribut pendukung. Dalam contoh kredit macet/lancer, atribut-atribut
2. pendukung (yang tentu saja terdapat di dalam database) adalah tanggal pelunasan setiap periode,
tanggal jatuh tempo tiap periode, lama kredit yang diberikan, besar kredit yang diberikan, besar bunga
kredit, besar aset yang diagunkan dan indikator-indikator lainnya. Dengan data-data yang tersedia, data
mining dapat memberikan petunjuk kepada pengguna data mining apakah sebaiknya mencucurkan
kredit kepada seorang customer.
Kelihatannya sederhana, namun dengan jumlah data yang besar dan jumlah atribut pendukung yang
banyak, klasifikasi secara manual menjadi tidak mudah dibandingkan pengolahan secara efisien dan
akurat oleh data mining SQL Server.
3.2.2 Regresi
Jenis tugas dasar ini hampir sama dengan jenis tugas dasar klasifikasi. Perbedaan antara keduanya
adalah regresi memberikan hasil yang tidak terbatas sedangkan klasifikasi memberikan hasil yang diskrit
(terbatas kemungkinan yang ada – ingat contoh customer berpotensi kredit macet atau kredit lancar?
Berarti ada 2 jenis kemungkinan dari hasil probabilitas).
Contoh dari regresi adalah kebutuhan perusahaan untuk melakukan estimasi nilai sales pada tahun
depan berdasarkan analisa trend sales tahun-tahun sebelumnya. Katakanlah nilai tahun lalu sebesar 100
juta rupiah, tahun ini sebesar 120 juta rupiah, mungkin hasilnya bisa naik atau bisa turun. Kemungkinan
hasil probablitas tidak terbatas hanya 100 juta ataupun 200 juta rupiah.
3.2.3 Segmentasi
Segmentasi adalah bentuk tugas dasar data mining yang memilah data-data ke dalam beberapa
kelompok. Masing-masing kelompok memiliki karakteristik atribut yang sama. Contoh segmentasi
adalah analisa pendekatan calon klien oleh sebuah perusahaan jasa untuk aktivitas sales dan marketing.
Calon klien adalah dipilah berdasarkan 3 kelompok klien yaitu klien kecil dengan jumlah karyawan
kurang dari 100 orang, klien menengah dengan jumlah karyawan 101 sampai dengan 500 dan klien
berskala besar dengan jumlah karyawan di atas 500. Masing-masing kelompok memiliki rentang
penghasilan perusahaan yang serupa, cakupan kebutuhan yang serupa, dan lain sebagainya.
SQL Server 2008 akan membantu memilihkan atribut yang menjadi segmentasi setelah menganalisa
data yang ada.
3.2.4 Asosiasi
Asosiasi adalah bentuk tugas dasar yang mencari keterkaitan antara satu item dengan item lainnya pada
atribut yang sama, sehingga asosiasi dapat juga disebut keterkaitan. Item-item yang terkait satu sama
lain dapat dipandang sebagai satu kesatuan unit.
Contoh asosiasi adalah apabila seorang customer membeli buku SQL Server Analysis Service 2008
kemungkinan besar dia juga akan memerlukan buku SQL Server Reporting Services 2008 sehingga
dengan mengetahui keterkaitan antara keduanya; seorang sales dapat menawarkan buku Reporting
Services tersebut kepada customer.
3. Keterkaitan tidak selalu melibatkan 2 item, sangat mungkin keterkaitan melibatkan lebih dari 2 item,
sebagai contoh bila item A dan item B merupakan satu kesatuan unit, probabilitas yang besar terjadi bila
item C juga masuk ke dalam kesatuan unit tersebut karena item A, B dan C memiliki keterkaitan satu
dengan lainnya.
3.2.5 Sequence Analysis
Sequence analysis akan menampilkan pola persinggahan data dari satu node ke node lainnya. Contoh
yang paling menggambarkan teknik sequence analysis adalah pola navigasi user pada sebuah website
dimana setelah user mengakses web page A, lebih besar probabilitas user akan mengunjungi web page
B ketimbang web page C.
Agar data mining dapat memprediksi pola akses berbasis sequence analysis, diperlukan data-data
lampau untuk dipelajari pola akses untuk sequence analysis.
3.3 Langkah-langkah data mining
Untuk memanfaatkan data mining untuk mempelajari pola dari data yang dimiliki oleh suatu perusahaan
dan mampu memberikan prediksi berdasarkan pola data yang ada, maka diperlukan langkah-langkah
penentuan definisi data mining dari awal sampai dengan data mining siap untuk memberikan prediksi.
Langkah-langkah tersebut adalah :
1. Definisi permasalahan bisnis yang ingin diketahui
2. Mempersiapkan data yang menjadi sumber untuk data mining untuk dipelajari polanya.
3. Menentukan porsi data yang digunakan men-training data mining berdasarkan algoritma data mining
yang telah dibuat.
4. Validasi apakah data mining memberikan prediksi yang akurat.
5. Data mining dideploy ke analysis server.
3.3.1 Definisi masalah
Langkah pertama dalam pembuatan data mining adalah definisi permasalahan bisnis yang ingin dijawab,
misalnya ingin mengetahui apakah seorang customer berpotensi memiliki kredit macet, atau
mengidentifikasi seorang customer apakah akan pindah ke kompetitor bisnis kita, dan lain sebagainya.
Setelah menemukan pertanyaan bisnis yang perlu dijawab oleh data mining, selanjutnya tentukan tipe
tugas dasar untuk menjawab pertanyaan bisnis tersebut. Tugas dasar yang menjadi dasar algoritma data
mining adalah klasifikasi, regresi, segmentasi, asosiasi dan sequence analysis. Dengan mengetahui tugas
dasar, anda memiliki pedoman kira-kira algoritma mana yang bisa digunakan untuk menjawab
pertanyaan bisnis.
3.3.2 Persiapan data
Setelah menentukan definisi masalah, langkah berikutnya adalah mencari data yang mendukung definisi
masalah anda. Sumber data dapat berasal dari OLTP maupun dari cube OLAP. Bila sumber data berasal
4. dari OLTP, sebaiknya pastikan datanya telah konsisten. Bila belum konsisten, SSIS bisa digunakan untuk
melakukan cleansing data sampai data tersebut konsisten.
3.3.3 Pelatihan data untuk algoritma data mining
Setelah persiapan data selesai dilakukan, langkah berikutnya adalah memberikan sebagian data kedalam
algoritma data mining. Algoritma data mining perlu mempelajari pola data yang diberikan guna menarik
informasi dan trend dari data tersebut. Istilah itu dikenal dengan sebutan training data mining.
3.3.4 Validasi algoritma data mining
Setelah training data selesai dilakukan, data mining tersebut perlu di-“uji” atau di-validasi
keakuratannya terhadap data testing. Biasanya tidak hanya 1 algoritma data mining yang
diimplementasikan ke dalam suatu data mining. Berarti data yang dipersiapkan pada sub bab 3.3.2
mengandung data yang digunakan untuk training dan data yang digunakan untuk testing. Pemilihan data
training dan data testing dapat dilakukan secara manual ataupun secara acak oleh SQL Server.
3.3.5 Deploy aplikasi data mining
Setelah algoritma data mining berhasil melalui proses validasi, data mining di-deploy ke analysis
services. Data mining siap menjawab pertanyaan bisnis lewat tool front-end (seperti reporting services,
Microsoft Excel dan lain sebagainya) ataupun bahasa SQL khusus untuk data mining yang disebut query
DMX (Data Mining Extensions) yang akan dibahas pada sub bab selanjutnya.
3.4 Jenis Algoritma Data Mining
SQL Server 2008 memiliki 9 jenis algoritma data mining. Tidak semua algoritma tersebut digunakan
dalam memecahkan masalah data mining karena setiap algoritma memiliki karakteristik yang mungkin
cocok dengan karakteristik masalah yang perlu dicarikan solusi di dalam data mining.
9 jenis data mining tersebut adalah :
1. Microsoft Decision Tree
2. Microsoft Linear Regression
3. Microsoft Naïve Bayes
4. Microsoft Clustering
5. Microsoft Association Rules
6. Microsoft Sequence Clustering
7. Microsoft Time Series
8. Microsoft Neutral Network
9. Microsoft Logistic Regression Algorithm.
Sebelum kita telusuri karakteristik setiap algoritma pada sub bab berikutnya terlebih dahulu pastikan
database AdventureWorksDW2008 beserta project analysis service telah dideploy ke SQL Server. Untuk
deploy database keluarga AdventureWorks, silahkan ikuti langkah-langkah pada Appendix A. Untuk
5. deploy solusi sample analysis service AdventureWorksDW2008, silahkan ikuti langkah-langkah pada
Appendix B.
3.4.1 Microsoft Decision Tree
Microsoft Decision Tree memberikan prediksi dalam bentuk struktur pohon (tree). Untuk lebih jelasnya,
silahkan buka project Adventure Works DW 2008 yang dijabarkan pada appendix B. Di panel window
Solution Explorer, expand folder Mining Structures dan double click Targeted Mailing.dmm yang akan
memunculkan designer Targeted Mailing.dmm. Pilih tab ketiga (Mining Model Viewer) di dalam designer
tersebut. Pastikan TM Decision Tree terpilih untuk combo box Mining Model dan Microsoft Tree Viewer
terpilih untuk combo box Viewer. Secara default 3 level (di bagian Default Expression) akan ditampilkan
di Microsoft Tree Viewer. Lalu Expand sesuai dengan Gambar 3.4.1.
Gambar 3.1 Algoritma Microsoft Decision Tree
Tree diatas memberikan informasi mengenai kecenderungan seorang customer yang membeli sepeda
(Bike Buyer) berdasarkan analisa atribut (Number Cars Owned, Region, Total Children). Dimana nilainya
adalah 0 atau 1. Nilai 0 berarti seorang customer yang tidak membeli sepeda sedangkan nilai 1 berarti
seorang customer yang membeli sepeda. Pada Gambar 3.4.1 juga terlihat window Mining Legend yang
memperlihatkan BikeBuyer dengan nilai 1 diwakili dengan warna merah.
6. Berdasarkan gambar 3.4.1, kita melihat bahwasanya terdapat 4 level dimana level kedua adalah Number
Cars Owned yang menentukan apakah seorang customer merupakan BikeBuyer. Level berikutnya
ditentukan oleh atribut Region dan level terakhir ditentukan oleh atribut Total Children. Untuk level
kedua (Number Cars Owned) persentase BikeBuyer = 1 terbesar jatuh pada Number Cars Owned = 0
dengan persentase 63.99%. Anda bisa temukan nilai ini lewat window mining legend. Untuk level ketiga
(Region) persentase BikeBuyer = 1 terbesar jatuh pada Region Pacific dengan nilai 91.68%. Untuk level
keempat (atribut Total Children) persentase BikeBuyer = 1 terbesar jatuh pada Total Children not = 4
dengan persentase 94.37%.
Informasi yang bisa ditarik dari Decision Tree diatas adalah customer paling potensial BikeBuyer adalah
yang tidak memiliki kendaraan (Number Cars Owned = 0), berada pada region Pacific dan tidak memiliki
4 orang anak. Dengan demikian bagian marketing perusahaan tersebut bisa menargetkan secara lebih
terarah aktivitas marketingnya.
Tab Mining Model Viewer memiliki 2 sub tab yaitu tab Decision Tree dan tab Dependency Network.
Gambar 3.4.1 terdapat pada tab Decision Tree. Mari kita lihat informasi yang bisa ditampilkan di dalam
tab Dependency Network di dalam Gambar 3.4.2.
7. Gambar 3.2 Dependency Network untuk Algoritma Microsoft Decision Tree
Gambar 3.4.2 menampilkan semua atribut dalam bentuk node yang terarah ke satu node yaitu
BikeBuyer. Arah panah tersebut menunjukkan BikeBuyer sebagai atribut yang menjadi target prediksi
sedangkan asal arah panah menunjukkan atribut yang berperan dalam memprediksi atribut BikeBuyer.
Pilih satu satu atribut yang berkontribusi dalam meramalkan atribut BikeBuyer (misalnya atribut Region)
seperti pada Gambar 3.4.3
Gambar 3.3 Hubungan Atribut Region terhadap Atribut BikeBuyer
Terlihat 2 warna yang berbeda. Atribut Region bewarna hijau sedangkan atribut BikeBuyer berwarna
biru. Apa arti warna-warna tersebut. Dari keterangan warna di Gambar 3.4.3 memberikan penjelasan
sebagai berikut :
= Atribut yang sedang di click (atribut Region pada Gambar 3.4.3).
= Atribut yang sedang di click (atribut Region pada Gambar 3.4.3)
memprediksi node target (atribut BikeBuyer pada Gambar 3.4.3).
Berikutnya coba click node BikeBuyer yang menjadi atribut yang diprediksi seperti pada Gambar 3.4.4.
8. Gambar 3.4 Hubungan Atribut BikeBuyer terhadap Semua Atribut yang Mengkontribusi Prediksi
Terdapat warna hijau karena focus yang di-click adalah atribut BikeBuyer dan warna merah yang
dijelaskan pada bagian keterangan warna pada Gambar 3.4.4.
= Atribut yang menentukan prediksi pada node yang sedang dipilih
(atribut kBikeBuyer)
Ada satu keterangan warna yaitu warna ungu, , yaitu node tersebut bisa menjadi
atribut yang memiliki kontribusi prediksi terhadap atribut lain namun sekaligus menjadi atribut yang
menjadi target prediksi dari atribut lain.
Di bagian kiri terdapat slider, yang menampilkan tingkat keterkaitan antara atribut yang menjadi target
prediksi (atribut BikeBuyer) dengan atribut yang menyumbang prediksi. Terdapat tulisan All Links di
bagian atas slider dan tulisan Strongest Links pada bagian bawah slider. Anda bisa menggeser slider
tersebut di antara kedua titik ekstrim tersebut. Sisi ekstrim bagian atas (All Links) pada slider tersebut
akan menampilkan panah semua atribut yang menyumbang prediksi, sedangkan sisi ekstrim bagian
bawah (Strongest Links) akan menampilkan panah hanya ada atribut yang memiliki kontribusi prediksi
terkuat dari semua atribut yang memberikan kontribusi kepada atribut target prediksi. Coba anda geser-
geser slider tersebut antara kedua titik ekstrim atas dan bawah untuk memperjelas pemahaman anda
mengenai informasi yang ditampilkan di tab Dependency Network .
9. Bentuk tugas dasar yang dilakukan oleh algoritma ini adalah tugas dasar klasifikasi (sub bab 3.2.1).
Namun algoritma ini bisa juga diterapkan untuk tugas dasar regresi (sub bab 3.2.2) dan asosiasi (sub bab
3.2.4).
3.4.2 Microsoft Linear Regression
Algoritma ini merupakan turunan dari algoritma Decision Tree. Bila di bahasa indonesiakan adalah
regresi linier. Di dalam dunia statistik, regresi linier melibatkan 2 jenis variabel numerik yaitu variabel
independen dan variabel non-independen. Variabel-variabel tersebut harus bertipe numerik dan
continuous (tidak diskrit, sedangkan Microsoft Decision Tree bersifat diskrit). Ilustrasi selengkapnya bisa
dilihat pada Gambar 3.4.2.
Gambar 3.5
Algoritma Microsoft Linear Regression
Dari Gambar 3.4.2, bisa diprediksi nilai variabel non-independen pada sumbu Y bila diketahui nilai
variabel independen pada sumbu X.
Bentuk tugas dasar yang dilakukan oleh algoritma ini adalah tugas dasar regresi.
3.4.3 Microsoft Naïve Bayes
Algoritma Naïve Bayes akan mengevaluasi setiap atribut yang mengkontribusi prediksi pada atribut
target (atribut BikeBayer pada solusi AdventureWorks DW 2008). Namun Algoritma Naïve Bayes tidak
memperhitungkan relasi antar atribut-atribut kontributor prediksi (Number Children at Home, Yearly
Income, Total Children, Occupation, Commute Distance, Number Cars Owned, Education, Age, Marital
Status, House Owner Flag, Region). Sebaliknya Microsoft Decision Tree memperhitungkan relasi antar
atribut (lihat kembali Gambar 3.4.1).
Bentuk tugas dasar yang dilakukan oleh algoritma Naïve Bayes adalah hanyalah klasifikasi.
10. Kembali kepada Gambar 3.4.1, pilih TM Naïve Bayes pada combo box Mining Model dan Microsoft Naïve
Bayes Viewer pada combo box Viewer. Anda akan dihadirkan dengan 4 sub tab (Dependency Network,
Atribut Profile, Atribut Characteristics, Atribut Discrimination) seperti pada Gambar 3.4.6 di bawah ini :
Gambar 3.6 Tampilan 4 Sub Tab pada Algoritma Naïve Bayes
Penggunaan dan intrepetasi informasi di bagian sub tab Dependency Network telah diulas pada sub bab
3.4.1. Mari tinjau ketiga sub tab lainnya.
11. 3.4.3.1 Attribute Profiles
Gambar 3.7 Tampilan Sub Tab Attribute Profiles
Sub tab attribute profiles menampilkan atribut kontributor prediksi yang bisa dilihat pada kolom
Attributes, namun itu tergantung pilihan yang muncul pada combo box Predictable (dalam solusi ini
hanya terdapat 1 atribut yang diprediksi yaitu atribut BikeBuyer). Terdapat pengelompokan untuk tiap
atribut kontributor prediksi seperti atribut Age memiliki 5 buah pengelompokan, atribut Marital Status
memiliki 3 buah pengelompokan dan seterusnya. Mari kita lihat salah satu atribut kontributor prediksi,
yaitu atribut Age. Kita ingin melihat distribusi kelompok umur yang memiliki nilai BikeBuyer = 1 (penulis
meng-click kolom 1 (kolom kelima dari kiri) dan pastikan centang check box “Show legend”). Dari
window Mining Legend terlihat kelompok umur 41-48 memiliki proporsi terbesar dalam pembelian
sepeda (BikeBuyer = 1).
3.4.3.2 Attribute Characteristics
Informasi yang ditampilkan pada sub tab Attribute Characteristics ini adalah menampilkan semua atribut
pendukung prediksi yang mungkin muncul pada atribut prediksi (BikeBuyer). Informasi yang ditampilkan
oleh sub tab ini dapat dilihat pada Gambar 3.8.
12. Gambar 3.8 Tampilan Sub Tab Attribute Characteristics
Pada Gambar 3.8, pastikan atribut BikeBuyer terpilih pada combo box Attribute dan nilai yang ingin
diprediksi adalah 1 pada combo box Value. Terlihat bahwa Number Children At Home = 0 memiliki
probabliitas yang terbesar yang mungkin muncul untuk atribut BikeBuyer = 1. Attribute Characteristics
akan menampilkan atribut pendukung prediksi dari probabilitas terbesar (atribut Number Children at
Home dengan nilai 0) sampai dengan probabilitas terkecil (atribut Age 70-75, scroll down ke bawah
karena tidak terlihat di Gambar 3.8).
3.4.3.3 Attribute Discrimination
Informasi yang ditampilkan pada sub tab Attribute Discrimination ini adalah kecenderungan nilai
attribute pendukung prediksi terhadap nilai atribut target prediksi (dalam sampel ini adalah atribut
BikeBuyer yang memiliki nilai atribut 0 dan 1). Gambar 3.9 menunjukkan atribut pendukung prediksi
berdasarkan input yang diberikan (pilih atribut BikeBuyer pada combo box Attribute, nilai 1 untuk
combo box Value 1, nilai 0 untuk combo box Value 2).
13. Gambar 3.9 Tampilan Sub Tab Attribute Discrimination
Kembali urutan atribut kontributor prediksi yang ditampilkan berdasarkan besar kontribusi prediksi
terhadap atribut BikeBuyer. Dari Gambar 3.9 terlihat bahwa customer dengan Number Cars Owned = 0
(tanpa kepemilikan mobil) sangat berpeluang membeli sepeda (BikeBuyer = 1), dimana detilnya bisa
dilihat pada window Mining Legend setelah di-click pada row pertama. Namun terlihat informasi juga
bahwa customer yang memiliki 2 kendaraan (Number Cars Owned = 2) sangat berpeluang tidak membeli
sepeda. Semakin kebawah besar probabilitas atribut semakin kecil.
Sehingga dapat dikatakan bahwa Attribute Discrimination akan menampilkan besar peluang dari atribut
kontributor prediksi baik yang mendukung prediksi yang diharapkan (BikeBuyer = 1) maupun prediksi
yang tidak diharapkan (BikeBuyer = 0).
3.4.4 Microsoft Clustering
Algoritma Microsoft Clustering ini akan membuat beberapa cluster data dan cluster data tersebut
terhubung satu dengan lainnya. Setelah cluster tersebut terbentuk dan meneria input atribut yang akan
diprediksi beserta nilainya (misal : BikeBuyer = 1), algoritma ini akan menganalisa setiap cluster
berdasarkan input yang diterima dan akan menampilkan atribut kontributor prediksi yang paling
mempengaruhi dari setiap cluster.
Masih di dalam data mining model Targeted Mailing.dmm, pilih tab Mining Model Viewer, pilih TM
Clustering pada combo box Mining Model dan pastikan Microsoft Cluster Viewer terpilih di combo box
Viewer. Terdapat 4 sub tab untuk Microsoft Clustering yaitu Cluster Diagram, Cluster Profiles, Cluster
Characteristics, dan Cluster Discrimination. Gambar 3.10 menampilkan apa yang muncul ketika kita
melakukan langkah-langkah yang telah dijabarkan sebelumnya.
14. Gambar 3.10 Tampilan Cluster Diagram Algoritma Microsoft Clustering
Bentuk tugas dasar yang dilakukan oleh algoritma Clustering adalah hanyalah segmentasi, namun
mencakup pula tugas dasar regresi dan klasifikasi.
Mari kita bahas lebih lanjut setiap sub tab pada sub bab di bawah ini.
3.4.4.1 Cluster Diagram
Cluster Diagram menampilkan informasi karakteristik setiap cluster ketika user memilih atribut yang
hendak dianalisa misalnya BikeBuyer=1. Kemudian pilih BikeBayer di dalam combo box Shading Variable
dan pilih nilai 1 pada combo box State. Hasilnya terlihat pada gambar 3.10. Makin gelap warna suatu
cluster, makin mendominasi nilai atribut BikeBuyer = 1. Click kanan pada Cluster 3 dan pilih Rename
Cluster pada context menu, namakan BikeBuyer = 1. Hasilnya ditampilkan seperti pada gambar 3.11.
15. Gambar 3.11 Hasil Tampilan Clustering Setelah Rename
Berikutnya kita masuk ke sub tab kedua, Cluster Profiles.
3.4.4.2 Cluster Profiles
Hampir serupa dengan fungsi pada sub tab Attribute Profiles di Algoritma Naïve Bayes, dimana kita bisa
melihat distribusi nilai setiap kelompok yang ada pada setiap atribut. Perbedaannya adalah attribute
profiles di Naïve Bayes menampilkan nilai atribut yang diprediksi (nilai missing, 0, dan 1), sebaliknya
cluster profiles di Microsoft Clustering menampilkan semua cluster yang ada di Cluster Diagram.
Selengkapnya bisa bandingkan gambar 3.12 (Microsoft Clustering) dengan gambar 3.7 (Microsoft Naïve
Bayes).
16. Gambar 3.12 Distribusi Nilai Setiap Atribut Pada Cluster BikeBuyer = 1
Di dalam cluster BikeBuyer = 1, kita bisa melihat karakteristik setiap kelompok untuk setiap atribut.
3.4.4.3 Cluster Characteristics
Cluster Characteristics memiliki fungsi yang sama seperti pada Attribute Characteristics di pembahasan
Microsoft Naïve Bayes. Perbedaannya adalah analisa karakteristik terhadap cluster seperti yang terlihat
pada gambar 3.13.
17. Gambar 3.13 Cluster Characteristics pada Cluster : BikerBuyer = 1
3.4.4.4 Cluster Discrimination
Fungsi Cluster Discrimination pada algoritma Microsoft Clustering sama seperti Attribute Discrimination
pada algoritma Microsoft Naïve Bayes. Bila kita amati di gambar 3.14, Cluster Discrimination akan
membandingkan nilai atribut yang paling membedakan antara cluster pertama (cluster BikeBuyer = 1)
dan cluster kedua (cluster 1).
18. Gambar 3.14 Cluster Discrimination antara Cluster BikeBuyer = 1 dan Cluster 1
Cluster Discrimination dapat membandingkan semua cluster selain cluster yang kita pilih pada combo
box Cluster 1. Misalnya pada combo box Cluster 1 dipilih cluster BikeBuyer =1 maka pada combo box
Cluster 2 tersedia pilihan Complement of BikeBuyer = 1 (semua cluster selain cluster BikeBuyer = 1).
3.4.5 Microsoft Association Rules
Microsoft Association Rules merupakan implementasi terhadap tugas dasar asosiasi. Lebih lanjut
asosiasi ini melibatkan 2 atau lebih item yang saling berasosiasi. Arah asosiasi pun terdiri atas 2
kemungkinan, asosiasi 1 arah atau asosiasi 2 arah. Item baik yang berdiri sendiri maupun berpasangan
dengan item lainnya dinamakan itemset.
Contoh 2 itemset yang memiliki asosiasi 1 arah adalah item notebook dan item tas notebook, bila
seorang customer membeli notebook maka kemungkinan besar juga menghendaki tas notebook, namun
belum tentu kemungkinan yang sama terjadi sebaliknya (membeli tas notebook belum tentu
menghendaki notebook juga).
Sedangkan 2 itemset yang memiliki asosiasi 2 arah adalah pembelian buku business intelligence
kemungkinan juga tertarik dengan buku reporting services atau sebaliknya.
Bentuk tugas dasar yang dilakukan oleh algoritma Association Rule adalah asosiasi.
19. Contoh penerapan asosiasi bisa ditemui pada mining model Market Basket.dmm di solusi analysis
services AdventureWorks DW 2008 seperti yang terlihat pada window panel Solution Explorer di Visual
Studio (gambar 3.15).
Gambar 3.15 Contoh Association Rules pada Mining Model Market Basket
Double click pada mining model tersebut (gambar 3.15) untuk memunculkan designer mining model,
kemudian pilih tab Mining Model Viewer. Secara otomatis terpilih Association di combo box Mining
Model karena hanya 1 jenis algoritma yang diimplementasikan untuk mining model Market Basket
tersebut. Selengkapnya bisa dilihat pada gambar 3.16.
20. Gambar 3.16 Contoh Association Rules pada Mining Model Market Basket
Didalam tab Mining Model Viewer terdapat 3 sub tab yaitu : Rules, Itemsets, dan Dependency Network.
3.4.5.1 Itemsets
Tampilan sub tab Itemsets bisa dilihat pada gambar 3.17.
Gambar 3.17 Tampilan Sub Tab Itemsets
Terlihat kolom Itemset menampilkan deskripsi item terkait. Kolom Support menunjukkan jumlah kasus
yang melibatkan itemset terkait. Kolom Size menampilkan jumlah anggota untuk itemset tersebut.
3.4.5.2 Rules
Seperti yang terlihat di gambar 3.16, rules memberikan informasi keterkaitan antar itemset. Terdapat 3
kolom yaitu Probability, Importance dan Rule.
Kolom Probability memberikan informasi prediksi asosiasi suatu itemset dengan itemset lainnya. Bila
nilainya 1 maka yang terjadi adalah kepastian (probability = 100%).
Kolom Importance menunjukkan seberapa bergunakah rule tersebut dalam menghadirkan prediksi. Nilai
importance yang rendah menunjukkan bahwa rule tersebut tidak begitu penting dalam menentukan
prediksi.
3.4.5.3 Dependency Network
Sub tab yang ketiga adalah Dependency Network. Sama seperti gambar 3.2 (pada pembahasan
mengenai algoritma Microsoft Decision Tree), sub tab ini menunjukkan keterkaitan antar itemset
individual. Informasi mengenai asosiasi 1 arah maupun asosiasi 2 arah akan terlihat pada sub tab ini.
21. 3.4.6 Microsoft Sequence Clustering
Algoritma Sequence Clustering ini dikembangkan oleh tim riset Microsoft. Algoritma ini merupakan
implementasi dari tugas dasar Sequence Analysis, meskipun tugas dasar segmentasi mungkin bisa
diterapkan lewat algoritma ini. Untuk mengetahui apa itu sequence analysis, silahkan membaca kembali
pada pembahasan sub bab 3.2.5.
Elemen dasar dari algoritma ini adalah node, transisi berarah (directed transition) dan probabiitas
transisi dari setiap node. Contoh kombinasi 4 node dapat dilihat pada gambar 3.18.
Gambar 3.18 Kombinasi Node, Transisi Berarah dan State Transition
Untuk node A, terdapat 4 arah menuju ke node lainnya atau bisa menuju ke diri sendiri. Probabilitas
node A transisi ke node B adalah 35% (0.35), ke node C adalah 30%, dan seterusnya. Hal yang sama
terjadi pada node B, node C dan node D.
Contoh implementasi algoritma ini dapat dijumpai pada mining model Sequence Clustering di sampel
solusi analysis services AdventureWorks DW 2008. Double click pada mining model Sequence Clustering
seperti yang ditunjukkan pada gambar 3.19.
22. Gambar 3.19 Mining Model Sequence Clustering
Terlihat pada gambar 3.20 terdapat 5 sub tab yaitu Cluster Diagram, Cluster Profiles, Cluster
Characteristics, Cluster Discrimination dan State Transitions. 4 sub tab pertama sama fungsinya seperti
pada sub tab di Microsoft Clustering. 1 sub tab yang spesifik untuk algoritma Sequence Clustering yaitu
sub tab State Transitions.
23. Gambar 3.20 Designer Algoritma Sequence Clustering
Pilih sub tab State Transitions, pilih node Water Bottle dan naikkan slider sampai ke All Links seperti
terlihat pada gambar 3.21.
24. Gambar 3.21 State Transitions pada Node Bottle Water
Terlihat nilai probabilitas transisi dari nodeWater Bottle ke node yang lain maupun ke node Water Bottle
sendiri. State transition pada gambar 3.18 merupakan bentuk sederhana dari real world state transition
di gambar 3.21.
3.4.7 Microsoft Time Series
Algoritma time series merupakan algoritma yang mampu memberikan prediksi terhadap suatu aktivitas
yang dipengaruhi waktu seperti penjualan sales dari waktu ke waktu.
Algoritma ini merupakan penggabungan sub algoritma ARTxp yang dikembangkan oleh Microsoft dan
sub algoritma ARIMA yang dikembangkan oleh Box dan Jenkins sehingga memberikan prediksi yang
lebih tepat untuk jangka pendek dan jangka panjang. Algoritma ARIMA merupakan algoritma yang
menjadi diterima secara luas dan menjadi standar industry. ARIMA memiliki kemampuan prediksi yang
lebih baik untuk jangka panjang sedangkan algoritma ARTxp memiliki kemampuan prediksi yang baik
untuk jangka pendek.
Contoh implementasi Microsoft Time Series bisa dijumpai pada mining model Forecasting.dmm, sampel
projek analysis service AdventureWorks DW 2008. Di window panel Solution Explorer di Visual Studio,
double click mining model Forecasting.dmm seperti yang terlihat di gambar 3.22.
25. Gambar 3.21 Mining Model Forecasting (Forecasting.dmm)
Di dalam designer untuk mining model Forecasting.dmm, pilih tab Mining Model Viewer. Didalamnya
terdapat 2 sub tab yaitu Charts dan Model. Sub tab Model mirip seperti sub tab Decision Tree di
algoritma Microsoft Decision Tree. Sub tab Charts menampilkan grafik yang digunakan untuk prediksi
tingkat penjualan Sales untuk setiap wilayah (Region).
26. Gambar 3.22 Grafik Prediksi untuk Microsoft Time Series
Terlihat di gambar 3.22, diambil contoh prediksi penjualan di tahun 200408 (garis putus-putus), data
yang tersedia sampai dengan bulan July 2004 (200407) yang diwakili dengan garis tanpa putus-putus.
Untuk menuju kepada prediksi bulan-tahun yang diinginkan bisa dengan langsung meng-click di grafik
tersebut.
Tugas dasar yang dilakukan oleh algoritma ini adalah regresi.
3.4.8 Microsoft Neural Network
Algoritma Microsoft Neural Network dikembangkan sejak tahun 1960-an. Ide dasar ini datang dari cara
kerja syaraf manusia, dimana urat syaraf tersusun atas banyak neuron yang menghantarkan sinyal
rangsangan dari dan ke otak. Algoritma ini menerima input dari masing-masing atribut yang kemudian
dikombinasi dengan nilai atribut lainnya untuk menghasilkan hasil prediksi seperti yang digambarkan
pada gambar 3.22.
27. Number Cars
Owned = 0
Age = 30 BikeBuyer = 1
Marital
Status = N
Gambar 3.23 Ilustrasi Algorima Neural Network
Setiap node memiliki struktur internal seperti yang terlihat di gambar 3.23 yang terdiri atas fungsi
kombinasi dan fungsi aktivasi. Fungsi kombinasi akan menerima nilai atribut atau nilai node lainnya. Nilai
masing-masing input mungkin memiliki bobot yang tidak sama ketika di proses oleh fungsi kombinasi.
Hasil dari fungsi kombinasi diteruskan ke fungsi aktivasi. Fungsi aktivasi akan menghasilkan output dari
node tersebut yang diteruskan ke node lainnya atau mungkin menjadi hasil akhir prediksi.
input
dari node lain
fungsi fungsi
kombinasi aktivasi
input dari menuju ke node berikutnya.
node lain
Gambar 3.24 Struktur Internal Setiap Node
Adapun tugas dasar tercakup oleh algoritma ini adalah klasifikasi dan regresi.
Contoh penggunaan Microsoft Neural Network bisa dijumpai pada mining model Targeted Mailing.dmm,
masuk pada tab Mining Model Viewer dan pilih TM Neural Net di combo box Mining Model dan
Microsoft Neural Network Viewer di combo box Viewer seperti yang terlihat di gambar 3.25.
28. Gambar 3.25 Contoh Penerapan Microsoft Neural Network
Tampilan informasi untuk Microsoft Neural Network sama seperti sub tab Attribute Discrimination di
pembahasan algoritma Naïve Bayes (sub bab 3.4.3.3).
3.4.9 Microsoft Logistic Regression
Algoritma ini merupakan turunan dari algoritma Microsoft Neural Network. Algoritma ini melibatkan
fungsi matematika transformasi logistik yand digunakan untuk mengurangi nilai ekstrim di dalam
algoritma tersebut. Algoritma ini mampu menghasilkan lebih dari 1 prediksi seperti prediksi
kemungkinan customer membeli sepeda dan kemungkinan tidak.
Tugas dasar yang dilakukan oleh algoritma ini adalah regresi.
3.5 Data Mining Extension (DMX)
Data mining memiliki bentuk SQL tersendiri yang dinamakan DMX (Data Mining Extension). Lewat DMX,
prediksi dapat dilakukan terhadap algoritma mining model yang tersedia. Prediksi DMX dapat dilakukan
secara grafis maupun secara query langsung. Secara grafis dapat melalui SQL Server Management Studio
(SSMS) maupun lewat Visual Studio.
Lewat SSMS, di window panel Object Explorer (bila tidak terlihat Object Explorer, pilih menu View >
Object Explorer), click tombol Connect, dan pilih Analysis Services seperti yang terlihat di gambar 3.26.
29. Gambar 3.26 Connect ke Analysis Services
Pilih nama server analysis service di window dialog Connect To Server dan tekan tombol Connect.
Kemudian Expand folder Databases, expand database Adventure Works DW 2008, expand folder Mining
Structures. Di dalam folder Mining Structures, terdapat beberapa data mining, sebagai contoh pilih
Targeted Mailing dan click kanan untuk memunculkan context menu, dan pilih Build Prediction Query
seperti yang terlihat di gambar 3.27.
30. Gambar 3.27 Penggunaan DMX secara Grafis
Terlihat di gambar 3.28, designer untuk melakukan DMX secara grafis.
31. Gambar 3.28 Designer DMX
Mari kita hands-on bagaimana penggunaan DMX secara grafis. Dari gambar 3.28, tekan tombol Select
Model di sub window Mining Model. Akan muncul window Select Mining Model, expand Targeted
Mailing. Di dalam data mining Targeted Mailing terdapat 4 jenis implementasi algoritma, sebagai hands-
on, penulis memilih TM Decision Tree dan tekan tombol OK seperti yang terlihat di gambar 3.29.
32. Gambar 3.29 Pemilihan Algoritma untuk Prediksi
Di sub window Select Input Table(s) (gambar 3.30), pilih tombol Select Case Table yang akan
memunculkan window dialog Select Table. Pilih item di dalam combo box Data Source dimana terdapat
data yang akan dilakukan prediksi, kemudian di dalam kolom Table/View Name, pilih Customer (dbo)
dan tekan tombol OK.
33. Gambar 3.30 Pemilihan Sumber Data yang Menjadi Target Prediksi
Secara otomatis, analysis service melakukan mapping antara mining model dengan case table seperti
yang terlihat di gambar 3.31. Periksa apakah mapping tersebut sudah benar, bila ada mapping yang
kurang tepat atau tidak diperlukan bisa memilih pada garis mapping tersebut, dan tekan tombol Delete
atau bila hendak menambahkan mapping bisa drag dari kolom di sub window Mining Model ke kolom
yang ada di sub window Select Input Table(s).
34. Gambar 3.31 Mapping Kolom antara Mining Model dengan Input Table(s)
Di dalam data grid yang tersedia (dibawah kedua sub window), anda bisa memasukkan kolom yang ingin
ditampilkan beserta kolom yang ingin di prediksi (dalam contoh ini adalah field Bike Buyer dengan
Criteria = 1). Untuk setiap row di dalam data grid, pemilihan dimulai pada kolom Source, yang diikuti
oleh kolom-kolom lainnya. Selengkapnya dapat dilihat pada gambar 3.32.
35. Gambar 3.32 Pemilihan informasi Yang akan ditampilkan dengan Prediksi BikeBuyer = 1
Bila sudah dirasa mencukupi, di bagian kanan atas pada designer Targeted Mailing di gambar 3.32,
terlihat 3 buah tombol, pilih tombol ketiga dari kiri seperti pada gambar 3.34.
Gambar 3.34 Tombol Designer Mode, Text Mode, View Result Mode
Hasilnya bisa terlihat pada gambar 3.35.
36. Gambar 3.35 Tampilan Hasil Prediksi
Anda bisa melihat bentuk query DMX dengan memilih tombol kedua di gambar 3.34, query-nya akan
terlihat seperti di gambar 3.36.
37. Gambar 3.36 Query DMX
Dari gambar 3.36 terlihat keyword yang menjadi karakteristik query DMX seperti PREDICTION JOIN.
Terdapat jenis-jenis join selain PREDICTION JOIN yang akan diulas pada sub bab 3.5.1 sampai dengan sub
bab 3.5.4. Kembali ke pembahasan mengenai query grafis lewat SSMS, di query DMX, penulis bisa
merubah query DMX yang dikehendaki yang menjadi keterbatasan di modus designer. Sebagai contoh
penulis bisa menggabungkan firstname dan lastname menjadi satu kolom seperti terlihat pada gambar
3.37.
38. Gambar 3.37 Manipulasi Query DMX
Eksekusi dengan menekan tombol query view (tombol ketiga pada gambar 3.34), hasilnya terlihat pada
pada gambar 3.38.
Gambar 3.38 Hasil Manipulasi Query DMX
Dengan cara yang hampir sama, analisa prediksi dapat dilakukan di Visual Studio. Buka sampel project
analysis services AdventureWorks DW 2008, di dalam window panel Solution Explorer expand folder
Mining Structures, dan double click data mining Targeted Mailing.dmm. Setelah tampil designer untuk
Targeted Mailing, pilih sub tab Mining Model Prediction. Hasilnya seperti yang terlihat di dalam gambar
3.39.
39. Gambar 3.39 Bentuk Tampilan Designer untuk Prediksi Data Mining di Visual Studio
Cobalah lakukan cara serupa seperti yang sudah ditunjukkan lewat SSMS. Untuk tombol modus eksekusi
seperti yang terlihat di gambar 3.34, akan dijumpai dekat sudut kiri atas (bertuliskan SQL di gambar
3.39). Tombol kedua setelah tombol SQL adalah tombol SAVE, yang digunakan untuk menyimpan hasil
prediksi ke dalam tabel.
Pembahasan berikutnya akan membahas mengenai query DMX .
3.5.1 Syntax DMX dan Penggunaan Prediction Join
Syntax DMX secara umum adalah :
SELECT <list nama kolom>
FROM <mining model yang digunakan>
<tipe join>
<sumber data yang akan diprediksi>
ON <ekspresi join antara mining model dengan sumber data>
WHERE <ekspresi atribut yang akan diprediksi>
ORDER BY <ordering nama kolom yang dispesifikasikan di bagian SELECT>
Keterangan :
40. <tipe join> = tersedia PREDICTION JOIN, NATURAL PREDICTION JOIN, hanya PREDICTION JOIN yang
memerlukan ekspresi join (ON <eskpresi join antara mining model dengan sumber data>).
<sumber data> = biasanya merupakan tabel atau view yang akan diprediksi. Untuk terkoneksi ke sumber
data lewat Data Source/Data Source View, biasanya menggunakan OPENQUERY (<nama data source
atau data source view>, ‘<statement select ke tabel/view>’).
Contoh : OPENQUERY ([Adventure Works DW], ‘select [firstname],[lastname] from dbo.DimCustomer’)
Source data dapat berasal dari luar database analysis service. Untuk penggunaan OPENQUERY
selengkapnya, silahkan melihat di dalam SQL Server Books Online.
Sebagai contoh dimana diminta menampilkan nama customer yang kemungkinan membeli sepeda
(BikeBuyer = 1) dan hasil yang dinginkan diurutkan berdasarkan nama depan. Dengan menggunakan
mining model TM Decision Tree pada data mining Targeted Mailing (refer ke gambar 3.28 dan 3.29)
maka querynya adalah :
SELECT
t.[FirstName],
t.[LastName]
From
[TM Decision Tree]
PREDICTION JOIN
OPENQUERY([Adventure Works DW], 'SELECT [FirstName], [LastName], [Gender], [CustomerKey],
[MaritalStatus], [YearlyIncome], [TotalChildren], [NumberChildrenAtHome], [HouseOwnerFlag],
[NumberCarsOwned], [CommuteDistance] FROM [dbo].[DimCustomer]') AS t
ON
[TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
[TM Decision Tree].[Gender] = t.[Gender] AND
[TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
[TM Decision Tree].[Total Children] = t.[TotalChildren] AND
[TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
[TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
[TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned] AND
[TM Decision Tree].[Commute Distance] = t.[CommuteDistance]
WHERE
[TM Decision Tree].[Bike Buyer] =1
ORDER BY t.[FirstName] ;
41. Perhatikan huruf yang penulis sengaja tebalkan untuk menegaskan penggunaan sintax query DMX. Hal
yang menjadi perhatian adalah kriteria dibagian ON yang menunjukkan mapping antara atribut di mining
model terhadap kolom di tabel sumber data seperti yang ditunjukkan di gambar 3.31. Untuk
mengeksekusi query di atas, anda bisa eksekusi di SSMS. Caranya adalah tekan tombol query DMX yang
terlihat di gambar 3.40.
Gambar 3.40 Tombol Query DMX (keempat dari kiri)
Berikutnya muncul window dialog Connect to Analysis Service, masukkan nama analysis server anda,
dan tekan tombol Connect. Terdapat beberapa item di combo box Mining Model, pilih TM Decision Tree
seperti yang ditunjukkan di gambar 3.41.
42. Gambar 3.41 Pemilihan Mining Model untuk Prediksi
Copy paste query DMX (diatas gambar 3.40) ke dalam designer window data mining dan tekan tombol
. Hasilnya terlihat seperti pada gambar 3.42.
Gambar 3.42 Eksekusi Query DMX di SSMS
3.5.2 Natural Prediction Join
Natural prediction join hampir sama halnya seperti prediction join namun tanpa ada kriteria mapping
secara eksplisit antara atribut di mining model dengan kolom dari sumber yang akan diprediksi
melainkan mapping secara implicit. Mapping secara implisit dimungkinkan bila nama atribut di mining
model dan nama kolom dari sumber data.
Contoh query pada sub bab 3.6.1 bila dituliskan dengan menggunakan natural prediction join menjadi :
SELECT
t.[FirstName],
t.[LastName]
From
[TM Decision Tree]
NATURAL PREDICTION JOIN
OPENQUERY([Adventure Works DW],
43. 'SELECT [FirstName], [LastName], [Gender], [CustomerKey],
[MaritalStatus] AS [Marital Status],
[YearlyIncome] AS [Yearly Income],
[TotalChildren] AS [Total Children],
[NumberChildrenAtHome] AS [Number Children At Home],
[HouseOwnerFlag] AS [House Owner Flag],
[NumberCarsOwned] AS [Number Cars Owned],
[CommuteDistance] AS [Commute Distance] FROM [dbo].[DimCustomer]') AS t
WHERE
[TM Decision Tree].[Bike Buyer] =1
ORDER BY t.[FirstName] ;
3.5.3 Empty Prediction Join
Jenis join ini tidak melakukan mapping baik eksplisit maupun implisit dan informasi nama kolom yang
ditampilkan di dalam SELECT hanya kolom yang menjadi target prediksi di dalam mining model. Berikut
contoh penggunaan empty prediction join.
SELECT [Bike Buyer]
FROM [TM Decision Tree];
Bila ditambahkan atribut lain seperti [Marital Status] di bawah ini:
SELECT [Bike Buyer], [Marital Status]
FROM [TM Decision Tree];
Akan memberikan pesan error bahwa hanya atribut yang bersifat predictable (menjadi target prediksi di
dalam mining model) yang bisa ditampilkan di dalam SELECT
Error (Data mining): Only a predictable column (or a column that is
related to a predictable column) can be referenced from the mining
model in the context at line 1, column 22.
3.5.4 Query Singleton
Query prediction join dan natural prediction join menerima data yang akan diprediksi lebih dari 1 row,
sebaliknya query singleton hanya menerima data yang bersifat hard-coded. Berikut contoh penggunaan
query singleton
SELECT
t.[First Name], t.[Last Name], [TM Decision Tree].[Bike Buyer]
From
[TM Decision Tree]
NATURAL PREDICTION JOIN
44. (
select
'Ali' AS [First Name],
'Santoso' AS [Last Name]
'N' AS [Marital Status],
'M' AS [Gender],
100000 AS [Yearly Income],
0 AS [Total Children],
0 AS [Number Children At Home],
1 AS [House Owner Flag],
1 AS [Number Cars Owned],
'10+ Miles' AS [Commute Distance]
) AS t;
Hasil eksekusi seperti terlihat pada gambar 3.43.
Gambar 3.42 Eksekusi Query Singleton di SSMS
3.6 Delivery Data Mining
Data mining tidak akan banyak berguna bila tidak bisa diakses oleh pengguna awam. Oleh sebab itu,
Microsoft menyediakan beberapa cara menghadirkan fitur data mining ke pengguna lewat SQL Server
Reporting Services maupun Microsoft Excel. Berikut ini ditunjukkan cara menampilkan data mining lewat
reporting services.
3.6.1 Delivery Data Mining lewat SQL Server Reporting Services
Contoh skenario dimana dibutuhkan report yang mengandung daftar nama calon customer yang
berpotensial membeli sepeda (BikeBuyer = 1) yang dibutuhkan oleh bagian marketing perusahaan ABC.
Penulis akan menunjukkan cara membuat report data mining dengan menggunakan reporting services.
Reporting Services akan dibahas selengkapnya pada bab 4.
Berikut langkah-langkah pembuatan report bersumberkan data mining.
1. Buka Microsoft Visual Studio 2008.
2. Di dalam Visual Studio pilih menu File > New > Project, akan muncul window dialog New Project
3. Di bagian kiri terdapat Project Types, pilih Business Intelligence Project.
4. Di bagian kanan terdapat Visual Studio Installed Templates, pilih Report Server Project.
5. Di textbox Name berikan nama project, misal : BikeBuyerList lalu tekan tombol OK
6. Di window panel Solution Explorer, klik kanan pada folder Reports dan pilih Add New Report
pada context menu yang muncul yang selanjutnya akan muncul window dialog Report Wizard.
45. 7. Di bagian Welcome to the Report Wizard, tekan tombol Next seperti yang ditunjukkan pada
gambar di bawah ini.
8. Di bagian Select the Data Source, pilih Microsoft SQL Server Analysis Services di combo box Type
dan tekan tombol Edit.
46. 9. Di window dialog Connection Properties, masukkan Server Name untuk analysis services dan
juga nama database analyss service lalu tekan tombol Test Connection.
47. 10. Bila koneksi berhasil tersambung ke nama server dan database analysis service maka akan
muncul pesan sukses atau gagal. Bila gagal, ulangi langkah 9 dan 10 sampai berhasil dilakukan
koneksi. Setelah berhasil tekan tombol OK di window dialog Test Results dan tekan tombol OK di
window dialog Connection Properties.
48. 11. Terlihat pada gambar di bawah ini, connection string untuk analysis services yang anda tuju dan
tekan tombol Next untuk melanjutkan ke langkah berikutnya.
49. 12. Di bagian Design the Query, tekan tombol Query Builder untuk membuat query DMX secara
grafis maupun secara manual.
50. 13. Muncul window dialog Query Designer, pilih toolbar data mining (yang disorot pada gambar di
bawah ini).
51. 14. Muncul pesan konfirmasi “Switching from MDX to CMX will result in losing all current design
context. Do you want to proceed?”. Untuk konfirmasi ini, pilih YES.
52. 15. Di window Query Designer, tentukan mining model dengan menekan tombol Select Model.
53. 16. Di window dialog Select Mining Model, pilih TM Decision Tree yang ada di bwah Targeted
Mailing, database analysis service Adventure Works DW 2008 dan tekan tombol OK untuk
kembali ke window dialog Query Designer.
54. 17. Di window dialog Query Designer, pilih tombol Select Case Table. Case table adalah sumber data
yang ingin anda prediksi customer yang akan membeli produk sepeda.
55. 18. Tentukan Data Source (Adventure Works DW) dan juga sumber data di Table/View Name
(Customer (dbo)) lalu tekan OK.
60. 23. Di bagian Choose the Table Style, pilih tampilan report yang anda inginkan, lalu tekan tombol
Next.
61. 24. Di bagian akhir Completing the Wizard, masukkan nama report (misalnya : List of Potential Bike
Buyer) kemudian tekan tombol Finish.
62. 25. Di Visual Studio terlihat tampilan designer report anda. Report data mining tersebut bisa di
preview di Visual Studio dengan menekan tab kedua (Preview)
63. 26. Terlihat daftar calon customer yang diprediksi akan membeli produk sepeda.
64. 3.6.2 Delivery Data Mining lewat Microsoft Excel
Bentuk penggunaan data mining oleh pengguna awam dimungkin lewat Microsoft Excel. Versi excel
yang penulis gunakan adalah excel 2007. Untuk terkoneksi ke SQL Server 2008 analysis service, anda
memerlukan SQL Server 2008 Data Mining Add-Ins for Excel 2007. Link untuk mendownload dapat anda
temui di http://www.microsoft.com/sqlserver/2008/en/us/data-mining-addins.aspx, di dalam web page
tersebut anda bisa melihat demo video mengenai penggunaan add-in tersebut.
3.7 Pembuatan Mining Model
Sejauh ini dijabarkan penggunaan mining model pada sampel project analysis service Adventure Works
DW 2008, namun bagaimana pembuatan mining model dengan memanfaatkan algoritma yang tersedia
di SQL Server 2008?
65. Berikut cara pembuatan mining model di sampel project analysis service yang akan dipandu langkah
demi langkah.
1. Buka Visual Studio 2008.
2. Buka sampel project analysis service Adventure Works DW 2008.
3. Klik kanan pada folder Mining Structures dan pilih New Mining Structures seperti yang
diperlihatkan pada gambar di bawah ini.
66. 4. Pada bagian informasi Welcome to the Data Mining Wizard, pilih tombol Next untuk maju ke
step berikutnya.
5. Pada bagian Select the Definition Method, terdapat 2 pilihan darimana sumber data untuk data
mining yang sedang kita buat. Pilihan pertama apabila sumber data mining berasal dari OLTP,
pilihan kedua apabila sumber data mining berasal dari OLAP cube. Untuk data mining yang
sedang dibuat, sumber datanya berasal dari OLTP, sehingga pilihan pertama yang dipilih, dan
tekan tombol Next untuk maju ke step berikutnya.
67. 6. Pada bagian Create the Data Mining Structure, terdapat 9 pilihan algoritma data mining. Sebagai
demo pada contoh ini, pilih Microsoft Decision Tree dan tekan tombol Next untuk melanjutkan.
68. 7. Pada bagian Select Data Source View, tentukan data source yang tersedia (dibagian Available
data source views) dan tentukan sumber data untuk data mining yang sedang di create (di panel
sebelah kanan, pilih vTargetMail) dan tekan tombol Next.
69. 8. Pada bagian Specify Table Types, pilih vTargetMail sebagai Case table dan tekan tombol Next.
Case table akan digunakan oleh data mining untuk menvalidasi keakuratan data mining dalam
melakukan prediksi.
70. 9. Di bagian Specify Training Data, pilih CustomerKey sebagai key, dan BikeBuyer sebagai
Predictable attribute (atribut yang akan menjadi diprediksi). Key di CustomerKey merupakan
unique key untuk setiap row. Setiap case (kasus) akan berkorespondensi terhadap setiap row.
Setelah memilih CustomerKey dan BikeBuyer tekan tombol Suggest untuk mengetahui atribut
apa saja yang diperkirakan berkontribusi dalam melakukan prediksi terhadap atribut BikeBuyer
berdasarkan sumber data yang diberikan.
71. 10. Di window dialog Suggest Related Columns, terdapat score untuk setiap kolom sumber data.
Anda bisa mengikutsertakan kolom mana saja yang dianggap berperan dalam menentukan
prediksi BikeBuyer dengan meng-click row yang bersangkutan di kolom Input sehingga terdapat
tanda X. Dan click tombol OK untuk kembali ke bagian Specify the Training Data di langkah 9.
72. 11. Terlihat kolom-kolom yang dipilih sebagai kontributor prediksi terpilih pada langkah 9. Anda
masih bisa melakukan perubahan pada. Bila sudah tidak ada perubahan, pilih tombol Next untuk
maju ke langkah berikutnya.
73. 12. Di bagian Specify Columns’ Content and Data Type terdapat atribut prediksi berserta atribut
contributor prediksi. Tekan tombol Detect.
74. 13. Terdapat perubahan sebelum dan sesudah tombol Detect ditekan. Perubahan dari Continuous
ke Discrete terjadi pada kolom Bike Buyer, Number Cars Owned, dan Number Children At Home.
Atribut Bike Buyer hanya terdapat sedikit cakupan nilai yaitu 0 dan 1 sehingga dipandang
memiliki nilai diskrit (pilihan Discrete), begitu juga untuk Number Cars Owned dan Number
Children At Home. Algoritma Microsoft Decision Tree membolehkan atribut kontributor prediksi
memiliki content type = Continuous namun ada algoritma seperti algoritma Naïve Bayes hanya
bisa menerima jenis data diskrit. Untuk atribut yang memiliki sifat continous seperti atribut
Yearly Income, maka dimungkinkan diskrit lewat pilihan Discretized. Content Type = Discretized
akan mengelompokkan Yearly Income kedalam beberapa grouping (misalnya group I (Yearly
Income antara 0 - $15,999), group II (Yearly Income antara ($16,000-$19,999) dan group III
(Yearly Income antara $20,000 - $40,000)). Dengan tipe kolom continuous dalam bentuk
discretized akan memudahkan analisa algoritma berdasarkan grouping.
Click tombol Next untuk maju ke langkah berikutnya.
75. 14. Di bagian Create Testing Set, tentukan porsi data yang digunakan untuk testing validasi
keakuratan sebuah data mining. Pilihan default adalah 30%, namun anda bisa melakukan
penyesuian persentase data testing, setelah itu tekan tombol Next.
76. 15. Di bagian akhir wizard, beri nama untuk data mining (misalnya: Bike Buyer) dan model data
mining (misalnya : Bike Buyer Decision Tree, berdasarkan algoritma yang dipilih pada langkah 6).
Dan tekan tombol Finish.
77. 16. Data mining Bike Buyer terlihat pada window panel Solution Explorer dan muncul designer
untuk data mining terkait dengan 5 tab yaitu tab Mining Structure, tab Mining Models, tab
Mining Model Viewer, tab Mining Accuracy Chart, dan tab Mining Model Prediction. Tab Mining
Model Viewer dan tab Mining Model Prediction telah dibahas pada sub bab sebelumnya. Tab
Mining Models, tab Mining Accuracy Chart akan dibahas pada step selanjutnya sambil meninjau
data mining yang telah dibuat (data mining Bike Buyer). Di dalam tab Mining Structure
diperlihatkan sumber data mining. Mari melihat algoritma data mining yang diimplementasikan
terhadap tab pertama (tab Mining Structure) dengan memilih tab kedua (tab Mining Models).
78. 17. Di dalam tab Mining Models (dilingkari pada gambar dibawah ini), terdapat 1 algoritma yang
diimplementasikan terhadap mining structure Bike Buyer yaitu Bike Buyer Decision Tree. Di
dalam tab ini dimungkinkan 1 mining structure terdapat beberapa implementasi algoritma.
Untuk menambah implementasi algoritma selain Bike Buyer Decision Tree dapat dilakukan
dengan menekan toolbar ketiga (dilingkari) yang memunculkan tooltip : “Create a related mining
model”.
79. 18. Muncul window dialog New Mining Model, pilih Microsoft Naïve Bayes pada combo box
Algorithm name dan beri nama mining model terkait dengan algoritma Naïve Bayes yang dipilih
(misalnya Bike Buyer Naïve Bayes) dan tombol OK.
19. Muncul pesan bahwa Microsoft Naïve Bayes tidak mendukung content type yang ada di dalam
mining structure karena atribut Age dan Yearly Income bertipe continuous. Oleh karena itu
Naïve Bayes akan mengabaikan atribut tersebut. Mengenai content type discrete, discretized
dan continous telah dijelaskan pada langkah 13.
80. Pilih Yes pada window dialog konfirmasi.
20. Di dalam tab Mining Models kini terdapat 2 mining model (yaitu Bike Buyer Decision Tree dan
Bike Buyer Naïve Bayes). Terlihat di dalam Naïve Bayes, atribut Age dan Yearly Income di set
Ignore.
21. Ubah Ignore menjadi Input untuk atribut Age dan Yearly Income seperti yang terlihat pada
gambar di bawah ini.
81. 22. Masuk kembali ke tab pertama (tab Mining Structure). Pilih atribut Age dan di bagian window
panel Properties terkait, ubah property Content dari Continuous ke Discretized. Lakukan hal
yang sama terhadap atribut Yearly Income.
82. 23. Kembali ke tab Mining Models. Anda bisa menambahkan beberapa algoritma yang lain sampai
cukup mining model yang ada. Langkah berikutnya adalah melakukan pemrosesan mining model
dengan menekan tombol pertama di toolbar yang diperlihatkan pada gambar di bawah ini.
83. 24. Terlihat di window panel Deployment Progress, analysis service melakukan deployment di
analysis server.
84. 25. Setelah deployment selesai, dilanjutkan dengan processing mining structure terhadap mining
model. Tekan tombol Run untuk menjalankan processing.
85. 26. Pada gambar dibawah ini, diperlihatkan proses processing sampai selesai. Setelah status :
Process succeeded muncul berarti processing telah selesai dan tekan tombol Close 2 kali untuk
kembali ke tab Mining Models.
86. 3.8 Validasi Mining Model
Sampai dengan langkah 26, data mining Bike Buyer telah selesai dibuat di proses. Pertanyaan yang
timbul adalah dengan adanya 2 mining model yang tersedia, mana yang lebih akurat dan seberapa
akuratkah untuk memprediksi customer yang akan membeli sepeda? Untuk menjawab pertanyaan
tersebut, Microsoft menyediakan tab ketiga yaitu Mining Accuracy Chart.
27. Seperti yang diperlihatkan di bawah gambar ini, terdapat 4 jenis sub tab yaitu sub tab Input
Selection, Lift Chart, Classification Matrix dan Cross Validation. Kita akan bahas penggunaan
setiap sub tab dimulai dengan sub tab Input Selection.
87. Di sub tab Input Selection, terlihat mining model yaitu Bike Buyer Decision Tree dan Naïve
Bayes. Karena atribut yang diprediksi hanya satu yaitu Bike Buyer maka hanya Bike Buyer yang
muncul pada kolom kedua (Predictable Column Name). Pada kolom Predict Value terdapat 2
kemungkinan (0 atau 1) untuk item yang dipilih pada kolom kedua (Predictable Column Name).
Apabila check box “Synchronize Prediction Columns and Values” di pilih, maka nilai Predict Value
di pilih pada salah satu mining model (Bike Buyer Decision Tree dalam contoh ini) akan berlaku
pada mining model lainnya (Bike Buyer Naïve Bayes).
Di bagian Select Data Set to be Used for Accuracy Chart, terdapat 3 pilihan untuk menvalidasi
keakuratan mining model yang telah kita buat, yaitu :
a. Use mining model test cases
Test case untuk mining model akan ditentukan ketika mendefiniskan persentasi training
data yang dilakukan pada langkah 14.
b. Use mining structure test cases
Test case ini akan menvalidasi apakah mining structure Bike Buyer sudah tepat untuk
memprediksi atribut BikeBuyer. Test case ini ditentukan ketika mendefinisikan sumber
data yang dilakukan pada langkah 11.
c. Specify a different data set
88. Opsi ketiga adalah kita mendefinisikan test case yang berasal dari sumber data yang lain
dengan memilih tombol … yang didekat opsi tersebut dan tentukan sumber data beserta
mapping kolom sumber data terhadap mining structure.
3.8.1 Sub Tab Lift Chart dengan Pilihan Lift Chart
28. Setelah menentukan nilai atribut yang akan diprediksi beserta sumber data dan jenis test case,
pilih sub tab kedua Lift Chart untuk melihat keakuratan kedua mining model yang telah dibuat.
Pada gambar di bawah ini terlihat Lift Chart dipilih di combo box Chart Type.
Di window Mining Legend terlihat Population Percentage : 49.50% yang mengacu pada sumbu X.
Interpretasi data dari window Mining Legend terhadap 2 mining model adalah sebagai berikut:
Untuk persentase data 49.50% dari jumlah data yang diproses, Bike Buyer Decision Tree
memiliki kemampuan prediksi 73.12% tepat ketimbang Bike Buyer Naïve Bayes (hanya 63.51%
tepat). Nilai keakuratan prediksi terlihat pada kolom Target Population (di window Mining
Legend dan juga di sumbu Y) dengan persentase populasi 49.50% (sumbu X).
89. 29. Untuk melihat nilai lain selain 49.50% pada Population Percentage dapat dilakukan dengan
meng-click area grafik. Sebagai contoh diperlihatkan pada gambar di bawah Population
Percentage 40% (39.60%), maka kemampuan prediksi pada Bike Buyer Decision Tree akan 63.3%
tepat dibandingkan Bike Buyer Naïve Bayes (53.7% tepat), dimana model yang ideal adalah
81.6% (ketepatan prediksi dengan populasi data yang diproses sebesar 40%). Tentu saja semakin
mendekati model ideal, semakin akurat sebuah data mining.
3.8.2 Sub Tab Lift Chart dengan Pilihan Profit Chart
Apakah Profit Chart itu? Profit Chart memberikan informasi aspek finansial yang diharapkan dari
aktivitas marketing untuk mencapai target yang diinginkan (Bike Buyer = 1, misalnya).
30. Masih dalam sub tab Lift Chart, pilih Profit Chart di combo box Chart Type. Muncul window
dialog Profit Chart Settings dengan input Population, Fixed Cost, Individual Cost dan Revenue
per Individual. Apa arti dari setiap input di dalam Profit Chart Settings?
90. a. Population
Artinya jumlah calon customer yang akan menjadi target aktivitas marketing. Misalnya
kita memiliki 100.000 calon customer. Dan budget yang tersedia hanya mampu
mengirimkan brosur sepeda ke sebanyak 30.000 customer maka masukkan nilai
tersebut ke input untuk Population.
b. Fixed cost
Adalah biaya tetap tanpa dipengaruhi oleh besaran Population.
c. Individual cost
Adalah biaya yang timbul dari setiap item di dalam Population.
d. Revenue per individual
Adalah hasil yang diharapkan dari setiap item population terhadap target prediksi.
Dalam contoh Bike Buyer = 1, calon customer yang membeli sepeda yang rata-rata
seharga $15.
Tekan tombol OK pada Profit Chart Settings.
31. Pada gambar di bawah ini, terlihat besaran Profit Chart maximum adalah $130.076,30 dengan
besaran populasi 84.16%. Besaran profit tidak akan lebih menguntungkan dengan besaran
populasi lebih dari 84.16%.
91. 3.8.3 Sub Tab Classification Matrix
Sub tab ketiga adalah sub tab Classification Matrix. Sub tab classification Matrix menunjukkan besaran
kesalahan prediksi terhadap case table/view.
32. Pada gambar di bawah ini, pada bagian yang ditandai dengan kotak diagonal warna merah,
ditunjukkan nilai prediksi 0 dengan nilai aktual 0, dan nilai 1 dengan nilai aktual 1. Interpretasi
dari pertemuan nilai yang sama antara kolom Predicted dan Actual di bagian diagonal
menunjukkan jumlah test case yang diprediksi secara tepat, sedangkan untuk bagian non
diagonal menunjukkan jumlah test case yang tidak diprediksi secara tepat.
92. Terlihat bahwa mining model Bike Buyer Decision Tree lebih banyak menghasilkan prediksi yang
tepat ketimbang mining model Bike Buyer Naïve Bayes.
3.8.4 Sub Tab Cross Validation
Sub tab keempat adalah sub tab cross validation. Sub tab ini melakukan perbandingan keakuratan
mining model terhadap mining structure.
33. Pilih sub tab keempat (sub tab Cross Validation). Pada gambar di bawah ini, tentukan nilai Fold
Count = 2, Max Cases = 30, Target Attribute = Bike Buyer, Target State = 1 dan Target Threshold
= 0.8 dan tekan tombol Get Results.
93. 34. Hasilnya terlihat analisa untuk mining model Bike Buyer Decision Tree dan Bike Buyer Naïve
Bayes terhadap mining structure. Berikut penjelasan dari setiap input di dalam sub tab Cross
Validation
a. Fold Count
Akan menentukan jumlah Partition Index. Satu partition index digunakan untuk testing
data sedangkan partition index yang lain (di dalam group partition index yang sama)
digunakan untuk training mining model sebelum dilakukan testing.
b. Max Cases
Jumlah maksimum test case yang dibagi merata untuk setiap group partition index. Pada
gambar diatas terlihat partition size adalah 15 untuk 2 partition index sehingga input
untuk max case diisi sebesar 30 test case.
c. Target Attribute
Atribut yang digunakan untuk prediksi. Dalam data mining BikeBuyer, atribut yang
digunakan sebagai target prediksi adalah Bike Buyer.
d. Target State
Nilai prediksi dari Target Attribute.
94. e. Target Threshold
Nilai minimum dimana suatu prediksi dianggap tepat. Kisaran nilainya antara 0 dan 1.
Dimana semakin mendekati 1 maka nilai probabilitasnya dianggap semakin tepat. Dalam
contoh ini penulis memasukkan nilai probabilitas minimum 0.8 merupakan indikasi
seorang customer mungkin akan membeli sepeda.
3.9 Rangkuman
SQL Server 2008 menghadirkan 9 algoritma data mining. Algoritma data mining dikombinasikan dengan
mining structure menghasilkan prediksi terhadap arah business ke depannya. Setelah data mining
dideploy dan diproses di analysis server, data mining siap digunakan untuk melakukan prediksi. Hasil
prediksi dapat dilakukan lewat SSMS, SQL Server Reporting Services maupun Microsoft Excel.
Query ke dalam data mining dilakukan lewat query DMX (Data Mining Extension). Query DMX dapat
dilakukan secara grafis maupun textual baik di Visual Studio maupun di dalam SSMS.
95. Bab 4
SQL Server 2008 Reporting Services (SSRS)
SQL Server Reporting Services (SSRS) adalah platform laporan berbasis server yang menyediakan
fungsionalitas pembuatan laporan untuk berbagai sumber data. SSRS terdiri dari kumpulan kakas yang
digunakan untuk membuat, mengatur dan mengirim laporan, dan API yang memudahkan developer
untuk mengintegrasikan laporan dengan aplikasi kustom.
Dengan SSRS, laporan dapat dibuat dalam bentuk tabular, grafikal dari sumber data relational (OLTP),
multidimensional (OLAP), atau bahkan XML. Kita dapat mem-publikasikan laporan, menjadual
pemrosesan laporan, atau mengakses laporan pada saat diinginkan. Dengan SSRS laporan ad hoc juga
dapat dibuat berdasarkan model yang didefinisikan, dan mengeksplorasi data secara interaktif
berdasarkan modelnya. Terdapat berbagai format untuk menampilkan dan mengekspor laporan ke
aplikasi lain, dan mensubskripsi report yang telah dipublikasi. Laporan dapat dilihat melalui koneksi web
atau sebagai bagian dari aplikasi Windows atau situs SharePoint.
Dalam kaitannya dengan BI, SSRS adalah fitur yang digunakan untuk menampilkan data dari database
multidimensional yang membantu melakukan analisis data.
4.1 Kakas SSRS
4.1.1 Report Designer
Report Designer adalah kakas yang digunakan untuk membuat laporan dalam bentuk tabular, matrix
chart, ataupun bentuk bebas. Report Designer diakses menggunakan BIDS.
4.1.2 Report Model Builder
Kakas ini digunakan untuk membuat, memodifikasi, dan mempublikasikan model laporan yang
digunakan sebagai dasar dari laporan ad hoc dari Report Builder. Report Model Designer diakses
menggunakan BIDS.
4.1.3 Report Builder
Report Builder adalah kakas yang digunakan untuk membuat laporan ad hoc dalam bentuk tabular,
matrix, dan chart. Apabila Report Designer ditujukan untuk orang-orang yang memahami dan terbiasa
dengan SQL statement, maka Report Builder dibuat agar orang yang tidak memahami SQL statement