PENGERTIAN DAN FUNGSI DATA

Pengertian Dan Fungsi data
Data adalah bentuk jamak menurut datum. Data merupakan fakta-keterangan mengenai suatu hal, bisa berupa sesuatu yg punya makna. Data bisa diartika sebagai sesuatu yg diketahui atau yang dianggap atau asumsi.

Sesuatu yang diketahui umumnya didapat dari output pengamatan atau percobaan serta hal itu berkaitan menggunakan waktu dan tempat. Anggapan atau perkiraan merupakan suatu asumsi atau dugaan yg sifatnya masih sementara, sebagai akibatnya belum tentu benar. Oleh karena itu, anggapan atau perkiraan perlu dikaji kebenarannya.

Menurut Arikunto (2002), data adalah segala liputan dan nomor yg dapat dijadikan bahan buat menyusun suatu keterangan, sedangkan warta merupakan output pengolahan data yang dipakai buat suatu keperluan.

Jadi dapat disimpulkan, bahwa data merupakan sejumlah kabar yang dapat memberikan citra tentang suatu keadaan, atau perkara baik yang berbentuk nomor -nomor juga yang berbentuk kategori atau informasi.

Penggolongan Data
Sesuai menggunakan macam atau jenis variabel, maka data atau hasil pencatatannya jua memiliki jenis sebanyak variabel. Data bisa dibagi dalam grup eksklusif menurut kriteria yg menyertainya, contohnya menurut susunan, sifat, saat pengumpulan, dan asal pengambilan.

Pembagian data menurut susunannya:
Menurut susunannya, data dibagi atas data rambang atau tunggal dan data berkelompok.
Data Acak atau Data Tunggal
Data acak atau tunggal adalah data yang belum tersusun atau dikelompokkan ke pada kelas-kelas interval.
Contoh:
Data hasil oengukuran berat anak didik kelas IX (pada kg): 
35 37 39 47 39 32 34 45 50 39 

Data berkelompok
Data berkelompok adalah data yg telah tersusun atau dikelompokkan ke dalam kelas-kelas interval. Data grup disusun pada bentuk distribusi frekuensi atau tabel frekuensi.

Contoh:
Data nilai anak didik dan jumlah siswa yang memperoleh nilai tertentu buat mata pelajaran matematika kelas IX.
Nilai Turus Frekuensi
1 – dua III 3
3 – 4 IIIII 5
5 – 6 IIIII IIIII 10
7 – 8 IIIII IIIII IIIII 15
9 – 10 IIIII II 7

Data berkelompok ini terbagi menjadi: 
  • Data Kelompok Diskrit
  • Data yang diperolej dari hasil menghitung termasuk dalam data diskrit (jumlah anak, dll). 
  • Data kelompok kontinu
  • Sebuah data dinyatakan berkontribusi kontinu apabila data tersebut diukur dalam skala kontinu atau data yg didapat berdasarkan output mengukur. Contoh data konstan, yaitu: tinggi badan, berat badan, output belajar, motivasi belajar dan lain-lain. 

Pembagian data berdasarkan sifatnya
Menurut sifatnya, data dibagi atas data data kualitatid serta data kuantitatif.

Data Kualitatif
Data kualitatif adalah data yg nir berbentuk sapta. Data kualitatif berbentuk pernyataan verbal, simbol atau gambar.
Contoh: rona, jenis kelamin, status perkawinan, dll. 
Data Kuantitatif
Data kuantitatif adalah data yang berbentuk sapta, atau data kualitatif yg diangkakan.
Contoh: tinggi, umur, jumlah, skor output belajar, temperatur, dll. 

Pembagian Data dari saat pengumpulannya
Menurut ketika pengumpulannya, data dibagi atas data terpola (time series) serta data cross section.

Data Berkala (Time series)
Data terpola adalah data yg terkumpul menurut waktu ke waktu buat memberikan citra perkembangan suatu aktivitas/fenomena.
contoh: data perkembangan harga 9 macam bahan utama selama 10 bulan terakhir yg dikumpulkan setiap bulan. 
Data Cross Section
Data cross section adalah data yang terkumpul dalam suatu ketika eksklusif buat menaruh gambaran perkembangan keadaan atau aktivitas dalam waktu itu.
Contoh:
Data sensus penduduk tahun 2000, data hasil UN murid SMA tahun 2012, dsb. 

Pembagian data menurut sumber pengambilannya
Menurut asal pengambilannya, data dapat dibedakan atas 2 jenis, yaitu data utama serta data sekunder.
Data Primer
Data utama merupakan data yg diperoleh atau dikumpulkan sang orang yg melakukan penelitian atau yang bersangkutan yang memerlukannya. Data utama diklaim juga data asli atau data baru. 
Data Sekunder
Data sekunder adalah data yang diperoleh atau dikumpulkan dari sumber-asal yang telah terdapat. Data itu umumnya diperoleh menurut perpustakaann atau laporan-laporan/dokumen peneliti yg terdahulu. Data sekunder dianggap juga data tersedia. 

Pembagian data menurut skala pengukurannya
Skala pengukuran adalah peraturan penggunaan notasi bilangan dalam pengukuran. Menurut skala pengukurannya, data bisa dibedakan atas empat jenis, yaitu: data nominal, data ordinal, data interval, dan data rasio.

Data nominal
Data nominal adalah data yg diberikan pada objek atau kategori yg nir mendeskripsikan kedudukan objek atau kategori tadi terhadap objek atau kategori lainnya, tetapi hanya sekedar label atau kode saja. Data ini hanya mengelompokkan objek/kategori ke pada gerombolan eksklusif. Data nominal mempunyai ciri hanya dapat dibedakan antara satu dengan lainnya serta tidak sanggup diurutkan/dibandingkan. Data ini memiliki ciri, yakni: 
Kategori data bersifat saling tanggal (satu objek hanya masuk pada satu gerombolan saja). 
Kategori data tidak disusun secara logis 

Contoh data berskala nominal:
Warna rambut, jenis kelamin, etnis/suku, agama dan lain-lain.

Data Ordinal
Data ordinal adalah data yang penomoran objek atau kategorinya disusun dari besarnya, yaitu dari tingkat terendah ke taraf tertinggi atau sebaliknya menggunakan jarak/rentang yang tidak wajib sama. Data ini memiliki karakteristik seperti ciri data nominal ditambah satu ciri lagi, yaitu kategori data dapat disusun/diurutkan dari urutan logis serta sinkron dengan besarnya karakteristik yang dimiliki.
Contoh data berskala ordinal yaitu:
Tingkat pendidikan, golongan pegawai, kasta, dan lain-lain 
Data Interval
Data interval adalah data dengan objek/kategori yg dapat dibedakan antara data satu dengan lainnya, bisa diurutkan menurut suatu atribut serta memiliki jeda yg memberikan fakta tentang interval antara tiap objek/kategori sama. Besarnya interval bisa ditambah atau dikurangi. Data ini mempunyai karakteristik sama dengan karakteristik pada data ordinal ditambah satu karakteristik lagi, yaitu urutan kategori data memiliki jarak yang sama. Dalam data interval tidak memiliki nilai nol absolut.
Contoh data berskala interval yakni:
Temperatur, skor IQ, skor output belajar, dll 

Hasil pengukuran suhu (temperatur) memakai termometer yang dinyatakan pada ukuran derajat. Rentang temperatur antara 00 Celcius hingga 10 Celcius memiliki jarak yang sama dengan 10 Celcius hingga 20 Celcius. Oleh karena itu berlaku operasi matematik ( +, – ), contohnya 150 Celcius + 150 Celcius = 300 Celcius. Tetapi demikian nir dapat dinyatakan bahwa benda yg bersuhu 150 Celcius mempunyai berukuran panas separuhnya menurut benda yang bersuhu 300 Celcius. Demikian juga, nir dapat dikatakan bahwa benda dengan suhu 00 Celcius tidak mempunyai suhu sama sekali. Angka 00 Celcius mempunyai sifat nisbi (nir absolut). Artinya, bila diukur dengan memakai Termometer Fahrenheit diperoleh 00 Celcius = 320 Fahrenheit.

Kecerdasaran intelektual yang dinyatakan pada IQ. Rentang IQ 100 hingga 110 memiliki jarak yg sama dengan 110 hingga 120. Tetapi demikian tidak dapat dinyatakan orang yg memiliki IQ 150 tingkat kecerdasannya 1,lima kali menurut urang yang mempunyai IQ 100.


Data rasio
Data rasio adalah data yg memiliki sifat-sifat data nominal, data ordinal, dan data interval, dilengkapi dengan kepemilikan nilai atau titik nol absolut/absolut menggunakan makna empirik. Data rasio bisa dibagi atau dikali. Jadi, data rasio memiliki sifat; bisa dibedakan, diururkan, punya jeda, serta punya nol absolut.
Contoh data berskala rasio:
Umur, tinggi badan, berat, dll 

Data hasil pengukuran berat suatu benda yang dinyatakan pada gram memiliki semua sifat-sifat menjadi data interval. Benda yang beratnya 1 kg tidak selaras secara konkret menggunakan benda yg beratnya dua kg. Ukuran berat benda dapat diurutkan mulai berdasarkan yg terberat sampai yg terringan. Perbedaan antara benda yang beratnya 1 kg dengan 2 kg mempunyai rentang berat yang sama dengan perbedaan antara benda yg beratnya 2 kg dengan tiga kg. Angka 0 kg menampakan nir ada benda (berat) yg diukur. Benda yang beratnya dua kg dua kali lebih berat dibandingkan dengan benda yang beratnya 1 kg.

FUNGSI DATA
Fungsi data pada dasarnya: (1) untuk menciptakan keputusan, (dua) menjadi dasar suatu perencanaan, (3) sebagai indera pengendali terhadap pelaksanaan atau implementasi suatu aktivitas, dan (4) sebagai dasar evaluasi terhadap suatu aktivitas.

PENGERTIAN DAN FUNGSI DATA

Pengertian Dan Fungsi data
Data merupakan bentuk jamak berdasarkan datum. Data adalah warta-liputan mengenai suatu hal, dapat berupa sesuatu yang punya makna. Data dapat diartika menjadi sesuatu yang diketahui atau yg dipercaya atau asumsi.

Sesuatu yang diketahui umumnya didapat menurut hasil pengamatan atau percobaan dan hal itu berkaitan menggunakan ketika dan tempat. Anggapan atau perkiraan merupakan suatu perkiraan atau dugaan yg sifatnya masih sementara, sebagai akibatnya belum tentu sahih. Oleh karenanya, asumsi atau perkiraan perlu dikaji kebenarannya.

Menurut Arikunto (2002), data adalah segala liputan serta angka yang bisa dijadikan bahan untuk menyusun suatu kabar, sedangkan liputan merupakan hasil pengolahan data yg digunakan untuk suatu keperluan.

Jadi bisa disimpulkan, bahwa data adalah sejumlah berita yang bisa menaruh citra tentang suatu keadaan, atau masalah baik yang berbentuk angka-angka juga yang berbentuk kategori atau warta.

