Mining the Web – Bidang Yang Kian Penting Saat ini

Menurut Prof. Rhenald Kasali, beberapa perusahaan ternama akhir-akhir ini jatuh secara tiba-tiba karena fenomena “disruptive”. Fenomena ini merupakan bagian dari konsep “the invisible hand” dari Adam Smith kira-kira se-abad yang lalu. Tapi fenome disruptive muncul karena kejatuhannya yang tiba-tiba tanpa adanya gejala-gejala, ibarat serangan jantung, perusahaan-perusahaan raksasa tumbang mengenaskan. Laporan keuangan yang ok, tidak ada indikasi penetrasi atau serangan dari pesaing, tapi entah mengapa tiba-tiba ditinggalkan konsumen dan hancur. Di sisi lain, digrebeknya grup saracen yang berbasis online, dipenjaranya seorang gubernur karena rekamannya yg beredar online, tokoh aliran tertentu yang masih menunggu diperiksa, dan hal-hal lainnya mewarnai dunia digital di tanah air.

Dulu sempat mengajar e-commerce dan data mining tetapi tidak begitu membahas masalah dampaknya di masyarakat. Ternyata sangat besar. Konsumen mulai bergeser dari offline menjadi online (elektronik). Demo besar-besaran perusahaan taksi ternama di tanah air merupakan suatu sinyal akan adanya perubahaan perilaku konsumen dari offline transaction menjadi online. Dari sisi data mining, yang saya ajarkan (maupun buku yang diterbitkan) hanya berfokus ke database konvensional saja (bukan berbasis web). Oleh karena itu, upgrade ke versi web untuk mendukung terapannya dalam e-commerce sepertinya harus dimulai.

Ketika main ke perpustakaan, saya menjumpai buku lama terbitan 2001 yang membahas data mining pada web. Tahun-tahun itu merupakan tahun mulai berkembangnya riset-riset berbasis web yang hasilnya adalah aplikasi-aplikasi yang banyak dijumpai oleh orang-orang seperti sosial media, entertainment, dan sejenisnya. Berikut intro yang sari sarikan dari buku tersebut.

E-Commerce

Sesuai dengan namanya, e-commerce menjembatani antara produsen dengan konsumen lewat kanal/saluran baru yaitu transaksi elektronik, itu saja. Tetapi ternyata dengan pemanfaat media online dampaknya sangat besar walaupun tidak ada yang berubah dari sistem produksi, penentuan harga, laproan penjualan, dan sebagainya. Hal-hal yang membedakannya adalah kemampuan media online untuk menyediakan layanan yang cepat dalam menawarkan barang lewa “search engine”nya dalam bentuk rekomendasi, mampu mengingat history seorang pelanggan di waktu yang lampau, dan mampu secara cepat mengontrol persediaan barang mengikuti tren pemesanan barang oleh konsumen. Itu saja sudah cukup menghajar pemain-pemain lama yang tidak sadar akan bahayanya lengah terhadap media elektronik online.

E-Media

Selain perdagangan barang real, ternyata media terkena imbas dari media online. Mungkin mereka bisa bertahan karena karakter media yang tajam dalam melihat gejala-gejala adanya suatu fenomena, sehingga beberapa surat kabar bisa dengan “smooth” beralih dari media cetak ke online. Tetapi tentu saja media online memiliki keunggulan dibanding versi cetak karena media cetak tidak bisa mengetahui siapa saja yang telah membaca berita di dalamnya. Media online bisa mengetahui berita-berita yang menarik minat konsumen sehingga di masa yang akan bisa menulis berita-berita yang disukainya itu. Selain itu, media online memiliki karakteristik khusus yang “custom” dimana konsumen bisa memilih berita mana yang ingin diakses, khususnya yang berupa video. Inilah sepertinya yang dikhawatirkan oleh televisi-televisi lokal yang berbasis gelombang frekuensi yang dalam satu waktu tertentu hanya menyiarkan satu acara tertentu. Tinggal menunggu iklan yang lewat, jika tidak ada yang beriklan sepertinya siap-siap mengucapkan kata “selamat tinggal” (mungkin masih bisa bertahan untuk kampanye pemilu).

