bab ii - rev iii
TRANSCRIPT
BAB II
LANDASAN TEORI
Pada Bab ini meliputi Tinjauan teori atau tinjauan
pustaka berisi tentang teori-teori yang mendukung dan
berhubungan dengan penulisan Tugas Akhir. Teori-teori yang
berkaitan dengan dasar-dasar pemikiran dan pendefinisian
setiap elemen yang menjadi bagian pembahasan dari Tugas
Akhir ini, serta untuk menyelesaikan permasalahan yang
dihadapi untuk selanjutnya diterapkan dalam implementasi
program. Dalam menyelesaikan permasalahan tersebut
diperlukan berbagai teori-teori dan pandangan dasar dari
beberapa ahli. Pengertian dan teori-teori tersebut meliputi
beberapa hal di bawah ini.
2.1. Knowledge Discovery
Knowledge Discovery atau sering disebut Data mining
secara sederhana dapat dikatakan sebagai proses menggali
(mining) pengetahuan atau informasi yang berharga dari
sejumlah data baik yang disimpan didalam databases, data
warehouse maupun media penyimpanan informasi lainnya
(Han, Kamber, 2001).
II-1
II-2
2.2. Data Mining
2.2.1. Pengenalan Pola, Data Mining dan Machine Learning
Pengenalan pola adalah suatu disiplin ilmu yang
mempelajari cara-cara mengklasifikasikan obyek ke
beberapa kelas atau kategori dan mengenali kecenderungan
data. Tergantung pada aplikasinya, obyek-obyek ini bisa
berupa pasien, mahasiswa, pemohon kredit, gambar, sinyal
atau pengukuran lain perlu diklasifikasikan atau dicari fungsi
regresinya. Biasanya subyek ini disebut dengan pengenalan
pola atau patern recorgnition.
Data Mining, sering disebut juga Knowledge Discovery
in Database (KDD), adalah kegiatan yang meliputi
pengumpulan, pemakaian data historis untuk data berukuran
besar. Keluaran dari data mining ini bisa digunakan untuk
memperbaiki pengambilan keputusan dimasa depan.
Sehingga istilah pengenalan pola sekarang ini jarang
digunakan karena ia termasuk dari data mining.
Machine learning adalah suatu area dalam artificial
intelligence (kecerdasan buatan) yang berhubungan dengan
pengembangan teknik-teknik yang bisa diprogramkan dan
belajar dari data masa lalu. Pengenalan pola, data mining
dan machine learning sering dipakai untuk menyebut sesuatu
yang sama. Bidang ini bersinggungan dengan ilmu
probabilitas dan statistik kadang juga optimasi. Machine
learning menjadi alat analisis dalam data mining. Berikut ini
II-3
perbedaan yang bisa diberikan. Ini pun tidak jelas
membedakan karena masih ada area abu-abu.
Statistik, lebih berdasarkan teori, lebih fokus pada
pengujian hipotesis.
Machine learning, lebih bersifat heuristik, fokus pada
perbaikan performansi dari suatu teknik learning, juga
meliputi real-time learning dan robotic area yang tidak
termasuk data mining.
Data mining, gabungan teori dan heuristik, fokus pada
seluruh proses penemuan knowledge atau pola termasuk
data cleaning, learning, dan visualisasi dari hasilnya.
2.2.2. Supervised dan Unsupervised
Sebelum kita mempelajari teknik-teknik yang digunakan
dalam data mining, ada baiknya kita bedakan dulu metode
belajar (learning) secara garis besar ke dalam dua
pendekatan: supervised dan unsupervised. Dalam
pendekataan pertama, unsupervised learning, metode kita
terapkan tanpa adanya latihan (training) dan tanpa ada guru
(teacher). Guru disini adalah label dari data. Misalkan kita
punya sekelompok pengamatan atau data tanpa label (output)
tertentu, maka dalam unsupervised learning kita harus
mengelompokan data tersebut ke dalam beberapa kelas yang
kita hendaki. Ini terutama dilakukan karena data-data yang
II-4
memang tidak mempunyai label. Label menandakan kemana
data dilabelkan. Untuk melakukan tugas (task). Ini kita bisa
menerapkan metode unsupervised learning. Masuk kedalam
kelompok ini adalah classtering dan self organizing map
(SOM).
Sebagai contoh, ada sekelompok mahasiswa didalam
kelas. Seorang dosen akan mengelompokan beberapa orang
ini ke dalam beberapa kelompok. Misalkan jumlah kelompok
adalah empat. Maka mahasiswa ini bisa dikelompokan
menurut kesamaan ciri-ciri atau atribut. Mungkin mahasiswa
ini bisa dikelompokan berdasarkan nilai indeks prestasinya
atau jarak tempat tinggal mereka atau gabungan keduanya.
Dalam ruang dimensi sumbu-x ada sumbu-y dan jarak
tempat tinggal sebagai sumbu-y. Maka dengan teknik
unsupervised, mahasiswa sebagai objek dari tugas kita, bisa
dikelompokan dalm empat kelompok menurut kedekatan
indeks prestasinya dan jarak tempat tinggalnya.
Pengelompokan ini mengasumsikan bahwa, dalam satu
kelompok, anggota-anggotanya harus mempunyai kemiripan
atau kesamaan yang tinggi dibanding dengan anggota
kelompok lain. Ini sekedar contoh sederhana untuk
menjelaskan apa itu metode unsupervised. Sesuai namanya,
unsupervised tidak perlu dilatih (training) atau tidak perlu
seorang pelatih (teacher) dalam melakukan tugasnya (task).
Data dalam metode unsupervised tidak diketahui
keluarannya (output atau labelnya). Output inilah yang
II-5
dipakai sebagai guru dalam proses training untuk metode
supervised yang kita bahas berikut ini.
Gambar 2.2. Proses mencari hubungan antara variabel input,
x, dan output, y, dalam supervised learning (Santoso, 2007)
Sebagai alternatif dari cara belajar tanpa pelatih adalah
supervised learning yaitu metode belajar dengan adanya
latihan dan pelatih. Banyak teknik dalam pattern
recognation masuk dalam kategori ini. Sebagai contoh
adalah regresi, analisis diskriman (LDA). Artificial neural
network (ANN) dan support vector machine (SVM). Dalam
pendekatan ini, untuk menemukan fungsi keputusan, fungsi
pemisah atau fungsi regresi, kita menggunakan beberapa
contoh data yang mempunyai output atau label selama
proses training. Disini kita ingin menemukan fungsi yang
bisa dinyatakan sebagai y = / (x) , lihat gambar 2.1. Data
untuk mentraining kita sebut set training. Fungsi atau model
yang kita temukan kita uji dengan set data validasi. Ada
yang membagi 2 kelompok yaitu set training dan set testing.
Ada juga yang membagi menjadi 3 bagian yaitu set training,
validasi, dan testing. Fungsi set valiadasi dan testing
sebenarnya sama, yakni untuk menguji apakah fungsi atau
model kita sudah cukup bagus performansinya ketika
II-6
diterapkan untuk memprediksi. Jika performansi pada saat
validasi atau testing belum memenuhi harapan kita bisa
mengatur nilai parameter model untuk mendapatkan model
dengan performansi yang lebih baik. Setelah fungsi-fungsi
tersebut ditemukan dan performansinya cukup bagus,
kemudian kita bisa melakukan tugas untuk mengelompokan
obyek tertentu yang belum diketahui labelnya atau membuat
prediksi. Data untuk training dan testing terdiri dari
vektor/matrik input dan output(label). Matrik/vektor input
biasa diberi simbol X dan vektor output diberi simbol Y.
Dalam unsupervised learning kita tidak punya data output
atau Y.
Gambar 2.1. Pembagian data menjadi set training, validasi dan
testing (Santoso, 2007)
2.2.3. Pengertian Data Mining
II-7
Data mining adalah salah satu cabang ilmu komputer
yang relatif baru yang memiliki keterkaitan dngan machine
learning, kecerdasan buatan (artificial intelligence), statistic
dan database. Ada banyak pengertian data mining itu
sendiri diantaranya :
Data mining adalah suatu istilah yang digunakan untuk
menguraikan penemuan pengetahuan di dalam database.
Data mining adalah proses yang manggunakan teknik
statistik, matematika, kecerdasan buatan, dan machine
learning untuk mengekstrasi dan mengindentifikasi
informasi yang bermanfaat dan pengetahuan yang terkait
dari berbagai database besar (Turban, dkk. 2005).
Menurut Gartner Group data mining adalah suatu
proses menemukan hubungan yang berarti, pola dan
kecenderungan dengan memeriksa dalam sekumpulan besar
data yang tersimpan dalam penyimpanan dengan
menggunakan teknik penenalan pola seperti teknik statistik
dan matemtika (Larose, 2005).
Data mining adalah analisis otomatis dari data yang
berjumlah besar atau kompleks dengan tujuan untuk
menemukan pola atau kecenderungan yang penting yang
biasanya tidak disadari keberadaannya. (Pramudiono,
2006).
II-8
Data mining merupakan analisis dari peninjauan
kumpulan data untuk menemukan hubungan yang tidak
diduga dan meringkas data dengan cara yang berbeda
dengan sebelumnya, yang dapat dipahami dan bermanfaat
bagi pemilik data. (Larose, 2005)
Definisi umum dari data mining itu sendiri adalah
proses pencarian pola yang menarik (hidden patern), berupa
pengetahuan yang tidak diketahui sebelumnya dari suatu
kumpulan data dimana data tersebut data berada dalam
database, data warehouse, atau media penyimpanan
informasi yang lain.
Dari definisi-definisi yang telah disampaikan, hal
penting yang terkait dengan data mining adalah:
1. Data mining merupakan suatu proses otomatis terhadap
data yang sudah ada.
2. Data yang akan diproses berupa data yang sangat besar.
3. Tujuan data mining adalah mendapatkan hubungan atau
pola yang mungkin memberikan indikasi yang
bermanfaat.
Hubungan yang dicari dalam data mining dapat berupa
hubungan antara dua atau lebih dalam satu dimensi.
Misalnya dalam dimensi produk kita dapat melihat
keterkaitan pembelian suatu produk dengan produk yang
II-9
lain. Selain itu, hubungan juga dapat dilihat antara dua atau
lebih atribut dan dua atau lebih objek (Ponniah, 2001).
Sementara itu, penemuan pola merupakan keluaran lain
dari data mining. Misalkan sebuah perusahaan yang akan
meningkatkan fasilitas kartu kredit dari pelanggan, maka
perusahaan akan mencari pola dari pelanggan-pelanggan
yang ada untuk mengetahui pelanggan yang potensial dan
pelanggan yang tidak potensial.
Beberapa definis awal dari data mining menyertakan
fokus pada proses otomatisasi. Berry dan Linoff dalam buku
Data Mining Technique For Marketing, Sales, and
Customers Support mendefinisikan data mining sebagai
proses eksplorasi dan analisis secara otomatis maupun
semiotomatis terhadap data dalam jumlah besar dengan
tujuan menemukan pola atau aturan yang berarti (Larose,
2005).
Tiga tahun kemudian, dalam buku Mastering Data
Mining mereka memberikan definsi ulang terhadap
pengertian data mining dan memberikan pernyataan bahwa
jika ada yang kami sesalkan frase “secara otomatis maupun
semiotomatis” karena kami merasa hal tersebut memberikan
fokus berlebih pada teknik otomatis dan kurang pada
eksplorasi dan analisis. Hal tersebut memberikan
pemahaman yang salah bahwa data mining merupakan
II-10
produk yang dapat dibeli dibandingkan keilmuan yang harus
dikuasai (Larose, 2005).
Pernyataan tersebut menegaskan bahwa dalam data
mining otomatisasi tidak menggantikan campur tangan
manusia. Manusia harus ikut aktif dalam setiap fase dalam
proses data mining. Kehebatan kemampuan algoritma data
mining yang terdapat dalam perangkat lunak analisis yang
terdapat saat ini memungkinkan terjadinya kesalahaan
penggunaan yang berakibat fatal. Pengguna mungkin
menerapkan analisis yang tidak tepat terhadap kumpulan
data dengan menggunakan pendekataan yang berbeda. Oleh
karenanya, dibutuhkan pemahaman tentang statistik dan
struktur model matematika yang mendasari kerja perangkat
lunak (Larose, 2005).
Dalam aplikasinya, data mining sebenarnya merupakan
bagian dari proses Knowledge Discovery in Database atau
KDD, bukan sebagai teknologi yang utuh dan berdiri
sendiri. Data mining merupakan suatu bagian langkah yang
penting dalam proses KDD terutama berkaitan dengan
ekstraksi dan perhitungan pola-pola dari data yang ditelaah.
Langkah-langkah atau proses KDD itu sendiri terdiri dari :
Pemilihan data (data selection), pemilihan data dari
sekumpulan data opersaional perlu dilakukan sebelum
tahap penggalian informasi dala KDD dimulai. Data
II-11
hasil seleksi yang akan digunakan untuk proses data
mining, disimpan dalam suatu berkas, terpisah dari basis
data operasional.
Pre-processing, sebelum proses data mining dapat
dilaksanakan, perlu dilakukan proses cleaning pada data
yang menjadi fokus KDD. Proses cleaning mencakup
antara lain membuang duplikasi data, memeriksa data
yang inkonsisten dan memperbaiki kesalahan pada data,
seperti kesalahan cetak (tifografi). Juga dilakukan proses
enrichment, yaitu proses “memperkaya” data yang sudah
ada dengan data atau informasi lain yang relevan dan
diperlukan untuk KDD, seperti data atau informasi
eksternal.
Tranformasi data (Data tranformation), Coding
merupakan proses transformasi pada data yang telah
dipilih, sehingga data tersebut sesuai untuk proses
coding dalam KDD merupakan proses kreatif dan sangat
tergantung pada jenis atau pola informasi yang akan di
cari dalam basis data.
Penggalian data (data mining), Data mining adalah
proses mencari pola atau informasi menarik dalam data
terpilih dengan menggunakan teknik atau metode
tertentu. Teknik, metode atau algoritma dalam data
mining sangat bervariasi. Pemilihan metode atau
algoritma yang tepat sangat bergantung pada tujuan dan
proses KDD secara keseluruhan.
II-12
Interpretation / evaluation, Pola informasi yang
dihasilkan dari proses data mining perlu ditampilkan
dalam bentuk yang mudah dimengerti oleh pihak yang
berkepentingan. Tahap ini merupakan bagian dari proses
KDD yang disebut interpretation. Tahap ini mencakup
pemeriksaan apakah pola atau informasi yang ditemukan
bertentangan dengan fakta atau hipotesis yang ada
sebelumnya.
Tahapan-tahapan tersebut bersifat interaktif dimana
pengguna terlibat langsung atau dengan perantaraan basis
pengetahuan yang terintegarasi didalam sistem. Pola-pola
yang menarik disajikan kepada pengguna dan disimpan
sebagai pengetahuan baru didalam basis pengetahuan. Dari
tahapan diata dapat diketahui bahwa data mining hanya
merupakan satu bagian langkah dari keseluruhan proses
KDD.
II-13
Gambar 2.2. langkah-langkah dalam proses Knowledge
Discovery in Database (KDD)
2.2.4. Permasalahan yang memotivasi pengembangan Data
Mining
Berikut adalah beberapa permasalahan yang
memotivasi pengembangan data mining:
1. Scalability
Karena kemajuan generasi penyimpanan sangat
pesat, kumpulan data dengan ukuran gigabyte,
terabyte atau bahkan petabyte sudah menjadi
umum. Banyak yang membutuhkan algoritma data
mining untuk menangani permasalahan pencarian
eksponensial.
II-14
2. High Dimensionality
Sekarang ini sudah umum dijumpai data dengan
ratusan atau ribuan atribut. Dalam bioinformatika,
kemajuan dalam teknologi microarray telah
menghasilkan data ekspresi gen melibatkan ribuan
fitur. Kumpulan data dengan komponen temporal
atau spasial juga cenderung memiliki dimensi
tinggi. teknik analisis data tradisional yang
dikembangkan untuk data dimensi rendah sering
tidak bekerja dengan baik untuk data bedimensi
tinggi.
3. Data yang beranekaragam dan kompleks
(Heterogeneous and Data Complex)
Metode analisis data tradisional sering berurusan
dengan kumpulan data yang berisi atribut dari tipe
yang sama, baik terus-menerus atau kategoris.
Tetapi sangat sulit menganalisis data yang
mempunya atribut yang beraneka ragam dan
kompleks.
4. Data Owner and Distribution
Kadang-kadang, data yang diperlukan untuk
dianalisis tidak di simpan dalam satu lokasi yang
dimiliki oleh satu organisasi. Untuk hal ini
dibutuhkan pengembangan teknik data mining
pendistribusian.
II-15
5. Non-Traditional Analysis
Pendekatan statistik tradisional didasarkan pada
hipotesis dan tes paradigma. Dengan kata lain,
hipotesis adalah usulan, sebuah eksperimen yang
dirancang untuk mengumpulkan data, dan
kemudian data di analisis sehubungan dengan
hipotesis. Sayangnya, proses ini sangat
laborintensive. Tugas-tugas analisis data saat ini
sering memerlukan generasi dan evaluasi ribuan
hipotesis, dan akibatnya, perkembangan beberapa
teknik data mining telah didorong oleh keinginan
untuk mengotomatisasi proses. Hipotesis generasi
dan evaluasi. Lebih jauh lagi, kumpulan data-data
yang dianalisis dalam sektor data mining adalah
tidak biasanya hasil dari percobaan yang dirancang
dengan hati-hati dan sering mewakili sampel
oportunistik data, bukan sampel acak. Juga, sering
melibatkan kumpulan data non-tradisional jenis
data dan distribusi data.
2.2.5. Asal mula data mining (The Origins of Data Mining)
Di bawa bersama dengan tujuan untuk memenuhi
tantangan bagian sebelumnya, para peneliti dari
berbagai disiplin ilmu mulai fokus pada pengembangan
lebih efisien dan terukur alat yang mampu menangani
berbagai jenis data. Karya ini, yang memuncak dalam
II-16
bidang data mining, dibangun di atas metodologi dan
algoritma yang digunakan peneliti sebelumnya. Secara
khusus, data mining didasarkan pada ide-ide, seperti (1)
pengambilan sampel, estimasi, dan uji hipotesis dari
statistik dan (2) algoritma pencarian, model teknik, dan
teori-teori belajar dari kecerdasan buatan, pengenalan
pola, dan machine learning. Data mining juga telah
mengadopsi ide-ide dari bidang lain, termasuk optimasi,
evolusi komputasi, teori informasi, pemrosesan sinyal,
visualisasi, dan pengambilan informasi.
Sejumlah bidang lain juga memainkan peran
pendukung utama. Secara khusus, sistem database yang
diperlukan untuk memberikan dukungan efisiensi
penyimpanan, pengindeksan, dan pemrosesan query.
Teknik didistribusikan juga dapat membantu mengatasi
masalah ukuran dan sangat penting ketika data tidak
dapat berkumpul di satu lokasi. Gambar 2.3 dibawah
adalah untuk menunjukan hubungan data mining dengan
bidang lain.
II-17
Gambar 2.3. Data mining sebagai muara dari berbagai
disiplin ilmu.
2.2.6. Tugas Data Mining (Data Mining Task)
Pada umumnya, data mining task dibagi
menjadi dua kategori yang penting, yaitu:
1. Predictive tasks
Tujuan dari task ini adalah untuk memprediksi nilai
sebuah atribut yang penting berdasarkan nilai dari
atribut yang lainnya. Atribut yang diprediksi
biasanya dikenal sebagai target atau dependent
variable, sedangkan atribut yang digunakan untuk
melakukan prediksi dikenal dengan explanatory
atau independent variable.
2. Descriptive task
Tujuan dari task ini adalah untuk menghasilkan
pola (correlations, trends, clusters, trajecttories
II-18
dan anomalies) yang merangkum keterhubungan
dalam data.
Gambar 2.4. Empat inti tugas data mining(Tan, 2006)
Dari gambar diatas, data yang ada dapat digunakan
sebagai inti dari data mining task. Data mining task tersebut
antara lain:
1. Predictive Modelling
Predictive Modelling digunakan untuk membangun
sebuah model untuk target variable sebagai fungsi dari
explanatory variable. Explanatory variable dalam hal
ini merupakan semua atribut yang digunakan untuk
II-19
melakukan prediksi, sedangkan target variable
merupakan atribut yang akan diprediksi nilainya.
Predictive modeling task dibagi menjadi dua tipe yaitu :
Classification digunakan untuk memprediksi nilai dari
target variable yang discrete (diskret) dan regression
digunakan untuk memprediksi nilai dari target variable
yang continu (berkelanjutan).
2. Analisis Asosiasi (Association Analysis)
Association analysis digunakan untuk menemukan
aturan asosiasi yang memperlihatkan kondisi-kondisi
nilai atribut yang sering muncul secara bersamaan dalam
sebuah himpunan data.
3. Analisis Klaster (Cluster Analysis)
Tidak seperti klasifikasi yang menganalisa kelas data
obyek yang mengandung label. Clustering menganalisa
objek data tanpa memeriksa kelas label yang diketahui.
Label-label kelas dilibatkan di dalam data training.
Karena belum diketahui sebelumnya. Clustering
merupakan proses pengelompokkan sekumpulan objek
yang sangat mirip.
Teknik klaster termasuk teknik yang sudah cukup
dikenal dan banyak dipakai dalam data mining. Sampai
II-20
sekarang para ilmuawan dalam bidang data mining
masih melakukan berbagai usaha untuk melakukan
perbaikan model klaster karena metode yang di
kembangkan sekarang masih bersifat heuristik. Usaha-
usaha yang menghitung jumlah klaster yang optimal dan
pengklasteran yang paling baik masih terus dilakukan.
Dengan demikian menggunakan metode yang sekarang,
kita tidak bisa menjamin hasil pengklasteran kita sudah
merupakan hasil yang optimal. Namun, hasil yang
dicapai biasanya sudah cukup bagus dari segi praktis.
Tujuan utama dari metode klaster adalah
mengelompokan data atau objek ke dalam klaster
(group) sehingga dalam setiap klaster akan berisi data
yang semirip mungkin. Dalam klastering kita berusaha
untuk menempatkan obyek yang mirip (jaraknya dekat)
dalam satu klaster dan membuat jarak antar klaster
sejauh mungkin. Ini berarti dalam satu klaster sangat
mirip satu sama lain dan berbeda dengan obyek dalam
klaster-klaster yang lain. Dalam teknik ini tidak tahu
sebelumnya berapa jumlah klaster dan bagaimana
pengelompokannya. Klastering adalah suatu teknik
unsupervised leraning dimana kita perlu melatih metode
tersebut atau dengan kata lain, tidak ada fase learning.
Masuk dalam pendekatan unsupervised learning adalah
metode-metode yang tidak membutuhkan label ataupun
II-21
keluaran dari setiap data yang kita investigasi.
Sebaliknya, Supervised Learning adalah metode yang
memerlukan training (melatih) dan testing (menguji).
Masuk kedalam kategori ini adalah regresi, neural
network (ANN), analsisis dikriminan (LDA) dan
support vector machine (SVM).
Ada dua pendekatan dalam klastering yaitu :
Partisioning
Dalam partisioning kita mengelompokan obyek x,
x2, .., xn ke dalam k klaster. Ini bisa dilakukan
dengan menentukan pusat klaster awal, lalu
dilakukan relokasi obyek berdasarkan kriteria
tertentu sampai dicapai pengelompokan yang
optimum.
Hirarki
Dalam klaster hirarki, kita mulai dengan membuat m
klaster dimana setiap klaster beranggotakan satu obyek
dan berakhir dengan satu klaster dimana anggotanya
adalah m obyek. Pada setiap tahap dalam prosedurnya,
satu klaster digabung dengan satu klaster yang lain. Kita
bisa memilih berapa jumlah klaster yang diinginkan
dengan menentukan cut-off pada tingkat tertentu.
II-22
4. Mendeteksi Kelainan (Anomaly Detection)
Anomaly Detection merupakan metode pendeteksian
suatu data dimana tujuannya adalah menemukan objek
yang berbeda dari sebagian besar objek lain. Anomaly
dapat di deteksi dengan menggunakan uji statistik yang
menerapkan model distribusi atau probabilitas untuk
data.
2.3. Text Mining
Sama halnya dengan data mining, text mining pun
memiliki tujuan yang sama untuk menemukan knowledge.
Bedanya, text mining adalah proses menemukan knowledge
dari tumpukan dokumen. Misalnya, artikel berita, e-mail,
buku maupun halaman web (Heryanti, 2005, h. 5).
2.3.1. Text Mining dalam Knowledge Discovery
Di dalam proses Knowledge Discovery terdapat tahap
data mining. Sebenarnya pada tahap data mining inilah text
mining dijalankan. Jadi intinya text mining adalah istilah
yang dipakai oleh data mining yang mengekstrak data
berupa teks.
II-23
Tahap-tahap knowledge discovery untuk text mining
sama dengan tahap-tahap knowledge discovery untuk data
mining. Tahap-tahap tersebut adalah.
Selection : tahap ini bertujuan untuk mendapatkan teks
yang memiliki relevansi dengan tugas analisa pada tahap
selanjutnya. Pada tahap selection ini akan dilakukan
pemilihan data mentah (raw data) menjadi target data.
Preprocessing : di dalam proses ini akan dilakukan
proses awal terhadap target data (abstrak), pada tahap ini
akan dilakukan proses parsing (pemilihan kata perkata
dalam abstrak), stemming (pencarian akar kata),
removing stopwords (penghapusan kata-kata tidak
penting) sehingga didapatkan kata-kata penting atau
keywords.
Text mining/ data mining : pada tahap inilah proses
paling berat dijalankan. Di dalam proses ini akan
digunakan aloritma data mining yaitu naive bayes.
Evaluation : dari hasil proses text mining di atas akan
dilakukan proses evaluation untuk mendapatkan
interesting knowledge yang lebih dapat dimengerti dan
berguna bagi user.
II-24
2.3.2. Preprocessing
Tahap ini merupakan tahap di mana abstrak ditangani
untuk dapat siap diproses memasuki tahap text mining.
Tahap-tahap tersebut adalah:
Parsing
Stopwords removal
Stemming
2.3.2.1. Parsing
Menurut yotor.com, didalam bidang tata bahasa dan
linguistik, parsing adalah sebuah proses yang dilakukan
seseorang untuk menjadikan sebuah kalimat lebih bermakna
atau lebih berarti dengan cara memecah kalimat tersebut
menjadi kata-kata atau farse-farse.
Parsing di dalam pembuatan aplikasi text mining ini
merupakan proses penguraian abstrak yang semula berupa
kalimat-kalimat berisi kata-kata dan tanda pemisah antara
kata.
2.3.2.2. Stopwords Removal
II-25
Kebanyakan bahasa resmi di berbagai negara memiliki
kata fungsi dan kata sambung dan hampir selalu muncul
pada dokumen-dokumen teks. Di dalam bahasa Indonesia
stopwords atau kata yang tidak penting seperti “di”, “dan”,
“sebuah”, dan lain-lain. Sebelum proses stopwords removal
dilakukan, terlebih dahulu dibuat daftar stopwords. Kata
depan (Preposisi), kata hubung dan partikel biasanya
merupakan kandidat daftar stopwords.
Stopwords removal merupakan proses penghilangan
kata tidak penting pada abstrak melalui pengecekan kata-
kata hasil parsing abstrak apakah termasuk di dalam daftar
kata penting atau tidak. Jika termasuk kata tidak penting
maka kata tersebut akan di hapus dari isi berita sehingga
kata-kata yang tersisa di dalam isi berita dianggap sebagai
kata-kata penting atau keywords.
2.3.2.3. Stemming
Stemming adalah proses pemetaan dan penguraian
berbagai bentuk dari suatu kata menjadi kata dasarnya.
Sebagai contoh kata “menculik”, “diculik” dan “penculik”
yang semula mengandung arti yang berbeda di stem menjadi
kata “culik” yang memiliki arti yang sama sehingga kata-
kata di atas dapat saling berhubungan.
2.4. Klasifikasi
II-26
Klasifikasi adalah proses pencarian sekumpulan model atau
fungsi yang menggambarkan dan membedakan kelas data
dengan tujuan agar model tersebut dapat digunakan untuk
memprediksi kelas dari suatu obyek yang belum diketahui
kelasnya. Merupakan salah satu task mining yang dapat
memprediksi kelas suatu data. Klasifikasi termasuk ke dalam
supervised learning, yang membutuhkan model berdasarkan
data pelatihan untuk mengklasifikasikan data.
Ada beberapa metode yang dapat dilakukan pada proses
klasifikasi, yaitu Decision Tree, Bayesian Classification,
Support Vector Machines, dan Rule Base Classification.
Masing-masing memiliki keunikan dan kelebihannya
masing-masing.
2.5. Naive Bayes Classifier
Teorema Bayes adalah sebuah pendekatan untuk sebuah
ketidaktentuan yang diukur dengan probabilitas. Teorema
bayes dikemukakan oleh Thomas Bayes yang merupakan
ahli dalam bidang probabilitas pada abad 18.
Teori keputusan Bayes adalah pendekatan statistik yang
fundamental dalam pengenalan pola (patern recognation).
Pendekatan ini didasarkan pada kuantifikasi trade-off antara
berbagai keputusan klasifikasi dengan menggunakan
probabilitas ongkos yang ditimbulkan dalam keputusan-
keputusan tersebut.
Ini adalah rumus bayes
II-27
(2.1)
adalah peluang dokumen pada kategori
adalah peluang pada kategori, kata pada dokumen
muncul pada kategori tersebut. adalah peluang dari
kategori yang diberikan, dibandingkan dengan kategori-
kategori lainnya yang dianalisa. adalah peluang dari
dokumen tersebut secara spesifik.
Dengan kata-kata yang lebih umum, rumus Bayes bisa
diberikan sebagai berikut.
(2.2)
Salah satu penerapan teorema Bayes adalah Klasifikasi
Naive Bayes.
(2.3)
Naive bayes didasarkan pada asumsi penyederhanaan
bahwa nilai atribut secara kondisional saling bebas jika
diberikan keluaran. Atau dengan kata lain, diberikan nilai
keluaran, probabilitas mengamati secara bersama adalah
produk dari probabilitas individu atau
. Memasukan
persamaan ini ke 2.3 akan didapat pendekatan yang dipakai
dalam naive bayes classifier:
II-28
(2.4)
Dimana adalah nilai keluaran hasil klasifikasi naive
bayes.
dan probabilitas kata untuk setiap kategori
dihitung pada saat pelatihan.
(2.5)
di mana
adalah jumlah kata pada kategori .
| adalah jumlah kata yang digunakan dalam
pelatihan.
(2.6)
Dimana
adalah jumlah kemunculan kata pada kategori
.
adalah jumlah semua kata pada kategori .
adalah jumlah kata yang unik (distinc) pada
semua data latihan.
II-29
Algoritma Naive Bayes
Dibawah ini adalah ringkasan algoritma untuk naive
bayes classifier sebagai berikut:
A. Proses pelatihan. Masukan adalah dokumen-
dokumen contoh yang telah diketahui kategorinya
1. Kosakata←Himpunan semua kata yang unik
dari dokumen-dokumen contoh.
2. Untuk setiap kategori lakukan:
a. ← Himpunan dokumen-dokumen
yang berada pada kategori
b. Hitung dengan persamaan 2.5
c. Untuk setiap kata pada kosakata Hitung
P(wk | vj) dengan persamaan 2.6
B. Proses klasifikasi. Masukan adalah dokumen yang
belum diketahui kategorinya.
1. Hasilkan vmap sesuai dengan persamaan 2.4
dengan menggunakan P(vj) dan P(wk |vj)
yang telah diperoleh dari pelatihan.
2.6. Evaluasi Kinerja Klasifikasi
II-30
Untuk mengukur kinerja klasifikasi, maka perlu adanya
evaluasi hasil penelitian. Dibawah ini adalah persamaan
untuk mengukur tingkat keakuratan.
(2.7)
Sedangkan untuk mengukur error rate dapat
menggunakan persamaan dibawah ini
(2.7)
Contoh kasus
Tabel 2.1 ada sebuah data hasil pelatihan dari tiga
dokumen yang mempunyai tiga kategori yaitu physics,
literature dan computer science. Dan isinya hanya
tersimpan kata-kata yang bukan stopword dengan frekuensi
kemunculannya.
D4 adalah dokumen yang akan diklasifikasikan. D4
mengandung kata: java(2), time(3), complexity(2),
algorithm(4), data(1).
Tabel 2.1 Hasil pelatihan
Dokumen Kata(Frekuensi Kemunculan) Label
II-31
D1 Force(2), gravity(4), speed(3),
acceleration(5), time(2)
Physics
D2 Beautiful(3), metaphoric(5),
time(2), rose(3), complexity(1)
Literature
D3 Memory(2), algorithm(4), data(2),
speed(1), java(3)
Computer
science
Dokumen D4 yang mengandung kata: java(2), time(3),
complexity(2), algorithm(4), data(1).
Kemudian tabel hasil pelatihan di hitung nilai probabilitas
maksimumnya. Dibawah ini adalah untuk menghitung
probabilitas untuk setiap kategori.
Diketahui: ,
Diketahui: ,
II-32
Diketahui: ,
Selanjutnya dihitung probabilitas semua kata untuk setiap
kategori dengan menggunakan persamaan 2.6.
Dibawah ini untuk menghitung probabilitas semua kata
dengan kategori physics.
Diketahui :
,
=
=
II-33
=
=
=
=
=
=
=
=
=
=
=
II-34
Dibawah ini untuk menghitung probabilitas semua kata
kategori dengan Literature.
Diketahui :
,
=
=
=
=
=
=
=
=
II-35
=
=
=
=
=
Dibawah ini untuk menghitung probabilitas semua kata dengan kategori Computer Science.
Diketahui:
,
=
=
=
=
II-36
=
=
=
=
=
=
=
=
=
Tabel 2.2 Hasil pelatihan : model probabilistik
V
Physics Literature Computer
Science
II-37
1/3 1/3 1/3
Acceleration 6/29 1/27 1/25
Algorithm 1/29 1/27 5/25
Beautiful 1/29 4/27 1/25
Complexity 1/29 2/27 1/25
Data 1/29 1/27 3/25
Force 3/29 1/27 1/25
Gravity 5/29 1/27 1/25
Java 1/29 1/27 4/25
Memory 1/29 1/27 3/25
Metaphoric 1/29 6/27 1/25
Rose 1/29 4/27 1/25
Speed 4/29 1/27 2/25
Time 3/29 3/27 1/25
Karena dokumen D4 belum diketahui kategorinya, maka
selanjutnya adalah menentukan kategorinya dengan cara
menghitung probabilitasnya dengan menggunakan naive
bayes.
II-38
Setelah dihitung menggunakan naive bayes nilai
kemungkinan yang terbesar dari tiga kategori
II-39
adalah computer science. Sehingga dokumen D4 termasuk
ke dalam kategori computer science.