Penggolongan Data
Sesuai dengan macam atau jenis variabel, maka data atau hasil pencatatannya pula mempunyai jenis sebesar variabel. Data bisa dibagi dalam grup tertentu menurut kriteria yg menyertainya, contohnya berdasarkan susunan, sifat, saat pengumpulan, serta asal pengambilan.

Pembagian data berdasarkan susunannya:
Menurut susunannya, data dibagi atas data acak atau tunggal serta data berkelompok.
Data Acak atau Data Tunggal
Data acak atau tunggal merupakan data yg belum tersusun atau dikelompokkan ke pada kelas-kelas interval.
Contoh:
Data hasil oengukuran berat anak didik kelas IX (dalam kg): 
35 37 39 47 39 32 34 45 50 39 

Data berkelompok
Data berkelompok merupakan data yg telah tersusun atau dikelompokkan ke dalam kelas-kelas interval. Data gerombolan disusun dalam bentuk distribusi frekuensi atau tabel frekuensi.

Contoh:
Data nilai siswa dan jumlah murid yg memperoleh nilai tertentu untuk mata pelajaran matematika kelas IX.
Nilai Turus Frekuensi
1 – 2 III 3
3 – 4 IIIII 5
5 – 6 IIIII IIIII 10
7 – 8 IIIII IIIII IIIII 15
9 – 10 IIIII II 7

Data berkelompok ini terbagi sebagai: 
  • Data Kelompok Diskrit
  • Data yg diperolej dari output menghitung termasuk dalam data diskrit (jumlah anak, dll). 
  • Data kelompok kontinu
  • Sebuah data dinyatakan berkontribusi kontinu apabila data tadi diukur pada skala konstan atau data yang didapat berdasarkan output mengukur. Contoh data kontinu, yaitu: tinggi badan, berat badan, output belajar, motivasi belajar serta lain-lain. 

Pembagian data dari sifatnya
Menurut sifatnya, data dibagi atas data data kualitatid serta data kuantitatif.

Data Kualitatif
Data kualitatif adalah data yang tidak berbentuk bilangan. Data kualitatif berbentuk pernyataan lisan, simbol atau gambar.
Contoh: rona, jenis kelamin, status perkawinan, dll. 
Data Kuantitatif
Data kuantitatif adalah data yang berbentuk sapta, atau data kualitatif yg diangkakan.
Contoh: tinggi, umur, jumlah, skor output belajar, temperatur, dll. 

Pembagian Data dari ketika pengumpulannya
Menurut saat pengumpulannya, data dibagi atas data terencana (time series) dan data cross section.

Data Berkala (Time series)
Data berkala adalah data yg terkumpul dari ketika ke ketika buat menaruh gambaran perkembangan suatu kegiatan/fenomena.
contoh: data perkembangan harga 9 macam bahan utama selama 10 bulan terakhir yang dikumpulkan setiap bulan. 
Data Cross Section
Data cross section adalah data yg terkumpul dalam suatu ketika eksklusif buat memberikan citra perkembangan keadaan atau aktivitas dalam ketika itu.
Contoh:
Data sensus penduduk tahun 2000, data hasil UN murid SMA tahun 2012, dsb. 

Pembagian data berdasarkan asal pengambilannya
Menurut sumber pengambilannya, data dapat dibedakan atas 2 jenis, yaitu data primer serta data sekunder.
Data Primer
Data utama adalah data yg diperoleh atau dikumpulkan sang orang yg melakukan penelitian atau yg bersangkutan yg memerlukannya. Data primer diklaim jua data asli atau data baru. 
Data Sekunder
Data sekunder merupakan data yang diperoleh atau dikumpulkan berdasarkan sumber-asal yg telah terdapat. Data itu umumnya diperoleh berdasarkan perpustakaann atau laporan-laporan/dokumen peneliti yg terdahulu. Data sekunder disebut jua data tersedia. 

Pembagian data dari skala pengukurannya
Skala pengukuran merupakan peraturan penggunaan notasi bilangan dalam pengukuran. Menurut skala pengukurannya, data bisa dibedakan atas empat jenis, yaitu: data nominal, data ordinal, data interval, serta data rasio.

Data nominal
Data nominal adalah data yang diberikan dalam objek atau kategori yg tidak mendeskripsikan kedudukan objek atau kategori tersebut terhadap objek atau kategori lainnya, tetapi hanya sekedar label atau kode saja. Data ini hanya mengelompokkan objek/kategori ke dalam kelompok tertentu. Data nominal mempunyai karakteristik hanya bisa dibedakan antara satu menggunakan lainnya serta nir sanggup diurutkan/dibandingkan. Data ini memiliki karakteristik, yakni: 
Kategori data bersifat saling tanggal (satu objek hanya masuk dalam satu grup saja). 
Kategori data tidak disusun secara logis 

Contoh data berskala nominal:
Warna rambut, jenis kelamin, etnis/suku, kepercayaan dan lain-lain.

Data Ordinal
Data ordinal adalah data yg penomoran objek atau kategorinya disusun menurut besarnya, yaitu dari taraf terendah ke tingkat tertinggi atau sebaliknya dengan jarak/rentang yg tidak harus sama. Data ini mempunyai karakteristik seperti ciri data nominal ditambah satu karakteristik lagi, yaitu kategori data bisa disusun/diurutkan menurut urutan logis dan sinkron menggunakan besarnya ciri yang dimiliki.
Contoh data berskala ordinal yaitu:
Tingkat pendidikan, golongan pegawai, kasta, serta lain-lain 
Data Interval
Data interval merupakan data menggunakan objek/kategori yg dapat dibedakan antara data satu dengan lainnya, dapat diurutkan berdasarkan suatu atribut dan mempunyai jeda yang menaruh liputan mengenai interval antara tiap objek/kategori sama. Besarnya interval bisa ditambah atau dikurangi. Data ini memiliki karakteristik sama menggunakan ciri dalam data ordinal ditambah satu ciri lagi, yaitu urutan kategori data mempunyai jarak yang sama. Dalam data interval tidak memiliki nilai nol mutlak.
Contoh data berskala interval yakni:
Temperatur, skor IQ, skor hasil belajar, dll 

Hasil pengukuran suhu (temperatur) menggunakan termometer yg dinyatakan pada ukuran derajat. Rentang temperatur antara 00 Celcius hingga 10 Celcius memiliki jeda yang sama dengan 10 Celcius hingga 20 Celcius. Oleh karenanya berlaku operasi matematik ( +, – ), misalnya 150 Celcius + 150 Celcius = 300 Celcius. Namun demikian nir dapat dinyatakan bahwa benda yg bersuhu 150 Celcius mempunyai berukuran panas separuhnya berdasarkan benda yg bersuhu 300 Celcius. Demikian pula, nir dapat dikatakan bahwa benda dengan suhu 00 Celcius tidak memiliki suhu sama sekali. Angka 00 Celcius mempunyai sifat relatif (tidak mutlak). Artinya, bila diukur dengan menggunakan Termometer Fahrenheit diperoleh 00 Celcius = 320 Fahrenheit.

Kecerdasaran intelektual yg dinyatakan pada IQ. Rentang IQ 100 hingga 110 memiliki jarak yg sama menggunakan 110 sampai 120. Namun demikian nir dapat dinyatakan orang yang memiliki IQ 150 taraf kecerdasannya 1,lima kali dari urang yang mempunyai IQ 100.


Data rasio
Data rasio adalah data yang mempunyai sifat-sifat data nominal, data ordinal, serta data interval, dilengkapi dengan kepemilikan nilai atau titik nol absolut/absolut menggunakan makna empirik. Data rasio dapat dibagi atau dikali. Jadi, data rasio mempunyai sifat; bisa dibedakan, diururkan, punya jarak, serta punya nol absolut.
Contoh data berskala rasio:
Umur, tinggi badan, berat, dll 

Data output pengukuran berat suatu benda yg dinyatakan dalam gr mempunyai seluruh sifat-sifat menjadi data interval. Benda yg beratnya 1 kg tidak sama secara nyata menggunakan benda yg beratnya 2 kg. Ukuran berat benda dapat diurutkan mulai menurut yg terberat hingga yg terringan. Perbedaan antara benda yg beratnya 1 kg menggunakan 2 kg mempunyai rentang berat yang sama dengan disparitas antara benda yg beratnya dua kg dengan 3 kg. Angka 0 kg memberitahuakn nir terdapat benda (berat) yg diukur. Benda yang beratnya dua kg dua kali lebih berat dibandingkan dengan benda yang beratnya 1 kg.

FUNGSI DATA
Fungsi data pada dasarnya: (1) untuk menciptakan keputusan, (2) sebagai dasar suatu perencanaan, (tiga) sebagai alat pengendali terhadap pelaksanaan atau implementasi suatu kegiatan, serta (4) menjadi dasar penilaian terhadap suatu kegiatan.

PENGERTIAN DAN MANFAAT DATA MINING EMAIL

Pengertian Dan Manfaat Data Mining Email
Database ketika ini boleh jadi berkembang menjadi sangat besar secara cepat ke pada berukuran terabyte. Di pada tumpukan data tadi mungkin masih ada kabar-informasi tersembunyi yang sangat krusial atau sebagai penting pada saat diharapkan. Akan tetapi bagaimana caranya kita menemukan sebuah jarum pada tumpukan jerami? Dalam hal ini dapat kita katakan bahwa seluruh data belum berarti warta.

Kita sudah mengetahui bahwa data mentah (raw data) tidak terlalu berguna karena ukurannya yang begitu besar sehingga nir mungkin dianalisa. Kita perlu mengekstrak pola menurut data mentah tadi. Jawabannya merupakan dengan data mining. Banyak organisasi di dunia telah memakai data mining buat mencari dan menarik kesimpulan menurut data yang mereka miliki. Berikut beberapa model pelaksanaan data mining:
  • Perusahaan pemasaran memakai data sejarah respon pembelian terhadap suatu tawaran produk buat membentuk contoh buat memperkirakan pelanggan potensial yg akan di raih menggunakan metode penawaran tertentu.
  • Agen pemerintah menyaring data transaksi keuangan untuk mendeteksi money laundering serta penyelundupan obat terlarang.
  • Dalam tahapan diagnosis, para fisikawan menciptakan expert system menurut banyak percobaan yg sudah dilakukan.
Secara definisi data mining merupakan ekstraksi fakta potensial yang sebelumnya tidak diketahui atau implisit, suatu kelas dari aplikasi database yang mencari pola tersembunyi pada suatu grup data. Atau, data mining bisa pula didefinisikan menjadi suatu proses yang menggunakan berbagai perangkat analisis data untuk menemukan pola serta rekanan data supaya bisa digunakan buat menciptakan prediksi menggunakan sempurna.

Dari tinjauan keamanan sistem berita, data mining memang bagai pisau bermata ganda. Di satu sisi sanggup bermanfaat bagi pihak pemilik data buat hal-hal yang sudah disebutkan pada atas, tetapi bisa jadi illegal bila data-data tadi disalahgunakan untuk hal-hal yang bersifat melanggar privasi orang lain atau bahkan bila pengumpulan data tadi dilakukan secara tidak etis dan tanpa sepengetahuan pihak yg memiliki informasi.