E-Markets

Saya, atau mungkin kita, pernah kecewa ketika telah membeli sesuatu ternyata ada tempat lain yang menjual dengan harga lebih murah, sakitnya tuh di sini. Dengan e-markets beberapa situs telah menyediakan fasilitas yang membandingkan harga-harga produk, seperti tike pesawat, hotel, dan lain sebagainya. Konsumen tinggal menilai sendiri, cari yang murah atau yang mahal tapi lebih nyaman. Selain itu, situs e-markets bisa menawarkan sesuatu selain yang dibeli, sehingga lebih banyak kemungkinan barang yang berhasil dijual. Sebenarnya ini menguntungkan konsumen juga karena tidak perlu jalan atau naik ekskalator mencari produk tertentu, kecuali memang ingin jalan-jalan.

Brands/Merk

Ini merupakan hal penting yang menunjukan kualitas suatu produk terhadap konsumen. Dari jaman dulu, konsep tentang “branding” tidak berubah. Konsumen cenderung membeli produk yang telah dikenalnya lama. Kematian suatu merk terkadang mengindikasikan kematian suatu perusahaan. Namun saat ini kualitas merk sangat-sangat tergantung dengan media online. Dua kali kecelakaan pada maskapai MAS sudah cukup menurunkan brand maskapai itu. Dan sialnya lagi, maraknya media sosial terkadang menyediakan hoax-hoax yang mengganggu brand suatu produk. Oleh karena itu tiap perusahaan sepertinya menyediakan tim yang memantau pergerakan brand di media online.

Sungguh pembahasan yang menarik. Masih banyak aspek-aspek lain yang bisa dipelajari dari aplikasi web, seperti periklanan, target marketing, customer value, real time considerations, understanding customers and business processes, experimental design for marketing, dll. Semoga tulisan ini bisa berlanjut.

Ref

Linoff, G. S., & Berry, M. J. A. (2001). Mining the Web. United States of America.

 

Iklan

Melihat Data Network Hasil Training JST – Versi GUI

Pada postingan yang lalu telah dibahas cara mengetahui hasil training Jaringan Syaraf Tiruan (JST) dengan command window. Begitu juga bagaimana mengupdate salah satu parameternya, misalnya bias dan bias, sudah dibahas. Tetapi beberapa pembaca sepertinya agak kesulitan dengan instruksi-instruksi lewat command window. Oleh karena itu di sini akan dibahas cara yang jauh lebih mudah yaitu dengan “nntool”, salah satu GUI bawaan Matlab untuk merakit JST.

Sebenarnya masalah ini muncul ketika saya mencari kembali hasil training JST untuk peramalan (lihat post peramalan dengan JST di sini). Masalah yang sering dijumpai adalah “lupa”, karena banyaknya yang harus dikerjakan terkadang membuat seseorang lupa. Untungnya saya aktif menulis, tinggal masukan kata kunci di kolom “search” blog, catatan terdahulu yang dicari langsung ketemu. Jadi blog itu seperti catatan yang disimpan di “awan (cloud)” yang bisa diakses di mana saja dan kapan saja. Buka Matlab dan ketik nntool di command window.

Sebelumnya load terlebih dahulu Mat-file hasil training yang berisi variabel-variabel network. Di sini saya ada 7 variabel network yang saya sendiri lupa konfigurasinya. Setelah menekan “Import” di nntool maka muncul pilihan variabel yang akan dilihat. Ambil salah satu variabel hasil loading yang ada di workspace Matlab, dilanjutkan dengan kembali menekan Import setelah memilihnya.

Tekan Ok ketika ada informasi bahwa netwok telah berhasil diimpor. Tutup lagi sementara jendela Import to network/Data Manger. Perhatikan nntool kini telah muncul Network1 hasil impor. Untuk melihat isi dari variabel itu dobel klik saja di variabel tersebut.

