Auto Model Pada RapidMiner

RapidMiner masih menjadi andalan bagi banyak pemula dalam data mining, terutama mereka yang berasal dari luar bidang IT. Antarmukanya yang berbasis drag-and-drop memudahkan pemrosesan data tanpa perlu menulis kode. Namun, satu hal yang sering membingungkan bagi pemula adalah memahami domain atau kategori penelitian yang tersedia. Misalnya, apa perbedaan antara klasifikasi, regresi, dan clustering? Apalagi ketika memasuki model yang lebih kompleks seperti association rules atau anomaly detection, pengguna baru sering kali merasa tidak yakin harus memulai dari mana.

Software RapidMiner dapat diunduh secara gratis melalui situs resminya di http://rapidminer.com. Meski demikian, beberapa fitur lanjutan tidak tersedia secara gratis, termasuk fitur yang akan dibahas di sini, yaitu Auto Model. Namun, jika Anda baru pertama kali menginstal RapidMiner, fitur Auto Model biasanya tersedia untuk dicoba secara gratis selama masa awal penggunaan atau melalui paket trial.

Untuk latihan, RapidMiner menyediakan beberapa dataset contoh saat pertama kali dibuka. Meski begitu, akan lebih baik jika Anda juga menggunakan data milik sendiri atau mengunduh dari situs penyedia dataset seperti Kaggle (http://kaggle.com), UCI Machine Learning Repository (http://archive.ics.uci.edu/ml), atau Data World (http://data.world). Sebagai ilustrasi penggunaannya dalam praktik, Anda bisa melihat video tutorial berikut di YouTube:

Mengenal CRISP-DM dengan RapidMiner

Dalam pendekatan CRISP-DM (Cross-Industry Standard Process for Data Mining), terdapat tahapan-tahapan sistematis yang harus diikuti untuk membangun solusi data mining yang efektif. Tahapan awal dimulai dari pemahaman bisnis, di mana kita mencoba memahami tujuan dan konteks masalah dari sisi bisnis. Setelah itu, kita masuk ke tahap pemahaman data, yakni mengumpulkan dan mengeksplorasi data awal untuk mengetahui karakteristiknya.

Untuk keperluan pembelajaran, kita bisa menggunakan data bawaan dari RapidMiner. Namun, penting juga untuk membiasakan diri mengolah data dari sumber eksternal, misalnya dataset Iris yang populer dan dapat diunduh dari situs Kaggle. Setelah login dan mengunduh dataset, kita dapat memuat file CSV tersebut ke dalam RapidMiner menggunakan operator seperti Read CSV. Langkah ini dilanjutkan dengan pengecekan data secara singkat untuk memastikan format dan isinya benar.

Tahap berikutnya adalah data processing, di mana kita membersihkan dan mempersiapkan data sebelum digunakan dalam pelatihan model. Dalam kasus klasifikasi, kita memilih atribut target, misalnya “spesies” sebagai label yang ingin diprediksi. Kita kemudian memisahkan data menjadi dua bagian, yaitu data latih dan data uji, dengan rasio umum seperti 70:30 menggunakan operator Split Data.

Setelah data dipisahkan, kita dapat melanjutkan ke tahap pemodelan. Contohnya, kita bisa menggunakan algoritma Decision Tree untuk membangun model prediktif. Model yang telah dilatih kemudian diaplikasikan pada data uji menggunakan operator Apply Model. Untuk menguji performanya, kita hubungkan dengan operator Performance (Classification) yang akan menghasilkan metrik evaluasi seperti akurasi dan confusion matrix.

Tahapan terakhir dalam CRISP-DM adalah deployment, yaitu bagaimana hasil model ini dapat digunakan secara nyata oleh pengguna akhir. Meskipun RapidMiner lebih terbatas pada sisi implementasi akhir, untuk platform seperti Python atau MATLAB, model bisa diekspor dan dikembangkan lebih lanjut menjadi aplikasi yang lebih mudah digunakan oleh non-teknisi melalui GUI atau API.

Makanan Bergizi

Udara pagi di desa membuat segar setelah semalaman tidur nyenyak karena lelah akibat perjalanan Bekasi ke Ciamis di malam hari. Menyusuri jalan beraspal sambil memandang sawah yang masih hijau membuat rileks hati. Sesekali kendaraan melalui jalan itu diselingi dengan bunyi jangkrik di pinggir kali.

Kebetulan di dekat rumah bibi ada gedung yang akan dijadikan dapur makan bergizi, proyek dari presiden Prabowo, sesuai dengan janji saat kampanye dulu. Postingan ini hanya selingan terkait dengan perang AI antara Amerika Serikat dengan China. Lalu apa hubungannya dengan proyek makan bergizi Prabowo?

Ketika tulisan ini dibuat, baru saja saya menginstal DeepSeek dari China yang diberikan mesin AI-nya secara cuma-cuma. Berbeda dengan ChatGPT dimana GPT tidak bisa kita pasang di laptop atau server kita, bahkan untuk memanfaatkan GPT untuk aplikasi yang dibuat perlu berlangganan. Itu pun hanya berupa Application Programming Interface (AI) dan mesin AI tidak berada di server kita.

China secara mengejutkan membuat mesin AI yang kabarnya lebih canggih dari ChatGPT, khususnya di bidang matematis. Sebelumnya Alibaba memang menampilkan QWEN yang memiliki ketangguhan mirip ChatGPT, dengan kekhususan di bidang bisnis. Tentu saja dengan DeepSeek, aplikasi-aplikasi berbasis LLM dan Generative AI yang tadinya berlangganan ChatGPT pasti berhenti berlangganan. Berikut video untuk menginstall DeepSeek versi mini (diberi istilah distilled atau hasil penyulingan) agar bisa dipasang di laptop atau server kecil. Ukuran bervariasi dari 1,5 gigabyte hingga 400-an Gb.

Jika dibandingkan ternyata untuk pertanyaan sederhana sepertinya ChatGPT masih lebih praktis dan cepat, apalagi di Macbook ada fasilitas menekan Option+Space untuk mengaktifkan ChatGPT instan. Ini merupakan keunggulan ChatGPT dimana versi onlinenya selalu ok, berbeda dnegan DeepSeek yang terkadang “busy”, karena tidak sanggup menjawab pertanyaa orang-orang seluruh dunia. Tapi tetap saja kita bisa memasang secara offline yang tidak perlu pulsa di komputer atau laptop kita.

Untuk interface, banyak aplikasi yang menyediakan selain Chatbox, salah satunya yang saya coba adalah LM Studio. Kemampuan DeepSeek dalam DeepThink bisa dilihat, dan tentu saja fasilitas upload PDF tersedia, walaupun di ChatGPT pun bisa upload PDF. Jadi jika kita malas membaca paper, tinggal upload file pdf paper/artikel ilmiah dan tanya saja atau minta resume.

Jadi dengan AI anak-anak kita dengan mudah belajar apapun. Tinggal bagaimana otak anak-anak kita bisa segera menyerap ilmu yang sekarang bebas diakses. Jadi sebesar apapun biaya untuk fasilitas pembelajaran, jika otak anak-anak kita ‘melempem’ sepertinya mubazir. Lebih baik investasi ke kecerdasarn generasi kita ke depan, karena kalau sudah cerdas, tinggal diasah mental (keimanan, cinta tanah air, dan lain-lain) dan belajar dari media apapun, terutama memanfaatkan Artificial Intelligence (AI).

Peralatan Data Sains

Saat ini bidang-bidang ilmu memerlukan instrumen dalam analisis data yang ada. Instrumen tersebut biasanya terkait dengan informatika atau ilmu komputer. Tentu saja bidang-bidang ilmu seperti kedokteran, ekonomi, psikologi, dan lain-lain akan memerlukan waktu jika diharuskan belajar ilmu komputer. Oleh karena itulah pakar-pakar ilmu komputer berusaha menyediakan sarana berupa aplikasi agar bidang lain selain informatika dapat memanfaatkan metode atau teknik yang dikembangkan oleh pakar ilmu komputer untuk menyelesaikan problem masing-masing bidang/disiplin ilmu.

Tahun 2008 merupakan tahun yang mengesankan karena di tahun itu perkuliahan pasca sarjana bidang ilmu komputer saya mulai. Bidang ilmu komputer merupakan bidang baru karena sarjana saya yang cukup berbeda, yaknik teknik mesin. Tiap jumat malam dan sabtu, dengan mengendarai motor suzuki thunder, perjalanan bekasi ke jakart terasa ringan, walau kalau dipikir-pikir saat ini, kaget juga, mengapa saya kuat berkendara roda dua sejauh itu. Salah satu dosen kebetulan bukan doktor bidang ilmu komputer, namun memiliki kemampuan dan juga kebijaksanaan dalam mengajari para mahasiswa terkait ilmu komputer. Salah satunya adalah data mining, dimana Dr. Prabowo Pudjo Widodo, kerap membagikan software-software untuk mengelola data mining, salah satunya adalah RapidMiner.

Walaupun software itu sejatinya untuk peneliti non komputer, tetapi cocok juga untuk praktik dasar-dasar data mining (dalam bahasa Indonesia diberi istilah penambangan data). Nah, saat ini RapidMiner sudah ada versi 2025 yang dikenal dengan sebutan Altair AI Studio. Seperti penamaan standar, nama depan berarti vendornya, yakni Altair. Seperti Microsoft Word, berarti Microsoft itu vendornya. Visualisasi, analisa statistik, pengolahan data, dan pekerjaan-pekerjaan sains data lainnya dapat dimanfaatkan oleh software free tersebut (asalkan data <= 10.000 record). Memang software lain, seperti tableau, atau power BI lebih powerful, tapi berbayar.

Salah satu paket menarik dari RapidMiner adalah AutoModel. Di sini kita jika punya satu set data, khususnya dalam format CSV, ketika diunggah ke RapidMiner maka secara otomatis akan diberikan rekomendasi apa saja yang bisa dilakukan, seperti Clustering, Prediction/Inference, Regression, Association Rule, dan lain-lain. Silahkan lihat postingan berikut mengenai fungsi-fungsi dalam Data Mining.

Predictive Analysis – DTree

Clustering – KMeans

Market Basket Analysis

Association Rule

Instal Rapidminer 2025

Penambangan Data (Data Mining) merupakan bidang yang bermanfaat karena menghasilkan informasi penting dari sekumpulan data. Bidang-bidang seperti bisnis, kesehatan, dan ilmu-ilmu sosial bisa memanfaatkan bidang ini. Ibarat perusahaan tambang, data mentah dapat menghasilkan data berharga yang menguntungkan.

Banyak aplikasi yang tersedia, khususnya bagi Anda yang bukan murni dari ilmu komputer/informatika, salah satunya adalah Rapidminer. Pengguna tidak perlu dipusingkan dengan kode program, cukup menyediakan data serta pemahaman general dari proses yang dibutuhkan untuk penambangan, misalnya klasterisasi, prediksi, dan sejenisnya.

Sebagai langkah awal kita bisa menginstal aplikasi ini lewat situs resminya [Url]. Jangan khawatir, aplikasi ini gratis asalkan data yang diolah di bawah 10 ribu record. Jika lebih bisa membeli lisensinya. Lihat video cara instalasi berikut. Selamat mencoba.

Problem Matriks Konfusi Pada ChatGPT dan Solusinya

Peneliti machine learning pasti mengenal matriks konfusi. Matriks konfusi (confusion matrix) adalah sebuah tabel yang digunakan untuk mengevaluasi performa model klasifikasi. Matriks konfusi menunjukkan jumlah prediksi yang benar dan salah yang dilakukan oleh model pada setiap kelas yang ada.

Matriks dua dimensi ini memiliki kolom sebagai prediksi dan baris sebagai nilai aktual/real/ground truth. Untuk Anda yang ingin memanfaatkan ChatGPT dapat menjalankan instruksi berikut. Pertama-tama masukan elemen dari matriks konfusi dengan format (baris, kolom).

Tampak nama kelas dengan True Positive, True Negative, False Positive dan False Negative-nya. Untuk menghitung Presisi, Recall, F1-Score, dan total akurasi dapat juga minta bantuan AI tersebut, tapi ternyata banyak kesalahan dalam perhitungannya.

Perhatikan Presisi (precision) untuk Agricultural, hasilnya ngaco. Namun cara/langkahnya benar. Oleh karena itu tetap harus menghitung sendiri. Caranya gampang, buka saja Excel, lalu copas angka-angka di atas.

Hasilnya 0.838257 yang jauh berbeda dengan hitungan sebelumnya: 0.942720. Biasanya sih TP, TN, FP, dan FN untuk kelas biner, lihat video berikut.

Naïve Bayes – Kalkulasi secara Manual dan dengan Komputer

Saat ini tidak dapat dipungkiri bahwa Deep Learning paling banyak diteliti dan digunakan dalam aplikasi-aplikasi artificial intelligence. Beberapa pengguna tidak menyukai metode tersebut karena karakteristiknya yang tidak dapat dilihat logika di dalam modelnya atau sering diistilahkan dengan black box walaupun akurasinya saat ini dengan model terbarunya hingga mendekati 100%. Selain itu, deep learning membutuhkan kinerja prosesor yang tinggi, terutama ketika proses pelatihan (learning).

Jika ingin membuat model yang dapat dilihat alur logikanya, naïve bayes merupakan salah satu pilihan yang baik. Walaupun kinerjanya menurut beberapa penelitian kalah dengan metode terkini seperti misalnya support vector machine (SVM), metode ini memiliki karakteristik statistik yang kental, yaitu probabilistik. Ada istilah confidence dalam metode ini.

Untuk perhitungan, naïve bayes lebih mudah menurut saya dibanding decision tree yang mengharuskan membuat model tree dengan konsep entropy dan gain informationnya. Pada naïve bayes, kita hanya menghitung probabilitas ketika menghitung confidence tiap-tiap kelas prediksi.

Plus Minus

Metode naïve bayes, dalam Scikit Learn diisitilahkan dengan Gaussian Naïve Bayes, karena dalam mengkonversi tabel kategorikal lewat pendekatan fungsi Gauss. Walaupun akurasinya kurang dibanding metode lain, sifat probabilistiknya sangat membantu penjelasan ke pengguna dalam aplikasinya. Misalnya dalam memprediksi sebuah sentimen dalam sentiment analysis, metode ini tidak hanya menjelaskan positif, negatif, atau netral saja, melainkan berapa kadar positif dan negatifnya dalam bentuk probabilitas. Terkadang jika dalam sistem dashboard menunjukan negatif dengan probabilitas yang tinggi bisa saja digambarkan dengan warna merah yang artinya warning, sehingga eksekutif segera mengambil tindakan yang perlu dalam manajemen.

Statistik merupakan bidang yang paling banyak dimanfaatkan dalam machine learning. Belakangan beberapa ahli machine learning enggan disebut ahli statistik karena belakangan metode-metode terbaru tidak terlalu mengadopsi konsep statistik, misalnya tensorflow yang cenderung ke arah tensor dan matriks dalam aljabar. Silahkan lihat penjelasan slide di atas dalam video youtube berikut ini, semoga bermanfaat.

Machine Learning dengan K-Nearest Neighbours (KNN)

Beberapa istilah terkadang membuat rancu seperti data mining, machine learning, dan deep learning. Wajar saja karena ketiganya masih dalam induk yang sama, yaitu data mining yang bermain dengan data yang akan dilatih/ditraining. Deep learning merupakan machine learning yang mengkhususkan diri dengan satu metode yaitu jaringan syaraf tiruan (neural network). Machine learning merupakan salah satu metode dalam data mining yang mengkhususkan diri dengan beragam metode untuk melatih data sehingga mampu digunakan sebagai mesin inferensi/prediksi maupun klasterisasi. Salah satu metode klasik yang mudah dimengerti adalah KNN. Metode ini berprinsip, suatu data akan menjadi anggota data lain jika di sekelilingnya kebanyakan anggota data tersebut.

Scikit Learn

Para pengembang dan peneliti dengan menggunakan bahasa Python bersama-sama membuat library untuk pengguna machine learning. Library tersebut dibuat dengan format kelas yang berisi metode/fungsi seperti fitting, predicting, dan juga alat untuk mengukur akurasi. Kode sumber dapat diakses dengan mudah sehingga memudahkan Anda yang mendapat tugas memodifikasi metode.

Untuk praktek menerapkan KNN dengan library dari Scikit Learn, Google Colab merupakan pilihan yang praktis karena hanya bermodalkan browser dengan koneksi internet saja. Berikut kode yang terdiri dari impor library, ambil data, training data dan validasi. Terakhir menggunakan fungsi prediksi pada library untuk memprediksi kelas suatu data. Untuk pemula ada baiknya Anda ketik sendiri untuk melatih keterampilan serta alur logika memrogram.


#Impor pustaka
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report
#Mengambil data dari file csv
datasiswa=pd.read_csv('beasiswa.csv')
df=pd.DataFrame(datasiswa,columns=['Mahasiswa','IPK','Tingkat Kemiskinan (TM)','Beasiswa/Tidak'])
X=np.asarray(datasiswa)
x_train=X[:,1:3]
y_train=X[:,3:4]
#Memanggil KNN
knn=KNeighborsClassifier(n_neighbors=6,
weights='uniform',
algorithm='auto',
metric='euclidean')
#Fit model dengan data latih dan target/label
knn.fit(x_train,y_train)
#Mengambil data dari file csv
datavalidasi=pd.read_csv('validasibeasiswa.csv')
df2=pd.DataFrame(datasiswa,columns=['Mahasiswa','IPK','Tingkat Kemiskinan (TM)','Beasiswa/Tidak'])
X2=np.asarray(datavalidasi)
x_val=X2[:,1:3]
y_val=X2[:,3:4]
#Prediksi
y_pred=knn.predict(x_val)
print((y_val).T)
print(y_pred)
print(classification_report(y_val,y_pred))
#Menyiapkan sebuah data uji/testing
uji=np.asarray([[2.5,4.0]])
y_pred=knn.predict(uji)
print(y_pred)

Data yang dibutuhkan dua buah yaitu data beasiswa dan data validasi beasiswa dalam format CSV. Bagaimana cara unggah data tersebut ke Google Colab serta penerapannya silahkan lihat video Youtube saya berikut ini. Semoga bermanfaat.

Mempersiapkan Data dan Training Model ANFIS, JST dan SVM

Dalam machine learning dikenal beberapa jenis data antara lain: data training dan data testing. Terkadang data training dipisah menjadi data training dan target. Dalam prakteknya, data training menggunakan sebagaian prosentase dengan sisanya dijadikan data tasting untuk pengujian model.

Excel dapat digunakan untuk mempersiapkan data training walaupun memiliki beberapa keterbatasan dalam mengelola “big data”. Untuk data yang tidak terlalu besar, aplikasi bawaan ms office ini cukup dapat diandalkan.

Walaupun cross validation banyak diterapkan saat ini, tetapi dengan 80% data training dan sisanya untuk testing (20%) sudah cukup untuk mengukur akurasi model yang dirancang. Sebagai contoh data training berikut dapat digunakan, dengan data latihnya. Berikut langkah proses mempersiapkan data training dan data testing.

1. ANFIS

Untuk ANFIS data training dan target digabung menjadi satu. Formatnya karena sudah sesuai dengan format pentabelan di Excel maka cukup menyiapkan data training saja. Gunakan dua kode ini untuk mengimport data dengan Matlab.

  • load(‘data.dat’);
  • load(‘testing.dat’);

Untuk ANFIS, fungsi “anfisedit” disediakan Matlab untuk melatih ANFIS lewat data yang ada. Karena isian sudah dalam bentuk DAT maka sebenarnya dua kode di atas hanya digunakan nanti untuk testing dan training lewat model lainnya seperti JST, SVM, dll.

Pastikan training data muncul dengan tiga kelas sesuai dengan data (kelas 1, 2 dan 3). Berikutnya “Generate FIS” diklik untuk meramu FIS yang masih kosong.

Angka 3 di atas berarti ada 3 komponen MF di tiap input. Jumlah angka yang muncul menandakan jumlah masukan, di sini ada empat input yang merupakan variabel penentu output. Tipe MF ada banyak, di sini akan digunakan “trimf” yang paling sederhana (linear). Gunakan saja defaultnya (3 komponen di tiap inputan), yang merepresentasikan kondisi “low”, “medium”, dan “high”. Output gunakan saja konstan. ANFIS hanya tersedia di jenis fuzzy “Sugeno”. Tekan “Struktur” di sisi kanan untuk melihat sekilas Network yang siap dilatih.

Berikutnya masuk ke panel “Train FIS” untuk melatih Network. Ada dua pilihan pembelajaran: hybrid dan backpropagation. Gunakan saja “hybrid”. Berikut merupakan hasil training dengan 3 epoch (mirip iterasi).

Error tampak di layar utama (sekitar 0.1445). Simpan hasil pelatihan lewat “File” – “Export” – Pilih file.

Setelah nama fuzzy diisi (berekstensi *.fis) maka model siap diuji dengan data testing yang sudah ada. Misalnya diberi nama “anfisiris.fis”. Untuk testing gunakan kode berikut ini:

  • anfisiris=readfis(‘anfisiris.fis’);
  • prediksi=evalfis(testing(:,1:4);
  • tes=testing(:,1:4)
  • hasil=evalfis(tes,anfisiris)

Terakhir adalah menghitung akurasi dengan cara prosentase MAPE (Mean Average Percentage Error)-nya:

Jika dibandingkan maka akan tampak beberapa yang error, misalnya di sini ada satu yang error, jadi nilai MAPE-nya= 1/39 *100 = 2,56 %. Atau akurasinya = 100-2,56 = 97,44%. Sedangkan jika ingin mengetahui prediksi mana saja yang tidak akurat dapat menggunakan matriks confusion.

  • target=testing(:,5);
  • target=transpose(target);
  • prediksi=transpose(round(hasil));
  • c=confusionmat(target,prediksi)
  • c =
  • 13 0 0
  • 0 13 0
  • 0 1 12

Cara membaca matriks confusion adalah sebagai berikut. Kolom merupakan prediksi sementara baris adalah aktualnya (dalam hal ini sama dengan target (testing di kolom kelima). Fungsi “round” ditambahkan pada hasil untuk mencari kelas prediksi terdekat, misalnya 2.7 dikategorikan kelas “3”. Diagonal pada matriks confusion menyatakan akurasi. Perhatikan di baris kedua kolom ketiga, di sini harusnya 13 tetapi berisi 12 karena ada satu prediksi 3 (baris ketiga) tetapi kenyataannya 2 (kolom kedua).

2. Neural Networks (Jaringan Syaraf Tiruan)

JST perlu memisahkan data training dengan target (labelnya). Selain itu, formatnya juga berbeda dengan data pada ANFIS, dimana variabel berdasarkan baris. Untuk itu perlu modifikasi data yang ada berdasarkan “data.dat” dan “testing.dat”. Berikut ini kode untuk data training dan targetnya.

  • load(‘data.dat’);
  • load(‘testing.dat’);
  • datalatih=data(:,1:4);
  • datalatih=transpose(datalatih);
  • target=data(:,5);
  • target=transpose(target);

Coba cek dengan fungsi “size”, pastikan jumlah baris merepresentasikan jumlah variabel, sementara jumlah kolom merepresentasikan jumlah data. Berikutnya buat JST kosong dan latih.

  • network=newff(datalatih,target,[81 81]);
  • network=train(network,datalatih,target);

Perlu disiapkan data untuk testing.

  • tesdata=testing(:,1:4);
  • tesdata=transpose(tesdata);
  • targettes=testing(:,5);
  • targettes=transpose(targettes);

Selanjutnya menggunakan fungsi “sim” untuk memprediksi.

  • hasil=sim(network,tesdata);
  • aktual=targettes;
  • prediksi=round(hasil);
  • c=confusionmat(aktual,prediksi);
  • c =
  • 13 0 0 0
  • 0 11 2 0
  • 0 4 6 3
  • 0 0 0 0

Dari matriks confusion di atas dapat diketahui precision-nya (atau dikenal juga dengan nama MAPE). Caranya adalah membandingkan total yang benar (angka di sisi diagonal) dengan total data testing.

  • 13+11+6
  • ans =
  • 30
  • ans/39
  • ans =
  • 0.7692

Akurasi yang dihasilkan (MAPE) adalah 76.92%.

3. Support Vector Machine (SVM)

SVM hanya memisahkan dua kelas yang berbeda. Jika ada lebih dari dua kelas, maka perlu modifikasi dengan menggunakan lebih dari satu garis pemisah. Salah satu tekniknya adalah membuat pohon keputusan. Misalnya ada tiga kelas (kelas 1, kelas 2 dan kelas 3) maka perlu dibuat tiga garis pemisah, misalnya kita beri nama svm1, svm2 dan svm3.

  • svm1, pemisah antara kelas 1 dan kelas 2
  • svm 2, pemisah antara kelas 1 dan kelas 3, dan
  • svm 3, pemisah antara kelas 2 dan kelas 3

 

(source: link)

Selanjutnya, dibuat logika if-else untuk mengarahkan garis pemisah yang sesuai (atau dengan teknik lain yang sesuai). Berikut ini salah satu contohnya:

  • test1=svmclassify(svm1,datatesting)
  • if test1==1
  • test2=svmclassify(svm2,datatesting)
  • if test2==1
  • class=’1′
  • else
  • class=’3′
  • end
  • else
  • test3=svmclassify(svm3,datatesting)
  • if test3==2
  • class=’2′
  • else
  • class=’3′
  • end
  • end

Untuk membuat garis pemisah, Matlab menyediakan fungsi “svmtrain”. Jika ingin membuat garis pemisah antara kelas 1 dan kelas 2 (svm1) diperlukan data latih yang memiliki kelas 1 dan kelas 2 (tanpa menyertakan kelas 3) disertai dengan group-nya (dalam JST dikenal dengan istilah target).

  • svm1=svmtrain(train,group)

Di sini “train” merupakan data gabungan kelas 1 dan kelas 2, begitu pula “group” merupakan kelas yang sesuai dengan “train”. Gunakan excel untuk memilah-milah antara kelas 1 dengan kelas lainnya untuk membuat svm2, dan svm3.

 

Menyelesaikan masalah “Architecture Mismatch Driver & Application” ketika mengakses Database di Matlab

Melanjutkan postingan yang lalu tentang problematika explore database di Matlab yang melibatkan versi 64 atau 32 bit. Masalah incompatible ini sepertinya tidak direspon dengan baik. Baik oleh Windows maupun Matlab. Sepertinya ada sedikit “paksaan” bagi pengguna versi 32 bit untuk beralih ke versi 64 bit. Padahal banyak yang masih menerapkan versi 32 bit di sistem yang sedang berjalan.

Install Microsoft Access Versi 64 Bit

Pengguna Matlab 64 bit sepertinya sudah harus beralih ke versi 64 bit untuk semua hal yang terlibat dengan Matlab (environment), seperti OS dan sistem basis data-nya. Jika tidak maka akan muncul peringatan adanya ketidaksesuaian dari sisi arsitektur antara driver ODBC dan aplikasi. Perbedaan arsitektur merupakan perbedaan yang tidak sepele dalam suatu sistem perangkat lunak.

Repotnya untuk Microsoft Access, tidak bisa langsung memasang yang 64 bit tanpa meng-uninstall versi yang sebelumnya. Perlu diperhatikan jika ada visio versi 32 bit, windows meminta uninstall juga. Jadi kalau sayang dengan visio yang 32 bit atau tidak punya installer visio yang 64 bit, sebaiknya difikirkan terlebih dahulu, atau siapkan dulu visio versi 64 bitnya.

Tadinya saya masih ragu, jangan-jangan ketika uninstall yang 32 bit dan install yang 64 bit tetap saja database tidak bisa diakses Matlab 64 bit, tetapi ternyata Alhamdulillah bisa. Mungkin ini bisa menjawab pertanyaan dari pembeli buku saya tentang database di Matlab yang tidak bisa terkoneksi dengan access karena beda versi “bit”nya. Oiya, jangan khawatir, semua settingan di office 32 bit yang lalu tetap otomatis terbawa di versi 64 bit yang baru.

Mengecek Koneksi Database di Matlab

Ketika sudah menginstall versi 64 bit, pastikan di ODBC yang 64 bit terisi driver dan platform-nya yang baru (64 bit). Selalu gunakan driver untuk kedua versi access (*.mdb dan *.accdb). Pastikan ketika mengklik Configure… tida ada pesan “architecture mismatch ..” lagi.

Tambahkan satu User DSN baru dan coba buka dengan Matlab 64 bit. Setelah mengetik dexplore di command window Matlab, cari ODBC yang baru saja dibuat. Pastikan database yang dibuat dengan Access dapat dilihat isinya.

Sekian dulu info singkat ini, semoga bermanfaat dan semoga pula naskah tentang data spasial dan bigdata dengan Matlab dapat rampung secepatnya.

Problematika Explore Database pada Matlab

Matlab terkini sudah memiliki fasilitas untuk mengeksplore suatu database. Hampir semua database dapat diakses dengan Matlab, khususnya yang berbasis Windows. Hanya saja ada sedikit permasalahan dengan kompatibilitas antara 64 bit dengan yang 32 bit. Berikut beberapa kemungkinan yang terjadi antara Windows, Matlab, dan Sistem database yang digunakan.

Baik Windows, Matlab dan Database 32 Bit atau 64 Bit

Untuk kasus ini tidak ada masalah yang berarti. Banyak tutorial yang membahas bagaimana mengkoneksikan database dengan Matlab dengan versi bit yang sama. Kebanyakan database dapat digunakan dengan menggunakan fasilitas Open Database Connectivity (ODBC) bawaan Windows. Link youtube ini cukup baik menjelaskan bagaimana mengkoneksikan database ke Matlab 64 bit.

Windows 64 Bit, tetapi Matlab dan Database 32 Bit

Untuk kasus ini ada sedikit masalah ketika mengeset ODBC karena driver yang tidak muncul. Untungnya Windows 64 bit masih memberikan fasilitas untuk mengelola ODBC versi sebelumnya (ODBC 32 bit). Cara mudahnya adalah dengan mengetik: odbcad32 di menu RUN. Letak file ‘odbcad32.exe’ ada di: C:\Windows\SysWOW64\odbcad32.exe.

Windows dan Matlab 64 Bit, tetapi database 32 Bit

Masalah ini banyak ditanyakan oleh pengguna di internet. Hampir semua jawaban tidak memuaskan, bahkan ketika ditanyakan ke pihak Microsoft. Kebanyakan kasusnya adalah user menginstall microsoft access 32 bit sebagai database tetapi memiliki Matlab versi 64 bit, misalnya Matlab 2013b.

Dikatakan bahwa DSN pada ODBC yang dibuat tidak matching antara arsitektur dengan driver aplikasi. Saran yang paling ampuh adalah menginstall ulang Microsoft Access dengan versi yang sama dengan Matlab tersebut (versi 64 bit). Matlab sendiri menganjurkan menggunakan 64 bit karena memiliki keunggulan tersendiri dalam penggunaan RAM maksimalnya (melebihi 3 Gb).

Menggunakan Database non Microsoft

Sebenarnya saya mencari driver yang bisa menambahkan driver access di kolom isian driver 64 bit. Ternyata selalu saja ada instruksi error bahwa access yang diinstall tidak 64 bit. Jika enggan menguninstall office 32 bit, ada alternatif database lain yang bisa digunakan yaitu MySQL. Ketika menginstall ODBC untuk MySQL maka di driver pada ODBC 64 bit muncul driver baru seperti di bawah ini.

Tampak MySQL ODBC 5.3 pada driver. MySQL sendiri dapat menggunakan aplikasi XAMM yang ringan karena Apache tidak selalu “ON” ketika tidak digunakan. Untuk menjalankannya tinggal men-doble klick XAMM start di explore.

Untuk mengujinya silahkan menggunakan fasilitas dexplore pada Matlab dengan mengetikannya di command window. Tekan “connect” yang terletak di kiri atas Matlab (atau otomatis akan meminta koneksi ke ODBC yang diinginkan). Pilih ODBC yang sudah dibentuk sebelumnya dengan pilihan driver MySQL.

Kemudian pastikan tampak fields yang ada di tabelnya. Silahkan yang suka “ngetik coding” di command window mengecek apakah koneksi sudah berjalan seperti berikut ini.

Pastikan isconnection bernilai “1” yang menandakan bahwa database telah berhasil terkoneksi ke Matlab anda. Selamat mencoba dan semoga bermanfaat.

NB: Silahkan beli buku yang disertai source code untuk melakukan komputasi dengan Matlab yang terintegrasi dengan database (access dan mysql), online maupun di toko buku Gramedia (semoga stok masih ada): https://www.gramedia.com/pemrograman-basis-data-di-matlab-cd.html.

Riset Tentang Web Mining

Lanjutan dari postingan yang lalu. Semua orang pasti memiliki jawaban yang sama tentang pentingnya aplikasi web, yaitu sangat penting. Mulai dari facebook, google, baca berita, dan mencari informasi lainnya selalu menggunakan aplikasi berbasis web. Walaupun saat ini aplikasi android sudah menjamur, tetapi tetap saja web menjadi hub yang menghubungkan client dengan server aplikasi dan server data. Perkembangannya yang sangat cepat membuat riset di bidang ini harus secepat mungkin karena satu teknologi akan segera usang seiring berjalannya waktu.

Banyak Anak Muda yang Tertarik

Web mining merupakan ilmu yang baru. Anak-anak muda karena sudah mengenal web sejak sekolah menengah tidak akan merasa kesulitan untuk mempelajarinya. Terkadang mereka lebih mahir dari pada guru-guru bahkan dosennya. Ketika saya mengikuti wawancara untuk mendapatkan beasiswa S3, saya iseng meminjam proposal milik peserta yang kebanyakan masih muda. Kebanyakan mereka ingin riset yang ada hubungannya dengan web, misalnya semantik web.

Bukan hanya untuk riset, banyak orang menggunakan web untuk mencari uang (affiliate marketing) dengan teknologi-teknologi yang dikembangkan seperti web crawler ataupun robot-robot yang diistilahkan dengan nama bot.

Bidang-bidang Riset Web Mining

Sesuai dengan unsur katanya, web mining berarti menggali informasi yang ada di web. Berbeda dengan data mining yang menggali informasi dari data terstruktur, web mining menggali informasi dari data semi-structure bahkan unstructured. Web mining lebih sulit karena jenis datanya yang tidak terstruktur dan terkadang banyak data “sampah” yang mengganggu proses penggalian data.

Untuk melakukan riset, langkah pertama yang harus ditempuh adalah mempelajari prinsip-prinsip dasar yang sudah baku di buku teks. Jangan sampai kita melakukan riset terhadap sesuatu yang sudah “established”. Teori-teori di buku biasanya sudah fix dan diakui kebenarannya oleh hampir peneliti-peneliti di dunia. Biasanya mahasiswa S3 terkadang mengambil mata kuliah bidang yang akan diriset sebelum masuk ke kandidasi (syarat untuk diperbolehkan meneliti). Langkah berikutnya adalah men-searching jurnal-jurnal terkini tentang web mining.

Untuk buku silahkan baca buku-buku yang beredar, terutama yang bahasa Inggris, misalnya “Mining the web” dan buku-buku semantic web lainnya (Linoff & Berry, 2001; Yu, 2011). Di sini disebutkan ada tiga aktivitas Web mining yang penting:

  • Mining structure
  • Mining usage
  • Mining content

Structure Mining

Silahkan masuk ke salah satu bidang web mining di atas. Yang pertama adalah Mining structure. Penggalian ini bermaksud mencari struktur dari web, biasanya link-link yang ada dalam suatu halaman. Halaman mana saja yang kerap menjadi target dari halaman yang lain? Halaman mana yang menunjuk ke halaman-halaman lain? dan seterusnya. Grafik yang sering dibuat adalah graf berarah yang menunjukan hubungan satu halaman dengan halaman lainnya. Penerapan yang sering dibuat adalah menghitung sitasi terhadap suatu halaman. Istilah yang sering muncul adalah hub, authorities, dan populer site. Tidak hanya melibatkan halaman yang berbeda, struktur lokal pun masuk dalam domain structure mining asalkan melibatkan hubungan-hubungan link.

Mining Usage Pattern

Di sini ada tambahan kata “pattern” karena biasanya yang digali adalah pola penggunaan suatu page. Dua bidang utamanya adalah clickstream analysis dan web logs. Masalah-masalah yang muncul adalah bersih atau tidaknya page yang dikoleksi. Oleh karena itu diperlukan langkah-langkah sebagai berikut:

  • Filtering
  • Despidering (anti spider)
  • User identification
  • Sessionalization, dan
  • Path completian.

Mining Content

Menggali isi web-web yang berserakan di dunia maya membutuhkan keahlian dalam menangani text/string karena sebagian besar web tidak terstruktur. Baca dan pelajari information retrieval dari buku-buku yang tersedia, misalnya buku yang gratis didonlot dari penerbitnya ini. Konsep-konsep stemming, dan sejenisnya (recall, precission, dll) banyak di bahas di buku tersebut. Oiya, sebagian saya tulis di post tentang information retrieval. Silahkan riset jika tertarik, saya sendiri masih meraba-raba, jika tidak sanggup ya back to basic: spatial data optimization.

Ref:

  • Linoff, G. S., & Berry, M. J. A. (2001). Mining the Web. United States of America: Wiley.
  • Yu, L. (2011). A Developer’s Guide to the Semantic Web. New York: Springer.

 

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 “disruption”. 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.

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.