Makalah ini hanya akan membahas apa itu data mining, kemungkinan aplikasinya pada mencari pola dalam email, serta sedikit demonstrasi sederhana dengan memakai aplikasi jadi misalnya outlook serta Access buat parsing email ke database, dan software open source Weka (Waikato Environment for Knowledge Analysis) yang dikembangkan pada Universitas Waikato. Software ini sudah memiliki beberapa library dasar buat melakukan data mining.

Aplikasi data mining sendiri bukanlah suatu aplikasi sederhana. Ia melibatkan algorithma machine learning yang membutuhkan algoritma kecerdasan protesis yang cukup kompleks dan berada pada luar cakupan makalah ini.

1. Data Mining
Data mining merupakan proses yang menggunakan berbagai perangkat analisis data untuk menemukan pola serta interaksi pada data yg mungkin bisa dipakai untuk membuat prediksi yg valid.

Langkah pertama serta paling sederhana pada data mining yaitu menggambarkan data – menyimpulkan atribut statistik (seperti rata-homogen dan baku deviasi), mereview secara visual menggunakan diagram serta grafik, dan mencari rekanan berarti yang potensial antar variabel (misalnya nilai yg acapkali timbul bersamaan). Mengumpulkan, mengeksplor, dan memilih data yang sempurna merupakan sangat penting.

Pada dasarnya terdapat empat langkah utama dalam melakukan data mining:
1. Mendeskripsikan data, yakni menyimpulkan atribut statistik (seperti homogen-homogen serta standard deviasi), mereview secara visual memakai grafik serta diagram, dan mencari interaksi-hubungan potensial antar variabel (seperti contohnya, nilai-nilai yg tak jarang keluar bersamaan). 

2. Membangun model asumsi (predictive contoh) menurut dalam pola-pola yg ditemukan pada langkah sebelumnya. 

3. Menguji contoh pada luar sampel orisinil. Sebuah contoh yg baik tidak wajib sama persis menggunakan kenyataan sebenarnya (seperti peta bukanlah representasi sempurna dari jalan yg sebenarnya), akan tetapi bisa sebagai pedoman yang berguna buat mengerti bisnis kita. 

4. Memverifikasi/menguji model. Misalnya, berdasarkan suatu database pelanggan yg telah merespon tawaran yg pernah diiklankan pada mereka, kita menciptakan sebuah model asumsi yg memiliki prospek akan mendapat respon yang sama menurut pelanggan menggunakan tipikal tadi tersebut. Tapi bisakah kita sahih-sahih bergantung dalam asumsi kita tersebut? Kita perlu menerangkan model asumsi kita tersebut ke sample pelanggan yang lain dan melihat output yang kita dapatkan.

Untuk melakukan hal tadi diatas maka setidaknya diperlukan suatu program yang dapat menampilkan (bila tidak mendeteksi) pola serta keteraturan pada data sebagai akibatnya pola-pola yg kuat atau sangat kentara terlihat dapat digunakan buat melakukan prediksi. 

Keterbatasan Data Mining
Data mining hanyalah sebuah alat, bukan tongkat ajaib. Data mining tidak secara otomatis mengamati apa yg terjadi pada database lalu mengirimkan laporan ketika masih ada pola-pola menarik. Penggunaan data mining permanen saja mengharuskan kita buat mengerti data kita serta mengerti metode-metode analisis data. Data mining membantu analis buat menemukan pola dan rekanan data akan namun nir secara langsung mengungkapkan nilai berdasarkan pola tersebut. Lebih jauh lagi, pola-pola yg nir diketemukan melalui data mining harus diverifikasi pulang pada global nyata.

Perlu diingat bahwa hubungan prediktif yang ditemukan melalui data mining nir selalu adalah sebab dari suatu prilaku atau tindakan. Misalnya, datamining sanggup jadi menemukan bahwa pria menggunakan pendapatan Rp. Lima – 10 juta per bulan adalah pelanggan berdasarkan majalah-majalah eksklusif dan kemungkinan akbar adalah pembeli berdasarkan suatu produk. Suatu perusahaan mampu saja mengambil keuntungan dari pola ini menggunakan menargetkan pemasaran kepada orang-orang yg memenuhi pola tadi. Tapi permanen saja perusahaan tersebut tidak boleh mengasumsikan bahwa hanya faktor inilah yang mengakibatkan mereka membeli produk perusahaan tadi.

Model serta Algoritma Data Mining
Dalam bagian ini akan dibahas suatu model serta algoritma yg tak jarang digunakan pada melakukan data mining. Yang wajib diperhatikan adalah bahwa contoh atau algoritma ini bukan adalah satu-satunya yg terdapat dan nir wajib dipakai secara tertentu. Pemilihan contoh tentu saja sangat bergantung pada tujuan yang ingin dicapai dalam melakukan data mining dan data yg akan dihadapi.

Neural Network
Neural Network biasa dipakai pada perkara pembagian terstruktur mengenai (pada mana outputnya adalah variabel kategoris) atau regresi (outputnya kontinyu). Neural network dimulai dengan layer input, dimana tiap simpul berkorespondensi menggunakan variabel prediktor. Simpul-simpul input ini terhubung ke beberapa simpul dalam hidden layer. Tiap simpul input terhubung menggunakan tiap simpul pada hidden layer. Simpul pada hidden layer sanggup jadi terhubung ke simpul lain pada hidden layer, atau ke output layer. Output layer terdiri berdasarkan satu atau beberapa variabel respon.

Gambar Neural network dengan satu hidden layer

Setelah layer input, tiap simpul mengambil satu himpunan input, mengalikan input-input tersebut menggunakan bobot Wxy (contohnya, bobot dari simpul 1 ke tiga adalah W13 – lihat gambar), menambahkan kedua bobot, menerapkan fungsi (biasa dipanggil fungsi aktivasi atau squashing), serta melewatkan outputnya ke simpul pada layer berikutnya. Misalnya, nilai yang dilewatkan berdasarkan node 4 ke node 6 merupakan:

Activation function applied to ([W14 * value of node 1] + [W24 * value of node 2])

Gambar Wxy merupakan bobot berdasarkan simpul x ke simpul y

Tiap simpul sanggup dicermati menjadi variabel prediktor (dalam hal ini simpul 1 dan 2) atau sebagai kombinasi menurut variabel prediktor (simpul 3 hingga 6). Simpul 6 adalah kombiasi non linear menurut nilai simpul 1 dan 2, karena fungsi aktivasi terhadap nilai penjumlahan pada simpul-simpul tersembunyi. Jika masih ada fungsi aktivasi tanpa hidden layer, jaringan saraf akan ekivalen menggunakan regresi linear; dan dengan fungsi aktivasi non-linear eksklusif, jaringan saraf akan ekivalen menggunakan regresi logistik. 

Bobot koneksi (W) adalah parameter nir diketahui yg diestimasi dengan metode training. Awalnya, metode pembinaan yang umum merupakan backpropagation; metode-metode yang baru kemudian bermunculan misalnya gradien konjugasi, quasi-Newton, Levenberg-Marquardt, dan algoritma genetic. Tiap metode training memiliki satu himpunan parameter yg mengatur berbagai aspek dari training seperti contohnya menghindari local optima atau mengatur kecepatan konversi. 

Arsitektur (atau topologi) menurut jaringan saraf merupakan jumlah dari simpul dan layer-layer tersembunyi, dan bagaimana mereka saling bekerjasama. Dalam merancang jaringan saraf, baik user maupun perangkat lunak wajib memilih jumlah simpul serta layer tersembunyi, fungsi aktivasi, dan batasan-batasan bobot. Meskipun terdapat anggaran umum, kita umumnya tetap harus bereksperimen dengan parameter-parameter tersebut.

Tipe yg paling generik berdasarkan jaringan saraf merupakan jaringan feed forward backpropagation. Untuk kesederhanaan bahasan, kita akan membahas jaringan menggunakan satu hidden layer.

Training Backpropagation hanyalah salah satu versi berdasarkan gradien descent, suatu jenis algoritma yg mencoba buat mengurangi nilai sasaran (error, pada perkara jaringan saraf) dalam tiap langkah. Algoritma ini bekerja seperti berikut:

Feed forward: Nilai menurut simpul output dihitung menurut nilai simpul input dan bobot-bobot awal. Nilai-nilai berdasarkan simpul input ini dikombinasikan pada hidden layers, serta nilai dari simpul-simpul pada hidden layer digabungkan buat menghitung nilai output.

Backpropagation: Error pada output dihitung menggunakan mencari beda antara hasil terhitung serta hasil yg diinginkan. Kemudian, error berdasarkan output dimasukkan kembali ke hidden layer secara proporsional, sinkron menggunakan bobotnya. Hal ini akan membuat error dihitung buat tiap simpul output dan simpul tersembunyi dalam jaringan. Akhirnya, error pada tiap simpul tersembunyi dan simpul output dipakai sang algoritma buat mengatur bobot yg masuk ke simpul buat mengurangi error.

Proses ini berulang buat tiap baris pada himpunan traininng. Tiap lewatan terhadap tiap baris pada himpunan traininng diklaim epoch. Himpunan pelatihan ini akan dipakai berulang kali, sampai error yg didapatkan nir lagi berkurang. Pada titik tersebut jaringan saraf dianggap teah terlatih buat menemukan pola dalam himpunan test. Karena poly sekali parameter yang mungkin ada dalam jaringan tersembunyi, suatu jaringan saraf dengan simpul-simpul tersembunyi yang cukup akan selalu menyelesaikan training set jika dibiarkan berjalan relatif usang. Tapi seberapa baikkah jaringan saraf tersebut untuk data yang lain? Untuk menghiondari jaringan saraf yang overfitted yang akan hanya bekerja dengan baik dalam data training, kita harus memahami kapan wajib berhenti melakukan pelatihan. Beberapa implementasi akan mengevaluasi jaringan saraf pada data penguji secara periodik selama latihan. Selama error rate pada hipunan penguji terus menurun, training akan terus dilakukan. Apabila error rate bertambah, meskipun error rate dalam data traininng terus menurun, maka jaringan saraf mungkin mengalami overfitting. Grafik pada gambar mengilustrasikan bagaimana himpunan data penguji bisa menolong kita menghindari overfitting. Kita dapat melihat bahwa error rate terus menurun pada tiap lewatan jariingan saraf terhadap data (garis titik-titik), akan tetapi error rate buat data penguji mengalami kenaikan. Karena tujuan menurut data mining adalah buat membuat prediksi pada data yg bukan himpunan traininng, maka kita tentu saja harus menggunakan jaringan saraf yg akan meminimalisasi error dalam data penguji, bukan data pelatihan.

Gambar Error rate sebagai fungsi jumlah epoch dalam jaringan saraf