Sebenarnya gambar di atas sudah cukup untuk mengetahui struktur JST yang telah dilatih dahulu. Misalnya input yang berjumlah 4 variabel dengan 1 keluaran. Hidden layer yang terletak di tengah tampak berjumlah sembilan. Gambar di atas khusus untuk Matlab versi 2013 ke atas, sementara Matlab versi yang terdahulu tidak memunculkan informasi tentang neuron-neuronnya. Silahkan tekan View/Edit Weights jika ingin melihat konfigurasi bobot-bobotnya. Kebetulan saya memiliki 4 variabel data yang akan dicoba prediksi dengan JST tersebut. Atau jika tidak ada, buat saja sendiri di command window. Tambahkan data input di nntool.

Tekan tombol Simulate pada network untuk memprediksi. Cara ini bisa juga dengan command window lewat instruksi sim.

Ada pesan untuk melihat nntool karena hasilnya dikirim ke sana. Jika sudah kembali ke nntool, tekan dua kali Output. Tampak hasilnya.

Sepertinya dengan nntool tidak banyak mengetik, alias tinggal klak-klik mouse saja. Jadi dengan empat masukan pada data akan menghasilkan satu keluaran (0.48). Di sini sebaiknya kita menggunakan normalisasi data, kalau bisa normal Euclidean, karena matrix yang dibuat dengan normal euclidean ortogonal yang disukai JST.

Cluster Data dari ArcGIS ke Matlab

Postingan kali ini bermaksud mencoba membuat video tutorial bagaimana mengkluster data dari arcgis dengan software matlab. Iseng-iseng dengan pengisi suara dari translate google, ternyata oke juga. Hasilnya pun lumayan jelas dibanding saya yang ngomong .. haha.

Ada dua kandidat software perekam yang digunakan yaitu ‘screen-o-matic’ dan ‘microsoft expression’ yang keduanya gratis untuk menggunakannya. Hanya saja microsoft expression kali ini unggul karena bisa merekam suara dari ‘translate google’ dan saya belum berhasil dengan ‘screen-o-matic’ yang unggul jika ingin ada cam-nya. Silahkan lihat videonya.

Ups .. ternyata terpotong karena lebih 10 menit. Hasilnya adalah berikut ini.

Instal WEKA untuk Data Mining

Untuk yang berkecimpung dengan dunia Data Mining sepertinya tidak asing dengan software WEKA yang dibuat oleh Universitas Waikato Selandia Baru. Sebelumnya saya menggunakan Matlab yang “bisa diotak-atik” dan Microsoft SQL Server Development Management yang cukup tangguh menangani data besar (lihat kategori “data mining“). WEKA sendiri setahu saya banyak dipakai oleh mahasiswa pascasarjana bidang ilmu komputer di tanah air. Postingan ini sekedar sharing informasi WEKA yang kebetulan saya instal untuk membantu rekan yang ingin lulus M.Kom di satu universitas swasta komputer yang cukup terkenal di Jakarta.

Source Software Weka

WEKA dapat diunduh gratis di situs resminya (klik di sini) milik Waikato University, suatu kampus ternama di New Zealand yang menurut rangking “top univerisities” masuk 200 besar. Saat tulisan ini dibuat masuk versi 3.8 (walaupun ada yang 3.9 tapi masih beta). Pilih sistem operasi yang cocok ketika mengunduh, misalnya 64 bit windows seperti laptop saya. Ukurannya sekitar seratusan Mb.

Instalasi

Dobel klik file yang baru saja diunduh untuk menginstal Weka. Setelah proses ekstraksi selesai, lanjut dengan instalasi, klik saja Next

Tampak persetujuan lisensi untuk Weka versi 3.8.1 yang akan diinstal. Tekan saja “I Agree” untuk lanjut. Saat muncul menu pilihan komponen, pilih saja yang disarankan Weka.

Tunggu hingga proses ekstrasi dan menginstal selesai. Sepertinya Weka menggunakan bahasa pemrograman Java dalam kolaborasi.