Jaringan saraf berbeda secara filosofis dari banyak metode statistik dalam beberapa hal. Pertama, jaringan saraf umumnya mempunyai lebih poly parameter. Misalnya, terdapat tiga belas parameter (9 bobot serta 4 bias) dalam jaringan saraf pada gambar 4. Lantaran banyaknya parameter, serta kombinasi berdasarkan parameter menghasilkan prediksi yg similar, parameter sebagai uninterpretable dan jaringan bertindak sebagai prediktor “black box”. Pada kenyataannya, suatu output bisa diasosiasikan menggunakan beberapa himpunan bobot yg tidak selaras. Oleh karenanya, bobot network secara generik tidak membantu dalam usaha buat mengerti proses yang membentuk prediksi. Akan tetapi hal ini bisa diterima pada banyak pelaksanaan. Suatu bank hanya ingin mengenali secara otomatis suatu pertanda tangan, akan tetapi nir peduli bentuk rekanan fungsional antara pixel dan karakter yang diwakilinya. Beberapa pelaksanaan yang memiliki ratusan variabel menjadi input ke dalam model dengan ribuan parameter (bobot simpul) meliputi pabrik kimia, robot dan pasar keuangan, serta perkara-kasus sosialisasi pola seperti bunyi, vision dan karakter.

Satu keuntungan menurut contoh jaringan saraf merupakan jaringan saraf gampang untuk diimplementasikan buat dijalankan dalam paralel personal komputer dengan tiap node menjalankan kalkulasinya sendiri-sendiri secara simultan.

Pengguna wajib sadar terhadap beberapa informasi mengenai jaringan saraf: pertama, jaringan saraf tidak mudah buat ditafsirkan. Tidak ada penjelasan rasional yang eksplisit tentang bagaimana suatu jaringan saraf melakukan keputusan atau prediksi. Kedua, jaringan saraf cenderung mengalami overfit data training kecuali pengukuran yang sangat ketat, untuk acakan bobot atau validasi silang dilakukan secara hati-hati.ketiga, jaringan saraf membutuhkan waktu lama buat melakukan pelatihan kecuali masalahnyas sangat kecil. Setelah ditrain, jaringan saraf bisa melakukan prediksi menggunakan cukup cepat. Keempat, jaringan saraf membutuhkan persiapan data yang poly. Implementasi yang sukses dari jaringan saraf membutuhkan pemililihan dan preprocessing data yang baik. Misalnya, jaringan saraf mensyaratkan semua variabel harus numerik. Oleh karenanya, data kategoris seperti “propinsi” umumnya dipecah menjadi variabel dikotomis (contohnya “jawa barat”, “jawa timur”), masing-masing dengan nilai “1” (yes) atau “0” (no). Akhirnya, jaringan saraf akan bekerja menggunakan baik jika set data yg dipakai cukup akbar serta rasio frekuwensi terhadap noise relatif tingggi.

Decision trees
Decision tree adalah cara merepresentasikan perpaduan anggaran yang mengacu ke suatu nilai atau kelas. Misalnya kita bisa mengklasifikasikan suatu proposal pinjaman uang memiliki resiko baik atau tidak baik. Gambar ? Menunjukkan decision tree sederhana: decision node, branches and leaves.

Gambar Classification tree sederhana

Komponen pertama adalah simpul top decision, atau simpul root, yg menentukan test yang akan dijalankan. Simpul root dalam contoh ini merupakan “income > $40.000”. Hasil dari tes ini menyebabkan tree terpecah menjadi 2 cabang, menggunakan tiap cabang meepresentasikan satu berdasarkan jawaban yg mungkin. Dalam perkara ini, jawabannya adalah “ya” dan “nir”, sebagai akibatnya kita mendapatkan dua cabang.

Bergantung dalam algoritma yang digunakan. Tiap simpul sanggup mempunyai 2 atau lebih cabang. Misalnya, CART akan menggenerate hanya 2 cabang pada tiap simpul. Tree misalnya ini diklaim binary tree. Ketika lebih menurut 2 cabang diperbolehkan maka diklaim menjadi multiway tree.

Tiap cabang akan mempunyai simpul node yg lain atau dasar tree, yang dianggap leaf. Dengan mengikuti decision tree kita bisa menaruh nilai dalam suatu masalah menggunakan menetapkan cabang mana yg akan diambil, dimulai berdasarkan simpul root serta bergerak ke bawah sampai leaf. Dengan memakai metode ini, seorang petugas yg bertanggung jawab buat memutuskan pemberian pinjaman terhadap nasabah mampu menentukan apakah seseorang nasabah memiliki resiko kredit yg baik atau tidak baik.

Model decision tree umum dipakai dalam data mining buat menelaah data serta menginduksi tree serta anggaran yang akan dipakai untuk menciptakan prediksi. Sejumlah algoritma yang tidak sama bisa dipakai buat menciptakan tree pada antara nya adalah CHAID (Chi squared Automatic Interactin Detection), CART (Classification and Regression Trees), Quest dan C5.0.

Decision tree berkembang melalui pemecahan iteratif menurut data ke pada kelompok-kelompok diskrit, yang tujuannya adalah buat memaksimalkan “jeda” antara gerombolan pada tiap pemecahan. 

Contoh yg kita gunakan hingga ketika ini sangatlah sederhana. Tree ini sangat gampang buat dimengerti serta diinterpretasikan. Akan namun, tree sanggup menjadi sangat kompleks. Bisa dibayangkan kompleksitas suatu tree yg diturunkan dari database dengan ratusan atribut dan variabel respon dengan lusinan kelas input. Tree sperti ini akan sangat sulit buat dimengerti, meskipuntiap path dari tree umumnya bisa dimengerti. Dalam hal ini decision tree sanggup menjelaskan prediksinya, yang adalah keuntungan penting.

Akan tetapi, kejelasan ini bisa jadi menyesatkan. Misalnya, percabangan berdasarkan suatu decision tree mengimplikasikan suatu presisi yg jarang ditemui dalam global konkret. (Kenapa seorang yang gajinya $40.001 akan sebagai nasabah dengan resiko kredit yang baik sedangkan seorang menggunakan honor $40.000 tidak?)

Selain dua butir algoritma yg dibahas pada atas, masih banyak lagi prosedur pemecahan lain seperti Multivariate Adaptive Regression Splines (MARS), Rule induction, K-nearest neighbor and memory-based reasoning (MBR), Logistic regression, Discriminant analysis, Generalized Additive Models (GAM), Boosting, dan Genetic algorithms.

2. Implementasi Data Mining Email
Mengenali suatu pendekatan yg sistematis merupakan hal yg sangat krusial supaya kita dapat melakukan data mining dengan sukses. Banyak vendor serta organisasi konsultan telah menentukan urutan langkah yg akan membentuk output yg memuaskan. 

Langkah-langkah dasar pada data mining adalah menjadi berikut: 
1. Define business problem
2. Build data mining database
3. Explore data
4. Prepare data for modeling
5. Build model
6. Evaluate model
7. Deploy contoh and results

Mengikuti langkah-langkah di atas, maka pertama kali kita harus memilih dulu perkara yang hendak dipecahkan. Dalam hal ini tujuan kita melakukan data mining email wajib terlebih dahulu didefinisikan. Dalam perkara email, data mining umumnya dilakukan buat mengetahui prilaku pelanggan dari order yg masuk via email, atau mampu pula mengetahui prilaku konsumsi seseorang. Suatu model konkret, Google melakukan data mining email buat mengetahui iklan yg relevan buat ditampilkan ke web interface layanan email mereka. 

Tujuan yang berbeda membutuhkan pemodelan database dan data yg berbeda jua.
Pada makalah ini akan didemonstrasikan bagaimana suatu data bisa diambil menurut pelaksanaan email client misalnya outlook buat kemudian diparse ke database. Setelah data terkumpul pada database kemudian dilakukan data analisis menggunakan menggunakan aplikasi open source Weka (Weikato Environment for Knowledge Analysis).

Karena kesulitan pada mengumpulkan data yg baik (dalam hal ini email yang representatif) maka digunakan data fiktif yg kiranya akan menarik untuk dianalisis. Walaupun begitu, permanen akan didemonstrasikan bagaimana email penulis diparse ke dalam database Access.

Aplikasi Pendukung
Pada bagian ini akan dibahas aplikasi-aplikasi atau bahasa pendukung yang dipakai buat membangun aplikasi data mining email dalam makalah ini, yaitu Outlook Express, Visual Basic for Application, serta Microsoft Access.

Outlook Express
Outlook Express merupakan galat satu pelaksanaan email client yang bekerja pada platform Windows selain Eudora, Mozilla ThunderBird, Pegasus Mail, serta masih banyak lagi yg lainnya.

Alasan penggunaan Outlook dalam makalah ini merupakan karena interoperabilitasnya yang sangat baik dengan sistem aplikasi Ms Office lainnya (dalam hal ini kita akan menggunakan relational database Ms Access) dan umumnya telah terpaket pada Windows yang kita gunakan. Akan namun selain itu, Outlook pula memiliki kemampuan pengorganisasian email yang relatif baik (impian folders, versatile searching) dan penyaringan spam yg relatif solid. 

Berikut merupakan beberapa fitur dasar dari Outlook Email Client:
  • Kemampuan mengelola banyak account email serta newsgroup
  • Kemudahan pada mengeksplorasi pesan/email masuk
  • Memiliki addressbook untuk menyimpan serta melihat alamat-alamat email
  • Kemampuan mendownload email/newsgroup buat dibaca secara offline
  • Mengirim serta menerima pesan secara kondusif menggunakan enkripsi
Microsoft Access
Pada dasarnya Access adalah suatu Database Management System (DBMS). Seperti halnya produk lain pada kategori ini, Access meyimpan dan memanggil liputan/data, mempresentasikan data yg diminta, serta mengotomasi repetitive tasks. Dengan akses kita sanggup membuat form masukan yang mudah digunakan misalnya diperlihatkan dalam gambar ?

Gambar Screenshot form dalam Access

Akses pula adalah pelaksanaan database windows yang cukup powerful. Lantaran baik Windows juga Access merupakan produk Microsoft, ke 2 produk tadi berafiliasi dengan sangat baik. Access berjalan di seluruh versi windows.

Dengan memakai OLE (Object Linking Embedding) pada Windows dan produk Ms Office (Excel, Word, Power Point serta Outlook) kita mampu membuatkan kemampuan Access. OLE memungkinkan produk yg satu menggunakan lainnya saling bertukar keterangan dengan mudah.

Berikut beberapa fitur yg ditawarkan Access:
  • Database management system yang benar-sahih relasional
  • Wizard yang mudah digunakan
  • Importing, exporting, dan linking tabel
  • Form dan laporan menggunakan fitur WYSIWYG
  • Multiple table queries and relationships
  • Business graph and chart
  • Kemampuan DDE dan OLE
  • True Client/server
  • Dukungan modul VBA
Gambar ? Mengilustrasikan kemampuan Access dalam banyak level

Gambar Kemampuan Access dalam banyak level

VBA Pada Access
Access mempunyai poly tool yg relatif baik yang memungkinkan kita bekerja dengan database serta tabel, queries, form, dan report yg dimilikinya tanpa menulis satu baris kode pun. Akan namun, pada kasus-perkara tertentu, kita mungkin membutuhkan pengembangan pelaksanaan yang lebih rumit misalnya misalnya validasi input yg lebih ekstensif atau error handling yang lebih baik.