Ikuti saja ketika diminta menginstal Java. NOTE: jika sebelumnya sudah terinstal Weka, biasanya ada permintaan untuk uninstalling Jave versi sebelumnya. Namun demikian, proses instalasi terus berlanjut. Proses instlasi selesai setelah ditekan Next, selamat mencoba, semoga bisa segera posting mengenai Weka ini.

 

Kluster Data Spasial dari ArcGIS/ArcView dengan Fuzzy C-Means (FCM)

Data spasial adalah data yang berupa koordinat geografis suatu elemen dalam peta. Data itu bisa berupa titik maupun polygon. Di sini kita akan mencoba data spasial berupa titik-titik lokasi berasal dari ArcGIS atau GIS tool lainnya sesuai dengan proyeksi yang digunakan. Apa itu proyeksi? Panjang ceritanya, sebaiknya baca buku tentang geographic information system (GIS). Untuk praktek dapat kita buat spasial data yang sudah ada dalam format shapefile (berekstensi *.shp). Untuk memudahkan proses operasi, siapkan direktori kerja di lokasi dimana shapefile itu berada.

Anda harus memiliki fungsi “shaperead” di Matlab, biasanya sudah include di dalamnya untuk versi-versi terbaru. Cara mengeceknya dengan mengetik “help shaperead” di command window, kalau tidak ada, Matlab akan memberi pesan bahwa fungsi shaperead tidak ada. Berikutnya kita akan mengkonversi data ini ke dalam data berekstensi “dat”.

Ok, pastikan file “commercial.dat” yang merupakan konversi workspace ke file “dat” berhasil tersimpan. Mengapa langkah ini diperlukan? Karena toolbox FCM yang kita gunakan berikut ini menggunakan data berekstensi dat ini. Sebenarnya jika menggunakan fungsi fcm dari command window tidak perlu mengkonversi ke dat file, bisa langsung dari workspace, tapi untuk pemula, lebih mudah menggunakan toolbox. Ketik “findcluster” di command window sehingga muncul jendela berikut ini.

Kebetulan toolbox tersedia dalam dua dimensi, sehingga cocok dengan data spasial. Untuk yang tiga dimensi sepertinya agak ribet dan harus mengatur sumbu x,y, z. Atau untuk dimensi >2 sebaiknya menggunakan fungsi dari command window. Ketik “load data” untuk memanggil data, pilih “commercial.dat” yang telah dibuat sebelumnya.

Perhatikan tiga titik hitam yang merupakan titik pusat tiga kluster yang akan kita bentuk. Anda bisa mengganti jumlah kluster, misalnya hanya dua saja dan tekan “start” kembali untuk mencari pusat kluster yang baru. Untuk menyimpan pusat kluster, dapat Anda lakukan dengan menekan “Save Center” lalu simpan dalam bentuk “dat”. Berikutnya tiga center ini akan coba kita buka dengan di ArcGIS di postingan yang akan datang, selamat mencoba. Lanjut baca : Konversi Mat-File ke Shapefile

Bikin Buku Lagi .. “Pemrograman Database dengan Matlab”

Menganggur saat bulan puasa ternyata enak juga buat menulis. Saat berada di “dunia” sendiri tiba-tiba adzan maghrib pertanda waktu berbuka puasa. Setelah berbuka, refresh lagi, dan siap meracik tulisan lagi. Setelah lebaran, jadilah satu buku “Pemrograman Basis Data dengan Matlab”. Belum tentu itu judulnya karena terkadang penerbit menyarankan untuk mengganti judul dengan judul yang menarik dari sisi pemasaran. Begitulah, harus terjadi kerjasama yang baik antara penulis dengan pemasaran, jika tidak, sudah dapat dipastikan buku tersebut tidak laku.