Untuk situasi-situasi seperti ini, kita membutuhkan suatu bahasa taraf tinggi. Access menyediakan bahasa pemrograman yg dianggap Visual Basic for Application (VBA) yang sanggup menaikkan kemampuan berdasarkan Access dan melebihi kemampuan yg ditawarkan oleh Macro.

Visual Basic sudah menjadi bahasa generik untuk semua aplikasi Microsoft. Visual Basic terdapat pada seluruh pelaksanaan Ms Office XP, termasuk Excel, Word, Power Point, dan outlook. Visual Basic adalah bahasa pemrograman terstruktur yang memperlihatkan bnyak struktur pemrograman yang sudah biasa digunakan sang programmer misalnya If .. Then … Else, Select Case, dan seterusnya. Visual Basic memungkinkan seseorang programmer bekerja dengan fungsi dan subrutin di pada bahasa yang hampir misalnya layaknya bahasa Inggris. Bahasa ini jua sangat ekstensibel (mampu memanggil rutin Windows API) serta mampu berinteraksi melalui ADO (Active Data Objects) atau DAO (Data Access Objects) menggunakan semua tipe data Access atau Visual Basic. 

Weka
Weka merupakan koleksi algoritma data mining buat tugas-tugas data mining. Algoritma ini bisa diterapkan secara eksklusif ke dalam dataset atau sanggup pula dipanggil berdasarkan kode java kita sendiri. Weka mempunyai tools buat data pre-processing, classification, regression, clustering, association rules, serta visualization. Weka pula cocok buat dipakai dalam pengembangan skema baru learning machine. Weka adalah software open source yang diterbitkan dibawah lisensi GNU General Public License.

Perancangan dan Implementasi
Tujuan dari aplikasi ini adalah buat men data-mine email yg berada pada mailbox Outlook. Kita akan mengekstrak warta email serta memasukkan fakta tersebut ke pada relational database sebagai akibatnya kemudian kita mampu menganalisanya dengan beberapa prosedur pemecahan data mining. 

Jadi langkah perancangan pertama kali adalah menggunakan merancang acara pengekstrak data email Outlook buat kemudian di ekspor ke Access. Selanjutnya membentuk contoh data mining menurut data mentah yg telah kita masukkan ke database tadi. 

Secara garis besar model dari pelaksanaan data mining ini dapat diilustrasikan menjadi berikut:

Gambar Alur proses data mining

Program Pengekstrak serta Pengimpor Data Email
Sebenarnya kita bisa menghubungkan Outlook menggunakan Access tanpa melakukan pemrograman sedikitpun. Yakni dengan menggunakan driver yang sudah terpasang secara built-in pada Office 2000. Sayangnya metode ini memiliki kekurangan dalam hal kesulitan dalam kustomisasi database. Untuk pertimbangan kemudahan kita hanya akan memakai import wizard berdasarkan Access yang akan mengimport seluruh data email yang terdapat dalam inbox outlook. Untuk membuat database yg lebih baik, mungkin kita bisa mendesign sendiri struktur database yg baik dan kemudian menulis script sederhana menggunakan visual basic editor di outlook supaya setiap email yg diterima akan pribadi dimasukkan ke database. Berikut acara sederhana berbentuk modul pada Microsoft Access buat mengimport email dari outlook menggunakan memakai bahasa Visual Basic for Application.

Option Compare Database 
  • Dim ol As New Outlook.application 
  • Dim PublicFolder As MAPIFolder 
  • Dim OldTaskItems As Items 
  • Dim itm As Outlook.taskItem 
  • Dim AppPath As String 
Sub ImportItems() 
Set PublicFolder = ol.getnamespace("MAPI").folders("Public Folders").folders("All Public Folders").folders("PT").folders("Help Desk Application").folders("Tarefas Antigas") 

Set OldTaskItems = PublicFolder.items.restrict("[Subject] > ''") 

Dim nmritens As Integer 
nmritens = OldTaskItems.count ' 
' If nmritens = 0 Then 
' MsgBox "Tidak ada item baru" 
' Else 
' MsgBox " Terdapat" & nmritens & " buat diimport" 
' End If 

For Each itm In OldTaskItems 
If nmritens > 1 Then 
Set appAccess = CreateObject("Access.application") 
strAccessPath = appAccess.syscmd(9) 
strDBName = "c:/documents and Settings/doni/my Documents/mdb/" & "importoutlook.mdb" 'strAccessPath & "email.mdb" 
Set dbe = CreateObject("DAO.dbengine.36") 
Set wks = dbe.workspaces(0) 
Set dbs = wks.openDatabase(strDBName) 
Set rst = dbs.openRecordset("tblHdrs") 
rst.addnew 
rst.remetente = itm.userProperties("Behalf") 
rst.assunto = itm.userProperties("Subject") 
rst.recebido = itm.userProperties("Received Date") 
rst.fechado = itm.userProperties("Close Date") 
rst.update 
rst.close 
dbs.close 
End If 
Next 
End Sub 

Hal yg sama mampu kita lakukan bila kita lebih memilih memakai server misalnya MSSQL, MySQL, atau PostGreSQL. 

Berikut merupakan data yang mungkin didapatkan:

Gambar Tabel import menurut outlook

Bisa dilihat data diatas nir terlalu menarik untuk dianalisis, karena sifatnya yang terlalu luas dan nir khusus. Beberapa hal yang mampu dianalisis mungkin buat menemukan kata terbanyak yg muncul sehingga bisa digunakan buat memilih ketertarikan oleh empunya email, atau siapa pengirim email terbanyak. Dalam bagian berikutnya kita akan mensimulasikan data yang lebih menarik buat disimulasikan namun tidak terlalu besar .

Analisis Data
Misalkan suatu pasangan orang tua yg sibuk memiliki account email yg digunakan buat menerima email berisi laporan cuaca tiap hari dan kegiatan bermain anak menurut oleh baby sitter. Template email telah diatur sedemikian rupa sehingga membentuk data sebagai berikut: 

Gambar Data cuaca dan aktivitas bermain anak

Data tadi akan disimulasikan dengan memakai Weka. Dalam manualnya aplikasi Weka hanya mendapat format arsip ARFF. Walaupun kita mampu saja eksklusif menggunakan format file Access menggunakan mengganti kode atau menciptakan kode kita sendiri dengan memanfaatkan library yg sudah ada pada Weka.

Berikut merupakan isi arsip weather.arff yg adalah hasil konversi berdasarkan tabel email dalam database Access.
@relation weather
@attribute outlook sunny, overcast, rainy
@attribute temperature real
@attribute humidity real
@attribute windy TRUE, FALSE
@attribute play yes, no
@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no

Sekarang kita sanggup memulai menganalisa data tadi menggunakan memakai prosedur pemecahan yang telah disediakan. Untuk menampakan apa yang dapat dilakukan decision tree learner pada data tersebut, kita dapat memakai prosedur pemecahan j4.8, yang adalah implementasi Weka buat decision tree learner. Kita bisa mengetik:

java weka.classifiers.J48.J48 -t weather.arff
Pada command line. Atau menggunakan Graphical User Interface yg tersedia.

Berikut hasil yang kita dapatkan:
J48 pruned tree
outlook = sunny
humidity <= 75: yes (2.0)
humidity > 75: no (3.0)
outlook = overcast: yes (4.0)
outlook = rainy
windy = TRUE: no (dua.0)
windy = FALSE: yes (3.0)
Number of Leaves : 5
Size of the tree : 8

=== Error on training data ===
Correctly Classified Instances 14 100 %
Incorrectly Classified Instances 0 0 %
Mean absolute error 0
Root mean squared error 0
Total Number of Instances 14

=== Confusion Matrix ===
a b <-- as="" classified="" o:p="">-->
9 0 a = yes
0 5 b = no

=== Stratified cross-validation ===
Correctly Classified Instances 9 64.2857 %
Incorrectly Classified Instances 5 35.7143 %
Mean absolute error 0.3036
Root mean squared error 0.4813
Total Number of Instances 14

=== Confusion Matrix ===
a b <-- as="" classified="" o:p="">-->
7 dua a = yes
3 dua b = no

Bagian pertama merupakan decision tree dalam bentuk teks. Seperti dapat kita lihat, percabangan pertama adalah dalam atribut outlook, serta lalu pada level selanjutnya, percabangan terjadi masing-masing pada humidity serta windy. Dalam struktur pohon, titik 2 merepresentasikan label kelas yang telah diberikan ke leaf tertentu, diikuti dengan angka yg merepresentasikan jumlah instans yang memenuhi persyaratan tadi. 

Dibawah struktur pohon, jumlah leaf dicetak, kemudian total jumlah simpul pada pohon (size of the tree).
Bagian ke 2 hasil memberitahuakn kesalahan yang terjadi dalam data trining. Dalam masalah ini, semua 14 data sudah diklasifikasi dengan sahih, dan tak satupun yg dibiarkan tidak terklasifikasi. Suatu instans mampu tidak diklasifikasi apabila skema pembelajaran menahan pemberian suatu kelas label ke instans tersebut.

Kesimpulan berdasarkan data pembinaan dapat dilihat pada confusion
matrix, yg menampakan berapa poly instans dari tiap kelas sudah diassign ke tiap kelas. Dalam kasus ini, hanya elemen diagonal menurut matriks yg non-zero lantaran seluruh instans sudah diklasifikasikan secara benar. 

Bagian terakhir menurut hasil memperlihatkan hasil yg didapat dari stratified ten-fold cross-validation. Modul penilaian secara otomatis melakukan ten-fold cross-validation jika tidak diberikan file test. Seperti dapat kita lihat, lebih berdasarkan 30% instans (5 menurut 14) telah diklasifikasikan secara keliru pada validasi silang. Hal ini menandakan bahwa output yg didapatakan dari training data dangat optimistik dibandingkan menggunakan apa yg mungkin didapat dari himpunan tes yg independen berdasarkan source yg sama. Dari confusion matrix kita bisa melihat bahwa 2 instans kelas yes telah dikelompokkan ke kelas no, dan 3 kelas no diassign ke kelas yes.

PENGERTIAN DAN MANFAAT DATA MINING EMAIL

Pengertian Dan Manfaat Data Mining Email
Database ketika ini boleh jadi berkembang menjadi sangat besar secara cepat ke pada ukuran terabyte. Di dalam tumpukan data tersebut mungkin terdapat berita-keterangan tersembunyi yg sangat krusial atau menjadi krusial dalam ketika diharapkan. Akan namun bagaimana caranya kita menemukan sebuah jarum dalam tumpukan jerami? Dalam hal ini dapat kita katakan bahwa seluruh data belum berarti informasi.

Kita telah mengetahui bahwa data mentah (raw data) nir terlalu bermanfaat lantaran ukurannya yang begitu besar sebagai akibatnya tidak mungkin dianalisa. Kita perlu mengekstrak pola berdasarkan data mentah tersebut. Jawabannya adalah dengan data mining. Banyak organisasi pada dunia sudah memakai data mining buat mencari dan menarik kesimpulan berdasarkan data yang mereka miliki. Berikut beberapa model pelaksanaan data mining:
  • Perusahaan pemasaran menggunakan data sejarah respon pembelian terhadap suatu tawaran produk buat membentuk model buat memperkirakan pelanggan potensial yg akan di raih dengan metode penawaran tertentu.
  • Agen pemerintah menyaring data transaksi keuangan buat mendeteksi money laundering serta penyelundupan obat terlarang.
  • Dalam tahapan diagnosis, para fisikawan menciptakan expert system menurut poly percobaan yang telah dilakukan.
Secara definisi data mining adalah ekstraksi kabar potensial yg sebelumnya tak diketahui atau implisit, suatu kelas berdasarkan pelaksanaan database yang mencari pola tersembunyi dalam suatu grup data. Atau, data mining mampu juga didefinisikan menjadi suatu proses yg memakai banyak sekali perangkat analisis data buat menemukan pola dan relasi data supaya bisa digunakan buat menciptakan prediksi menggunakan sempurna.

Dari tinjauan keamanan sistem fakta, data mining memang bagai pisau bermata ganda. Di satu sisi sanggup berguna bagi pihak pemilik data buat hal-hal yang telah disebutkan pada atas, namun mampu jadi illegal bila data-data tadi disalahgunakan untuk hal-hal yang bersifat melanggar privasi orang lain atau bahkan apabila pengumpulan data tadi dilakukan secara nir etis serta tanpa sepengetahuan pihak yg memiliki keterangan.

Makalah ini hanya akan membahas apa itu data mining, kemungkinan aplikasinya dalam mencari pola pada email, serta sedikit demonstrasi sederhana dengan memakai pelaksanaan jadi misalnya outlook serta Access buat parsing email ke database, serta aplikasi open source Weka (Waikato Environment for Knowledge Analysis) yang dikembangkan pada Universitas Waikato. Software ini telah mempunyai beberapa library dasar untuk melakukan data mining.

Aplikasi data mining sendiri bukanlah suatu pelaksanaan sederhana. Ia melibatkan algorithma machine learning yang membutuhkan algoritma kecerdasan buatan yang relatif kompleks serta berada di luar cakupan makalah ini.

1. Data Mining
Data mining merupakan proses yg menggunakan banyak sekali perangkat analisis data buat menemukan pola serta interaksi pada data yang mungkin dapat dipakai buat membuat prediksi yang valid.

Langkah pertama serta paling sederhana dalam data mining yaitu mendeskripsikan data – menyimpulkan atribut statistik (misalnya homogen-rata serta baku deviasi), mereview secara visual memakai diagram dan grafik, serta mencari rekanan berarti yg potensial antar variabel (misalnya nilai yang acapkali ada bersamaan). Mengumpulkan, mengeksplor, serta memilih data yg sempurna merupakan sangat penting.

Pada dasarnya ada empat langkah utama dalam melakukan data mining:
1. Mendeskripsikan data, yakni menyimpulkan atribut statistik (misalnya homogen-rata serta standard deviasi), mereview secara visual memakai grafik serta diagram, serta mencari interaksi-hubungan potensial antar variabel (seperti contohnya, nilai-nilai yg sering keluar bersamaan). 

2. Membangun model perkiraan (predictive contoh) dari pada pola-pola yang ditemukan dalam langkah sebelumnya. 

3. Menguji model pada luar sampel orisinil. Sebuah contoh yang baik tidak harus sama persis dengan kenyataan sebenarnya (misalnya peta bukanlah representasi paripurna dari jalan yg sebenarnya), akan namun mampu sebagai pedoman yang berguna untuk mengerti usaha kita. 

4. Memverifikasi/menguji model. Misalnya, berdasarkan suatu database pelanggan yg sudah merespon tawaran yg pernah diiklankan kepada mereka, kita membangun sebuah contoh perkiraan yang memiliki prospek akan mendapat respon yg sama dari pelanggan dengan tipikal tadi tersebut. Tapi bisakah kita sahih-benar bergantung dalam asumsi kita tersebut? Kita perlu menandakan contoh perkiraan kita tersebut ke sample pelanggan yg lain dan melihat output yg kita dapatkan.

Untuk melakukan hal tersebut diatas maka setidaknya dibutuhkan suatu acara yang bisa menampilkan (kalau tidak mendeteksi) pola serta keteraturan dalam data sebagai akibatnya pola-pola yg bertenaga atau sangat kentara terlihat dapat digunakan untuk melakukan prediksi. 

Keterbatasan Data Mining
Data mining hanyalah sebuah alat, bukan tongkat ajaib. Data mining nir secara otomatis mengamati apa yg terjadi pada database kemudian mengirimkan laporan waktu terdapat pola-pola menarik. Penggunaan data mining permanen saja mengharuskan kita buat mengerti data kita dan mengerti metode-metode analisis data. Data mining membantu analis buat menemukan pola dan rekanan data akan namun nir secara eksklusif berkata nilai menurut pola tadi. Lebih jauh lagi, pola-pola yg tidak diketemukan melalui data mining wajib diverifikasi balik dalam dunia konkret.

Perlu diingat bahwa hubungan prediktif yg ditemukan melalui data mining tidak selalu merupakan karena berdasarkan suatu prilaku atau tindakan. Misalnya, datamining sanggup jadi menemukan bahwa laki-laki menggunakan pendapatan Rp. 5 – 10 juta per bulan merupakan pelanggan menurut majalah-majalah tertentu dan kemungkinan akbar adalah pembeli menurut suatu produk. Suatu perusahaan bisa saja merogoh keuntungan dari pola ini menggunakan menargetkan pemasaran kepada orang-orang yang memenuhi pola tersebut. Tapi tetap saja perusahaan tadi tidak boleh mengasumsikan bahwa hanya faktor inilah yg mengakibatkan mereka membeli produk perusahaan tadi.

Model serta Algoritma Data Mining
Dalam bagian ini akan dibahas suatu model serta algoritma yang acapkali digunakan pada melakukan data mining. Yang wajib diperhatikan merupakan bahwa contoh atau prosedur pemecahan ini bukan adalah satu-satunya yg terdapat serta nir wajib digunakan secara eksklusif. Pemilihan contoh tentu saja sangat bergantung dalam tujuan yg ingin dicapai pada melakukan data mining serta data yang akan dihadapi.

Neural Network
Neural Network biasa dipakai dalam perkara pembagian terstruktur mengenai (pada mana outputnya adalah variabel kategoris) atau regresi (outputnya kontinyu). Neural network dimulai dengan layer input, dimana tiap simpul berkorespondensi menggunakan variabel prediktor. Simpul-simpul input ini terhubung ke beberapa simpul dalam hidden layer. Tiap simpul input terhubung menggunakan tiap simpul dalam hidden layer. Simpul pada hidden layer bisa jadi terhubung ke simpul lain pada hidden layer, atau ke output layer. Output layer terdiri berdasarkan satu atau beberapa variabel respon.

Gambar Neural network dengan satu hidden layer

Setelah layer input, tiap simpul merogoh satu himpunan input, mengalikan input-input tersebut dengan bobot Wxy (contohnya, bobot dari simpul 1 ke tiga adalah W13 – lihat gambar), menambahkan kedua bobot, menerapkan fungsi (biasa dipanggil fungsi aktivasi atau squashing), serta melewatkan outputnya ke simpul pada layer berikutnya. Misalnya, nilai yang dilewatkan menurut node 4 ke node 6 merupakan:

Activation function applied to ([W14 * value of node 1] + [W24 * value of node 2])

Gambar Wxy merupakan bobot menurut simpul x ke simpul y

Tiap simpul mampu ditinjau menjadi variabel prediktor (dalam hal ini simpul 1 serta dua) atau sebagai kombinasi berdasarkan variabel prediktor (simpul 3 hingga 6). Simpul 6 adalah kombiasi non linear berdasarkan nilai simpul 1 serta 2, karena fungsi aktivasi terhadap nilai penjumlahan di simpul-simpul tersembunyi. Apabila masih ada fungsi aktivasi tanpa hidden layer, jaringan saraf akan ekivalen dengan regresi linear; serta menggunakan fungsi aktivasi non-linear eksklusif, jaringan saraf akan ekivalen menggunakan regresi logistik. 

Bobot koneksi (W) merupakan parameter tidak diketahui yang diestimasi dengan metode pelatihan. Awalnya, metode pelatihan yg generik merupakan backpropagation; metode-metode yang baru lalu bermunculan misalnya gradien konjugasi, quasi-Newton, Levenberg-Marquardt, dan algoritma genetic. Tiap metode pembinaan mempunyai satu himpunan parameter yg mengatur berbagai aspek dari pembinaan misalnya misalnya menghindari local optima atau mengatur kecepatan konversi. 

Arsitektur (atau topologi) berdasarkan jaringan saraf merupakan jumlah menurut simpul dan layer-layer tersembunyi, dan bagaimana mereka saling bekerjasama. Dalam merancang jaringan saraf, baik user maupun aplikasi harus menentukan jumlah simpul dan layer tersembunyi, fungsi aktivasi, serta batasan-batasan bobot. Meskipun masih ada anggaran umum, kita umumnya tetap wajib bereksperimen menggunakan parameter-parameter tadi.

Tipe yang paling umum menurut jaringan saraf merupakan jaringan feed forward backpropagation. Untuk kesederhanaan bahasan, kita akan membahas jaringan menggunakan satu hidden layer.

Training Backpropagation hanyalah galat satu versi dari gradien descent, suatu jenis algoritma yg mencoba buat mengurangi nilai sasaran (error, dalam kasus jaringan saraf) dalam tiap langkah. Algoritma ini bekerja misalnya berikut:

Feed forward: Nilai menurut simpul output dihitung menurut nilai simpul input serta bobot-bobot awal. Nilai-nilai dari simpul input ini dikombinasikan dalam hidden layers, serta nilai berdasarkan simpul-simpul pada hidden layer digabungkan untuk menghitung nilai output.

Backpropagation: Error pada output dihitung dengan mencari beda antara output terhitung dan hasil yg diinginkan. Kemudian, error dari output dimasukkan kembali ke hidden layer secara proporsional, sinkron menggunakan bobotnya. Hal ini akan membuat error dihitung buat tiap simpul hasil dan simpul tersembunyi pada jaringan. Akhirnya, error di tiap simpul tersembunyi dan simpul hasil digunakan sang algoritma untuk mengatur bobot yg masuk ke simpul buat mengurangi error.

Proses ini berulang buat tiap baris pada himpunan traininng. Tiap lewatan terhadap tiap baris dalam himpunan traininng diklaim epoch. Himpunan training ini akan digunakan berulang kali, hingga error yg dihasilkan tidak lagi berkurang. Pada titik tadi jaringan saraf dipercaya teah terlatih buat menemukan pola pada himpunan test. Lantaran banyak sekali parameter yang mungkin ada pada jaringan tersembunyi, suatu jaringan saraf dengan simpul-simpul tersembunyi yg relatif akan selalu menuntaskan training set bila dibiarkan berjalan relatif usang. Tapi seberapa baikkah jaringan saraf tersebut buat data yang lain? Untuk menghiondari jaringan saraf yg overfitted yang akan hanya bekerja dengan baik dalam data training, kita harus memahami kapan harus berhenti melakukan training. Beberapa implementasi akan mengevaluasi jaringan saraf pada data penguji secara periodik selama latihan. Selama error rate pada hipunan penguji terus menurun, pelatihan akan terus dilakukan. Jika error rate bertambah, meskipun error rate dalam data traininng terus menurun, maka jaringan saraf mungkin mengalami overfitting. Grafik pada gambar mengilustrasikan bagaimana himpunan data penguji bisa menolong kita menghindari overfitting. Kita dapat melihat bahwa error rate terus menurun pada tiap lewatan jariingan saraf terhadap data (garis titik-titik), akan namun error rate buat data penguji mengalami kenaikan. Karena tujuan dari data mining adalah untuk menciptakan prediksi dalam data yang bukan himpunan traininng, maka kita tentu saja wajib memakai jaringan saraf yang akan meminimalisasi error pada data penguji, bukan data pelatihan.