Sebenarnya buku yang sedang direview oleh penerbit (semoga lolos) tersebut berawal dari pertanyaan-pertanyaan di blog ini. Lalu muncul ide bagaimana jika dibuat dalam satu paket buku beserta contoh-contoh aplikasinya. Apalagi banyak yang masih sangsi bahwa Matlab bisa menghasilkan aplikasi yang terhubung dengan basis data seperti bahasa-bahasa yang lain seperti visual basic, java, dan bahasa pemrograman visual lainnya. Matlab selama ini dipuji karena tangguh di sisi komputasi. Bukan tangguh sih sebenarnya, tetapi mudah dan user friendly. Jadi jika bisa mengelola database, maka perancang bisa dengan baik menghubungkan komputasi teknis, soft computing, data mining, dengan basis data yang dimiliki. Database Management System (DBMS) yang dipilih adalah Microsoft Access sebagai perwakilan DBMS desktop dan MySQL untuk DBMS berbasis web. Sepertinya cukup karena keduanya merupakan DBMS yang paling banyak digunakan saat ini, terutama mahasiswa.

Untuk contoh aplikasi, dipilih kasus-kasus yang sering dijadikan tugas akhir (skripsi atau thessis) para mahasiswa yaitu data mining dengan clustering, enkripsi database, pengolahan citra, yang dirakit tentu saja dengan GUI. Tulisan diakhiri dengan lampiran-lampiran yaitu pembuatan executable program dan teori dasar struktur data di Matlab yang sangat penting karena proses perpindahan dari DBMS ke Matlab untuk diproses dan sebaliknya.

Seperti biasa, operasi dasar pada pemrograman basis data dipelajari yang dikenal dengan istilah CRUID (create, read, update, insert, dan delete). Pembuatan grafik setelah proses clustering dan pengolahan citra digital yang kemudian disimpan ke database dibahas dengan sederhana. Jika tombol “clustering” ditekan maka tiap record di database data langsung terupdate masuk kluster yang mana (kluster 0 atau 1). Tentu saja Anda bisa mengembangkan menjadi lebih dari dua kluster. Tanda tangan yang tadinya image kini dirubah menjadi biner (0 dan 1) yang bermanfaat untuk mengurangi kapasitas penyimpanan (dibandingkan penyimpanan dalam bentuk image utuh) yang biasanya diterapkan di perbankan.

Sepertinya pengolahan data dengan notepad atau excel yang bersifat offline dari database sudah mulai diganti dengan sistem yang online karena perubahan data terjadi secara cepat dengan jumlah yang besar (big data). Semoga buku seharga beberapa bungkus rokok tersebut segera terbit (whee lah …). Amiin.

Sumber Data untuk Riset Komputasi

Data merupakan komponen penting dalam suatu riset. Sumbernya bisa secara langsung (data primer), bisa juga berasal dari sumber lain (data sekunder). Untuk menguji akurasi dari metode yang kita temukan mau tidak mau harus diuji dengan data real. Dengan berkembangnya internet, saat ini banyak lembaga-lembaga riset yang menyediakan data secara cuma-cuma. Tentu saja khusus riset tentang metode perbaikan dari metode yang ada karena jika risetnya tertuju pada lokasi tertentu maka mau tidak mau kita mengambil data dari lokasi tersebut.

Salah satu situs yang dapat dijadikan sumber data adalah https://archive.ics.uci.edu/ml/datasets.html yang berfokus pada machine learning dan intelligent system yaitu teknik-teknik yang dipakai dalam proses data mining dan decision support system. Situs ini berisi data-data yang sudah digunakan sejak tahun 1987 oleh David Aha ketika masih menjadi mahasiswa di UC Irvin.

Situs lainnya ada yang unik karena selain menyediakan data juga sebagai tempat kontes akurasi dalam menangani “big data” dengan hadiah yang lumayan besar. Dapat di akses di http://www.kaggle.com/ dengan terlebih dahulu sign up jika Anda belum memiliki akun. Karena bekerja dengan format big data maka pastikan akses internet Anda cepat karena data yang di download besarnya terkadang dalam gigabyte.

Selain mendownload dan mengikuti kontes/lomba kita dapat juga menguji hasil olah data yang telah kita lakukan dengan mengupload data hasil oleh sesuai format yang diminta (biasanya csv) dan langsung mengetahui rankingnya walaupun kontes sudah tidak dilombakan lagi dan pemenangnya sudah diperoleh.