Gambar Error rate sebagai fungsi jumlah epoch dalam jaringan saraf

Jaringan saraf berbeda secara filosofis dari poly metode statistik dalam beberapa hal. Pertama, jaringan saraf umumnya mempunyai lebih poly parameter. Misalnya, terdapat 3 belas parameter (9 bobot dan 4 bias) dalam jaringan saraf dalam gambar 4. Karena banyaknya parameter, dan kombinasi dari parameter menghasilkan prediksi yg similar, parameter menjadi uninterpretable serta jaringan bertindak menjadi prediktor “black box”. Pada kenyataannya, suatu output mampu diasosiasikan menggunakan beberapa himpunan bobot yang berbeda. Oleh karena itu, bobot network secara generik nir membantu pada usaha untuk mengerti proses yg membentuk prediksi. Akan namun hal ini dapat diterima pada banyak pelaksanaan. Suatu bank hanya ingin mengenali secara otomatis suatu pertanda tangan, akan tetapi nir peduli bentuk rekanan fungsional antara pixel serta karakter yang diwakilinya. Beberapa aplikasi yang mempunyai ratusan variabel sebagai input ke pada contoh menggunakan ribuan parameter (bobot simpul) mencakup pabrik kimia, robot serta pasar keuangan, serta kasus-perkara sosialisasi pola misalnya suara, vision dan karakter.

Satu laba menurut contoh jaringan saraf merupakan jaringan saraf gampang buat diimplementasikan buat dijalankan pada paralel komputer dengan tiap node menjalankan kalkulasinya sendiri-sendiri secara simultan.

Pengguna wajib sadar terhadap beberapa kabar mengenai jaringan saraf: pertama, jaringan saraf nir gampang buat ditafsirkan. Tidak ada penerangan rasional yg eksplisit tentang bagaimana suatu jaringan saraf melakukan keputusan atau prediksi. Kedua, jaringan saraf cenderung mengalami overfit data training kecuali pengukuran yang sangat ketat, buat acakan bobot atau validasi silang dilakukan secara hati-hati.ketiga, jaringan saraf membutuhkan saat usang untuk melakukan pelatihan kecuali masalahnyas sangat kecil. Setelah ditrain, jaringan saraf sanggup melakukan prediksi menggunakan relatif cepat. Keempat, jaringan saraf membutuhkan persiapan data yang poly. Implementasi yg sukses menurut jaringan saraf membutuhkan pemililihan serta preprocessing data yang baik. Misalnya, jaringan saraf mensyaratkan seluruh variabel harus numerik. Oleh karena itu, data kategoris misalnya “propinsi” biasanya dipecah menjadi variabel dikotomis (contohnya “jawa barat”, “jawa timur”), masing-masing dengan nilai “1” (yes) atau “0” (no). Akhirnya, jaringan saraf akan bekerja dengan baik apabila set data yang digunakan relatif akbar dan rasio frekuwensi terhadap noise cukup tingggi.

Decision trees
Decision tree merupakan cara merepresentasikan perpaduan anggaran yg mengacu ke suatu nilai atau kelas. Misalnya kita mampu mengklasifikasikan suatu proposal pinjaman uang mempunyai resiko baik atau tidak baik. Gambar ? Menerangkan decision tree sederhana: decision node, branches and leaves.

Gambar Classification tree sederhana

Komponen pertama adalah simpul top decision, atau simpul root, yg menentukan test yang akan dijalankan. Simpul root dalam contoh ini adalah “income > $40.000”. Hasil menurut tes ini menyebabkan tree terpecah menjadi dua cabang, dengan tiap cabang meepresentasikan satu menurut jawaban yang mungkin. Dalam masalah ini, jawabannya adalah “ya” serta “nir”, sehingga kita mendapatkan dua cabang.

Bergantung dalam prosedur pemecahan yang dipakai. Tiap simpul mampu memiliki dua atau lebih cabang. Misalnya, CART akan menggenerate hanya 2 cabang dalam tiap simpul. Tree misalnya ini dianggap binary tree. Ketika lebih dari dua cabang diperbolehkan maka dianggap menjadi multiway tree.

Tiap cabang akan mempunyai simpul node yg lain atau dasar tree, yang diklaim leaf. Dengan mengikuti decision tree kita bisa menaruh nilai pada suatu kasus menggunakan memutuskan cabang mana yang akan diambil, dimulai dari simpul root serta berkiprah ke bawah sampai leaf. Dengan menggunakan metode ini, seorang petugas yg bertanggung jawab buat menetapkan hadiah pinjaman terhadap nasabah bisa memilih apakah seorang nasabah mempunyai resiko kredit yang baik atau tidak baik.

Model decision tree umum digunakan pada data mining buat mengkaji data dan menginduksi tree dan anggaran yg akan digunakan buat menciptakan prediksi. Sejumlah prosedur pemecahan yang tidak sinkron sanggup digunakan buat membentuk tree pada antara nya merupakan CHAID (Chi squared Automatic Interactin Detection), CART (Classification and Regression Trees), Quest dan C5.0.

Decision tree berkembang melalui pemecahan iteratif dari data ke dalam grup-grup diskrit, yg tujuannya adalah buat memaksimalkan “jeda” antara grup pada tiap pemecahan. 

Contoh yang kita gunakan sampai ketika ini sangatlah sederhana. Tree ini sangat mudah buat dimengerti serta diinterpretasikan. Akan tetapi, tree bisa menjadi sangat kompleks. Bisa dibayangkan kompleksitas suatu tree yg diturunkan berdasarkan database menggunakan ratusan atribut serta variabel respon menggunakan lusinan kelas input. Tree sperti ini akan sangat sulit untuk dimengerti, meskipuntiap path berdasarkan tree umumnya dapat dimengerti. Dalam hal ini decision tree sanggup menjelaskan prediksinya, yang merupakan laba krusial.

Akan namun, kejelasan ini bisa jadi menyesatkan. Misalnya, percabangan berdasarkan suatu decision tree mengimplikasikan suatu presisi yg sporadis ditemui dalam global nyata. (Kenapa seorang yang gajinya $40.001 akan menjadi nasabah menggunakan resiko kredit yang baik sedangkan seseorang dengan honor $40.000 tidak?)

Selain dua butir algoritma yang dibahas di atas, masih banyak lagi algoritma lain seperti Multivariate Adaptive Regression Splines (MARS), Rule induction, K-nearest neighbor and memory-based reasoning (MBR), Logistic regression, Discriminant analysis, Generalized Additive Models (GAM), Boosting, dan Genetic algorithms.

2. Implementasi Data Mining Email
Mengenali suatu pendekatan yang sistematis adalah hal yg sangat krusial agar kita dapat melakukan data mining dengan sukses. Banyak vendor serta organisasi konsultan sudah menentukan urutan langkah yg akan membentuk hasil yg memuaskan. 

Langkah-langkah dasar pada data mining adalah sebagai berikut: 
1. Define business problem
2. Build data mining database
3. Explore data
4. Prepare data for modeling
5. Build model
6. Evaluate model
7. Deploy model and results

Mengikuti langkah-langkah di atas, maka pertama kali kita harus memilih dulu kasus yang hendak dipecahkan. Dalam hal ini tujuan kita melakukan data mining email wajib terlebih dahulu didefinisikan. Dalam masalah email, data mining umumnya dilakukan buat mengetahui prilaku pelanggan berdasarkan order yang masuk via email, atau bisa jua mengetahui prilaku konsumsi seorang. Suatu contoh konkret, Google melakukan data mining email buat mengetahui iklan yg relevan untuk ditampilkan ke web interface layanan email mereka. 

Tujuan yg tidak selaras membutuhkan pemodelan database dan data yang tidak selaras jua.
Pada makalah ini akan didemonstrasikan bagaimana suatu data bisa diambil berdasarkan aplikasi email client misalnya outlook buat kemudian diparse ke database. Setelah data terkumpul pada database lalu dilakukan data analisis dengan menggunakan perangkat lunak open source Weka (Weikato Environment for Knowledge Analysis).

Karena kesulitan pada mengumpulkan data yang baik (pada hal ini email yg representatif) maka dipakai data fiktif yang kiranya akan menarik untuk dianalisis. Walaupun begitu, permanen akan didemonstrasikan bagaimana email penulis diparse ke pada database Access.

Aplikasi Pendukung
Pada bagian ini akan dibahas pelaksanaan-aplikasi atau bahasa pendukung yang dipakai buat menciptakan aplikasi data mining email dalam makalah ini, yaitu Outlook Express, Visual Basic for Application, serta Microsoft Access.

Outlook Express
Outlook Express merupakan salah satu aplikasi email client yang bekerja pada platform Windows selain Eudora, Mozilla ThunderBird, Pegasus Mail, dan masih banyak lagi yang lainnya.

Alasan penggunaan Outlook pada makalah ini adalah lantaran interoperabilitasnya yg sangat baik dengan sistem pelaksanaan Ms Office lainnya (pada hal ini kita akan menggunakan relational database Ms Access) dan umumnya telah terpaket pada Windows yg kita gunakan. Akan tetapi selain itu, Outlook jua mempunyai kemampuan pengorganisasian email yg cukup baik (virtual folders, versatile searching) dan penyaringan spam yang relatif solid. 

Berikut adalah beberapa fitur dasar berdasarkan Outlook Email Client:
  • Kemampuan mengelola poly account email serta newsgroup
  • Kemudahan dalam mengeksplorasi pesan/email masuk
  • Memiliki addressbook buat menyimpan serta melihat alamat-alamat email
  • Kemampuan mendownload email/newsgroup buat dibaca secara offline
  • Mengirim serta mendapat pesan secara kondusif dengan enkripsi
Microsoft Access
Pada dasarnya Access merupakan suatu Database Management System (DBMS). Seperti halnya produk lain pada kategori ini, Access meyimpan serta memanggil kabar/data, mempresentasikan data yg diminta, dan mengotomasi repetitive tasks. Dengan akses kita sanggup menciptakan form masukan yg gampang dipakai seperti diperlihatkan pada gambar ?

Gambar Screenshot form pada Access

Akses pula merupakan pelaksanaan database windows yg cukup powerful. Karena baik Windows juga Access adalah produk Microsoft, ke 2 produk tadi berafiliasi menggunakan sangat baik. Access berjalan di seluruh versi windows.

Dengan memakai OLE (Object Linking Embedding) pada Windows serta produk Ms Office (Excel, Word, Power Point serta Outlook) kita bisa menyebarkan kemampuan Access. OLE memungkinkan produk yg satu dengan lainnya saling bertukar kabar dengan gampang.

Berikut beberapa fitur yang ditawarkan Access:
  • Database management system yg sahih-sahih relasional
  • Wizard yg mudah digunakan
  • Importing, exporting, dan linking tabel
  • Form serta laporan dengan fitur WYSIWYG
  • Multiple table queries and relationships
  • Business graph and chart
  • Kemampuan DDE dan OLE
  • True Client/server
  • Dukungan modul VBA
Gambar ? Mengilustrasikan kemampuan Access pada poly level

Gambar Kemampuan Access dalam banyak level

VBA Pada Access
Access mempunyai poly tool yang relatif baik yang memungkinkan kita bekerja dengan database dan tabel, queries, form, dan report yg dimilikinya tanpa menulis satu baris kode pun. Akan namun, pada perkara-perkara tertentu, kita mungkin membutuhkan pengembangan aplikasi yang lebih rumit seperti misalnya validasi input yang lebih ekstensif atau error handling yg lebih baik.

Untuk situasi-situasi seperti ini, kita membutuhkan suatu bahasa tingkat tinggi. Access menyediakan bahasa pemrograman yg disebut Visual Basic for Application (VBA) yg bisa menaikkan kemampuan berdasarkan Access dan melebihi kemampuan yg ditawarkan oleh Macro.

Visual Basic sudah menjadi bahasa generik buat seluruh pelaksanaan Microsoft. Visual Basic ada di semua pelaksanaan Ms Office XP, termasuk Excel, Word, Power Point, dan outlook. Visual Basic adalah bahasa pemrograman terstruktur yang memberikan bnyak struktur pemrograman yg sudah biasa dipakai oleh programmer misalnya If .. Then … Else, Select Case, serta seterusnya. Visual Basic memungkinkan seorang programmer bekerja menggunakan fungsi dan subrutin pada dalam bahasa yg hampir seperti layaknya bahasa Inggris. Bahasa ini pula sangat ekstensibel (sanggup memanggil rutin Windows API) serta sanggup berinteraksi melalui ADO (Active Data Objects) atau DAO (Data Access Objects) menggunakan seluruh tipe data Access atau Visual Basic. 

Weka
Weka adalah koleksi algoritma data mining buat tugas-tugas data mining. Algoritma ini sanggup diterapkan secara pribadi ke dalam dataset atau bisa juga dipanggil dari kode java kita sendiri. Weka mempunyai tools untuk data pre-processing, classification, regression, clustering, association rules, dan visualization. Weka jua cocok buat digunakan dalam pengembangan skema baru learning machine. Weka adalah software open source yg diterbitkan dibawah lisensi GNU General Public License.

Perancangan dan Implementasi
Tujuan berdasarkan pelaksanaan ini merupakan buat men data-mine email yang berada pada mailbox Outlook. Kita akan mengekstrak liputan email serta memasukkan warta tersebut ke pada relational database sehingga kemudian kita sanggup menganalisanya dengan beberapa prosedur pemecahan data mining. 

Jadi langkah perancangan pertama kali merupakan dengan merancang program pengekstrak data email Outlook untuk lalu di ekspor ke Access. Selanjutnya membentuk contoh data mining berdasarkan data mentah yang telah kita tambahkan ke database tersebut. 

Secara garis besar contoh berdasarkan pelaksanaan data mining ini dapat diilustrasikan sebagai berikut:

Gambar Alur proses data mining

Program Pengekstrak serta Pengimpor Data Email
Sebenarnya kita mampu menghubungkan Outlook menggunakan Access tanpa melakukan pemrograman sedikitpun. Yakni menggunakan menggunakan driver yg sudah terpasang secara built-in pada Office 2000. Sayangnya metode ini memiliki kekurangan dalam hal kesulitan pada kustomisasi database. Untuk pertimbangan kemudahan kita hanya akan memakai import wizard menurut Access yang akan mengimport seluruh data email yg ada dalam inbox outlook. Untuk menciptakan database yang lebih baik, mungkin kita bisa mendesign sendiri struktur database yang baik serta lalu menulis script sederhana menggunakan visual basic editor pada outlook agar setiap email yang diterima akan eksklusif dimasukkan ke database. Berikut acara sederhana berbentuk modul pada Microsoft Access buat mengimport email dari outlook dengan menggunakan bahasa Visual Basic for Application.

Option Compare Database 
  • Dim ol As New Outlook.application 
  • Dim PublicFolder As MAPIFolder 
  • Dim OldTaskItems As Items 
  • Dim itm As Outlook.taskItem 
  • Dim AppPath As String 
Sub ImportItems() 
Set PublicFolder = ol.getnamespace("MAPI").folders("Public Folders").folders("All Public Folders").folders("PT").folders("Help Desk Application").folders("Tarefas Antigas") 

Set OldTaskItems = PublicFolder.items.restrict("[Subject] > ''") 

Dim nmritens As Integer 
nmritens = OldTaskItems.count ' 
' If nmritens = 0 Then 
' MsgBox "Tidak ada item baru" 
' Else 
' MsgBox " Terdapat" & nmritens & " untuk diimport" 
' End If 

For Each itm In OldTaskItems 
If nmritens > 1 Then 
Set appAccess = CreateObject("Access.application") 
strAccessPath = appAccess.syscmd(9) 
strDBName = "c:/documents and Settings/doni/my Documents/mdb/" & "importoutlook.mdb" 'strAccessPath & "email.mdb" 
Set dbe = CreateObject("DAO.dbengine.36") 
Set wks = dbe.workspaces(0) 
Set dbs = wks.openDatabase(strDBName) 
Set rst = dbs.openRecordset("tblHdrs") 
rst.addnew 
rst.remetente = itm.userProperties("Behalf") 
rst.assunto = itm.userProperties("Subject") 
rst.recebido = itm.userProperties("Received Date") 
rst.fechado = itm.userProperties("Close Date") 
rst.update 
rst.close 
dbs.close 
End If 
Next 
End Sub 

Hal yang sama sanggup kita lakukan jika kita lebih menentukan memakai server misalnya MSSQL, MySQL, atau PostGreSQL. 

Berikut merupakan data yang mungkin dihasilkan:

Gambar Tabel import berdasarkan outlook

Bisa dicermati data diatas nir terlalu menarik buat dianalisis, karena sifatnya yang terlalu luas serta tidak khusus. Beberapa hal yang mampu dianalisis mungkin buat menemukan istilah terbanyak yg ada sehingga sanggup digunakan untuk memilih ketertarikan sang empunya email, atau siapa pengirim email terbanyak. Dalam bagian berikutnya kita akan mensimulasikan data yg lebih menarik untuk disimulasikan namun nir terlalu besar .

Analisis Data
Misalkan suatu pasangan orang tua yg sibuk memiliki account email yang digunakan buat mendapat email berisi laporan cuaca tiap hari serta kegiatan bermain anak menurut sang baby sitter. Template email telah diatur sedemikian rupa sehingga membentuk data menjadi berikut: 

Gambar Data cuaca serta aktivitas bermain anak

Data tadi akan disimulasikan menggunakan memakai Weka. Dalam manualnya aplikasi Weka hanya mendapat format file ARFF. Walaupun kita bisa saja langsung memakai format arsip Access dengan membarui kode atau membuat kode kita sendiri menggunakan memanfaatkan library yg telah ada pada Weka.

Berikut adalah isi file weather.arff yang adalah hasil konversi menurut tabel email pada database Access.
@relation weather
@attribute outlook sunny, overcast, rainy
@attribute temperature real
@attribute humidity real
@attribute windy TRUE, FALSE
@attribute play yes, no
@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no

Sekarang kita bisa memulai menganalisa data tersebut dengan menggunakan algoritma yg sudah disediakan. Untuk menampakan apa yg bisa dilakukan decision tree learner pada data tadi, kita bisa memakai algoritma j4.8, yang merupakan implementasi Weka buat decision tree learner. Kita dapat mengetik:

java weka.classifiers.J48.J48 -t weather.arff
Pada command line. Atau memakai Graphical User Interface yang tersedia.

Berikut hasil yang kita dapatkan:
J48 pruned tree
outlook = sunny
humidity <= 75: yes (dua.0)
humidity > 75: no (tiga.0)
outlook = overcast: yes (4.0)
outlook = rainy
windy = TRUE: no (2.0)
windy = FALSE: yes (tiga.0)
Number of Leaves : 5
Size of the tree : 8

=== Error on pembinaan data ===
Correctly Classified Instances 14 100 %
Incorrectly Classified Instances 0 0 %
Mean absolute error 0
Root mean squared error 0
Total Number of Instances 14

=== Confusion Matrix ===
a b <-- as="" classified="" o:p="">-->
9 0 a = yes
0 5 b = no

=== Stratified cross-validation ===
Correctly Classified Instances 9 64.2857 %
Incorrectly Classified Instances 5 35.7143 %
Mean absolute error 0.3036
Root mean squared error 0.4813
Total Number of Instances 14

=== Confusion Matrix ===
a b <-- as="" classified="" o:p="">-->
7 dua a = yes
3 2 b = no

Bagian pertama adalah decision tree dalam bentuk teks. Seperti bisa kita lihat, percabangan pertama adalah pada atribut outlook, dan lalu pada level selanjutnya, percabangan terjadi masing-masing dalam humidity dan windy. Dalam struktur pohon, titik 2 merepresentasikan label kelas yang telah diberikan ke leaf eksklusif, diikuti dengan angka yg merepresentasikan jumlah instans yg memenuhi persyaratan tersebut. 

Dibawah struktur pohon, jumlah leaf dicetak, lalu total jumlah simpul pada pohon (size of the tree).
Bagian kedua hasil menampakan kesalahan yang terjadi pada data trining. Dalam masalah ini, semua 14 data telah diklasifikasi dengan sahih, dan tak satupun yg dibiarkan tidak terklasifikasi. Suatu instans sanggup tidak diklasifikasi bila skema pembelajaran menahan anugerah suatu kelas label ke instans tersebut.

Kesimpulan berdasarkan data training bisa dipandang dalam confusion
matrix, yg menunjukkan berapa banyak instans berdasarkan tiap kelas sudah diassign ke tiap kelas. Dalam masalah ini, hanya elemen diagonal berdasarkan matriks yang non-zero karena semua instans sudah diklasifikasikan secara sahih. 

Bagian terakhir berdasarkan output memberitahuakn output yg didapat menurut stratified ten-fold cross-validation. Modul evaluasi secara otomatis melakukan ten-fold cross-validation bila tidak diberikan arsip test. Seperti dapat kita lihat, lebih berdasarkan 30% instans (5 menurut 14) sudah diklasifikasikan secara salah pada validasi silang. Hal ini mengindikasikan bahwa output yang didapatakan dari training data dangat optimistik dibandingkan menggunakan apa yg mungkin didapat menurut himpunan tes yang independen dari source yang sama. Dari confusion matrix kita bisa melihat bahwa 2 instans kelas yes sudah dikelompokkan ke kelas no, serta 3 kelas no diassign ke kelas yes.