## Monday, December 11, 2017

### Buku Pengolahan Citra Digital dengan Matlab - Classification Learner Example Datasets

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi di http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-image-dataset/

Berikut penulis sajikan dataset yang mungkin berguna untuk melakukan banyak ujicoba teknik classifier https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/products/statistics/classification-learner/files/ClassificationLearner_Example_Datasets.mat
Terdiri dari

## Fisher Iris

The Fisher Iris dataset consists of samples from three species of iris (Iris setosa, Iris virginica, and Iris versicolor). Features such as the length and the width of the sepals and petals were measured in centimeters.

Number of predictors: 4
Number of observations: 150
Number of classes: 3

## Credit Rating

The credit rating dataset contains financial ratios and industry sectors information for a list of corporate customers. The response variable consists of credit ratings (AAA, AA, A, BBB, BB, B, CCC) assigned by a rating agency.

Number of predictors: 6
Number of observations: 3932
Number of classes: 7

## Ovarian

The ovarian cancer dataset consists of high-resolution ovarian cancer data generated using the WCX2 protein array. The sample set includes 95 controls and 121 ovarian cancers.

Number of predictors: 100
Number of observations: 216
Number of classes: 2

## Don’s Easter Egg

Don’s Easter Egg dataset is a simulated dataset that consists of only 2 variables and 2 classes. Since the separation boundary is highly nonlinear between the two classes, this makes for a challenging exploratory problem.

Number of predictors: 2
Number of observations: 1873
Number of classes: 2

## Arrhythmia

The heart arrhythmia dataset consists of patient information and response variables that indicate the presence and absence of cardiac arrhythmia in the patient. In this medical diagnostic application, misclassifying patient as "normal" may have a more severe consequence than misclassifying a patient as "has arrhythmia."

Number of predictors: 279
Number of observations: 150
Number of classes: 16

## Ionosphere

The ionosphere dataset comprises preprocessed signals obtained from a phased array of 16 high-frequency antennas. Good returned radar signals are those showing evidence of some type of structure in the ionosphere. Bad signals are those that pass through the ionosphere.

Number of predictors: 34
Number of observations: 351
Number of classes: 2

### Buku belajar machine learning dengan matlab - Image Dataset

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi di http://softscients.com/2020/03/26/buku-pengolahan-citra-digital-dengan-matlab-classification-learner-example-datasets/

Bila kita bekerja dengan menggunakan machine learnig, tentu kita membutuhkan  beragam dataset. Penulis sajikan link berikut untuk dataset image beberapa category http://www.vision.caltech.edu/Image_Datasets/Caltech101/ berisi Pictures of objects belonging to 101 categories. About 40 to 800 images per category. Most categories have about 50 images. Collected in September 2003 by Fei-Fei Li, Marco Andreetto, and Marc 'Aurelio Ranzato.  The size of each image is roughly 300 x 200 pixels.

## Sunday, December 3, 2017

### Move - Sequence Matcher in python

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/30/buku-pemrograman-python-mengukur-kemiripan-diantara-2-string/

Adalakanya kita membutuhkan pencocokan string dalam pengolahan data, misalkan untuk spelling karena user bisa saja melakukan kesalahan ejaan. Penulis biasa menggunakan Sequnce Matcher untuk melakukan hal demikian. Misalkan ada sebuah nama desa ‘Menjalin’ ketika user mengetikan ‘Mnjalin’ berapa nilai ratio kecocokannya?

## Friday, November 24, 2017

### move - Spyder Attribute Error module object has no attribute _base

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi di http://softscients.com/2020/03/31/buku-pemrograman-python-memperbaiki-bugs-spyder-dengan-reset-ulang/

Ketika penulis sedang asyik dalam merancang sebuah code untuk bruce force attack, tiba-tiba spyder mengalami error dan harus di restart, akan tetapi menjumpai error berikut
AttributeError: ‘module’ object has no attribute ‘_base’

## Wednesday, November 15, 2017

### Univariate feature for feature selection

Feature selection merupakan teknik yang pra pengolahan data yang bertujuan untuk
There are in general two reasons why feature selection is used:

## Friday, October 27, 2017

### JOIN SQL

Adalakanya kita harus menggunakan JOIN ada sql untuk mendapatkan informasi irisan, misalkan contoh berikut

## Monday, October 16, 2017

### Buku Belajar Machine Learning dengan Python-Learning Vector Quantization

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link
Learning Vector Quantization adalah salah satu metode pelatihan secara kompetitif yang sama seperti teknik percepton dan bacpropagation. Penulis sajikan data berikut yang terdiri dari 2 paramater dan 1 target output

## Monday, September 11, 2017

### Problem pyuic in Anaconda

Penulis masih senantiasa menggunakan Python untuk menyelsaikan banyak project dikarena sangat powerfull dalam masalah parser dan pengolahan file dibandingkan dengan Matlab, akan tetapi sulitnya membangun aplikasi berbasis GUI salah satunya Penulis menggunakan PyQT saja dibandingkan dengan Tkinter. Ternyata ada ada masalah ketika kita menggunakan Anaconda versi 4.0 dan 4.2 dikarenakan perbedaan penggunaan QT dimana versi Anaconda 4.0 menggunakan Qt 4 dan Anaconda 4.2 sudah menggunakan Qt 5.

## Monday, July 10, 2017

### Sekilas Mengenai Exclusive OR Function Boolean

Postingan  ini dilatarbelakangi oleh beberapa pembaca yang mungkin belum tahu cara kerja logika BITXOR yang sering dipakai dalam teknik steganography. Teknik BITXOR bekerja pada level bit pada logika  Boolean XOR. Salah syarat yang penting untuk logika BITXOR bahwa type variabel tersebut haruslah mempunyai type yang sama, misalkan type int8, int16, ataupun int32.
Perhatikan ilustrasi berikut

## Saturday, July 1, 2017

### SQL Select Statement Limit Desc Order

Permasalahan ini timbul ketika kita ingin melakukan query terhadap sejumlah data dan mengurutkan kembali secara descending.
Perhatikan tabel berikut

### Reading JSON Format with Python

Script yang saya buat sebenarnya mempunyai tugas yang sangat sederhana sekali yaitu membaca format JSON dari sebuah web service, karena data tersebut digunakan untuk melakukan analisis terdapat penjualan harian sebuah toko.
Berikut merupakan keluaran JSON tersebut

## Friday, June 2, 2017

### Buku Belajar Machine Learning dengan Python- Algoritma Multi-Attribute Decision Making Using Simple Additive Weighting

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link
Setiap pengambilan keputusan untuk memilih sesuatu, seseorang akan didasari dengan beberapa kriteria. Masing-masing kriteria mempunyai nilai tersendiri bagi seorang pengambil keputusan atau disebut pembobotan. Algoritma SAW (Simple Additive Weighting) adalah salah satu algoritma yang digunakan untuk pengambilan keputusan yang mempunyai nama lain algoritma MFEP (Multi Factor Evaluation Process).

## Monday, May 29, 2017

### buku belajar machine learning dengan matlab - AdaBoost for Machine Learning

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

## Sinopsis

AdaBoost termasuk algoritma machine learning yang menggunakan beberapa ciri fitur lemah yang digabung secara linear menjadi ciri fitur kuat. Menggunakan teknik iterasi dalam melakukan update bobot ditiap iterasi. Berikut  perhitungan secara matematikanya.
Diberikan
(x1,y1),…..(xm,ym);xi∈X,yi∈{-1,+1}

Yang artinya diberikan sebuah data x1 dengan x1 termasuk sebuah himpunan X yaitu ciri fitur dengan y1 adalah target dengan himpunan terdiri dari anggota {-1, +1} dan m adalah jumlah data.
Maka nilai bobot yaitu
D1(i)=1/m

Sehingga

Cara menentukan weak Threshold untuk ciri fitur bisa menggunakan teknik regresi linear.  Kita akan menentukan nilai threshold yaitu 1:1:9 yang diambil dari nilai maksimal dan minimal.
Kita akan membandingkan nilai label yaitu +1 dan -1 terhadap nilai threshold, misalkan kita pilih untuk +1  dan -1 pada threshold 3 pada x1 menghasilkan

Artinya akan melakukan thresholding,
a.    jika kita mengambil +1 maka setiap x1>=threshold akan diberikan +1 dengan lainnya -1
b.    jika kita mengambil -1, maka setiap x1<threshold akan diberikan +1 dengan lainnya -1
disinilah letak mengenai weak learner nya yaitu memilah fitur-fitur lemah. Dilanjut kita mencari error yaitu dengan membandingkan hasil point a atau b dengan y. Berikut contoh cara menghitung error pada point a

Untuk point b

Bisa dilihat error a+b akan menghasilkan 1, maka bila kita sudah mengetahui nilai a,
maka untuk nilai b = 1-b
sehingga bisa disimpulkan error terkecil yaitu b<a, error ini disebut error iterasi.
Error iterasi akan berhenti jika
∈_t>  1⁄2
Terlihat bahwa nilai 0.27272 masih dibawah ½ sehingga nilai ∈_t = 0.27272
Alpha
Î±_t=  1⁄(2 ) log⁡((1-∈_t)/∈_t )
Nilai alpha menjadi Î±_t = 0.4904

Bobot D

D_(t )=D_(t )*exp⁡(-Î±_t*y*weakLearner)
D_(t )= D_(t )/sum(D_(t ))

Pada pada kasus diatas nilai b atau 0.2727  sebagai nilai terkecil, sehingga nilai weakLearner sebagai berikut tetap menggunakan label = -1

Sehingga nilai

Bila ingin lebih jelas, lihatlah rumus berikut

Agak sulit bila menjelaskan menggunakan persamaan matematika secara umum karena sifatnya general sekali

## Thursday, May 25, 2017

### Buku Belajar Pemrogaman Matlab - Control Random Generator

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi di   http://softscients.com/2020/03/29/buku-belajar-pemrogaman-matlab-seed-random-generator/

Jika kamu menggunakan Matlab untuk melakukan komputasi tidak terlepas kita membutuhkan bilangan random, tapi ini menjadi masalah tersendiri jika terdapat hasil yang berbeda-beda setiap kali melakukan proses komputasi.  Biasanya ini terjadi ketika kamu menggunakan algoritma machine learning yang melibatkan bilangan random sebagai initial valuenya. Bagaimana kita harus membuat menjadi tetap? Saya gunakan contoh kmeans clustering berikut

clc;clear all;close all;
X = meas(:,3:4);

figure;
plot(X(:,1),X(:,2),'k*','MarkerSize',5);
title 'Fisher''s Iris Data';
xlabel 'Petal Lengths (cm)';
ylabel 'Petal Widths (cm)';

%kita akan menggunakan kmeans untuk melakukan
%clustering
[idx,C] = kmeans(X,3);
hold on
for i =1:3
text(C(i,1),C(i,2),num2str(i),'FontSize',30,'Color','B')
end 

Coba kamu perhatikan urutan angka berikut

Pasti akan menghasilkan urutan yang berbeda-beda, oleh karena itu kita harus menetapkan terlebih dahulu seed random generator yaitu dengan function rand(‘seed’,0) yang artinya bilangan random akan menggunakan seed/benih 0 sebagai nilai awalnya, kamu bebas menggunakan 0 – 9999.

Coba kamu perbaiki codenya menjadi berikut

clc;clear all;close all;
X = meas(:,3:4);

figure;
plot(X(:,1),X(:,2),'k*','MarkerSize',5);
title 'Fisher''s Iris Data';
xlabel 'Petal Lengths (cm)';
ylabel 'Petal Widths (cm)';

%kita akan menggunakan kmeans untuk melakukan
%clustering
rand('seed',0) %seed nya diisi 0
[idx,C] = kmeans(X,3);
hold on
for i =1:3
text(C(i,1),C(i,2),num2str(i),'FontSize',30,'Color','B')
end 
Maka hasil urutannya akan senantiasa sama.

http://www.softscients.web.id/2015/11/pembangkitan-bilangan-random-dengan.html

## Thursday, May 11, 2017

### Sekilas Mengenai KFold Validation

Cross Validation merupakan salah satu teknik untuk menilai/memvalidasi keakuratan sebuah model yang dibangun berdasarkan dataset tertentu, yang melibatkan proses K-buah partisi secara acak.

Kelebihan dari metode ini adalah tidak adanya masalah dalam pembagian data. Setiap data akan menjadi test set sebanyak satu kali dan akan menjadi training set sebanyak K-1 kali. Kekurangan dari metode ini adalah algoritma pembelajaran harus dilakukan sebanyak K kali yang berarti menggunakan K kali waktu komputasi. Berikut contoh Kfold sebanyak Kfold-3.

## Friday, March 24, 2017

### Buku Pemrograman Python-How to append vector in numpy

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi di http://softscients.com/2020/03/28/buku-pemrograman-python-how-to-append-vector-in-numpy/

These values are appended to a copy of arr. It must be of the correct shape (the same shape as arr, excluding axis),

## Sunday, February 19, 2017

### Buku Belajar Machine Learning dengan Python-Extreme Learning Machine

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link
Bila ditemui kasus mengenai non linear selain bisa menggunakan SVM (Support Vector Machine), kita juga menggunakan ELM. The Extreme Learning Machine (ELM from now on) was proposed by [Huang et al., 2006]. It is used in a multilayered structure with one neural hidden layer (Single Layer Feedforward Network, SLFN from now on). The first step is to initialize at random the weights connecting the input and the hidden layer. Thus, it will only be necessary to optimize the weights connecting the hidden layer and the output layer. In order to do this, the Moore-Penrose pseudoinverse [Rao and Mitra, 1972] matrix will be used.

References.
[Huang et al., 2006] Huang, G. B., Zhu, Q. Y., and Siew, C. K. (2006). Extreme learning machine: Theory and applications, Neurocomputing, volume 70, 489-501.
[Haykin, 1998] Haykin, S. (1998). Neural Networks: A Comprehensive Foundation. Prentice-Hall.
[Rao and Mitra, 1972] Rao, C. R. and Mitra, S. K. (1972). Generalized Inverse of Matrices and It’s Applications. Wiley.

Penulis menggunakan dataset iris sebagai berikut
Penulis menggunakan visualisasi 3D yang hanya mengambil 3 parameter saja, sehingga ditampilkan sebagai berikut
Penulis menggunakan Python menghasilkan berikut

Bisa memprediksi pada proses training sebesar 94,7%
https://en.wikipedia.org/wiki/Extreme_learning_machine
http://www.ntu.edu.sg/home/egbhuang/

### Buku Belajar Pemrogaman Matlab - Formating Text Output Fprintf

Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/29/buku-belajar-pemrogaman-matlab-formating-text-output/

Bagi kalian yang suka menggunakan Matlab untuk melihat output menggunakan terminal, bisa koq kalian atur format keluarannya. Untuk mengontrol output text di matlab, bisa menggunakan function fprintf agar lebih rapi



clc;clear all;close all;
disp('formating text in matlab')
disp('www.softscients.web.id')
disp('==============================')
disp('i         |sin(i)     |cos(i)')
disp('==============================')
for i =0:30:100
formatSpec = '%3.0f \t %8.3f \t %8.3f \n';
fprintf(formatSpec,i,sin(i),cos(i))
end



## Friday, February 10, 2017

### Metode Query Matching

Selain digunakan untuk melakukan pencocokan secara cepat terhadap tindak plagarisme, metode Winnowing, Rabin Karp, serta Manber sebenarnya dapat digunakan untuk memberikan rekomendasi terhadap pengunjung/customer untuk mendapatkan query yang cocok. Seperti contoh berikut

## Saturday, January 28, 2017

### Number Plate Car Detection

Pembahasan mengenai Number Plate car detection masih fokus banyak dikaji terutama pada teknik yang digunakan. Ada 2 hal yang kadang ambigu yaitu

1. Detection / deteksi
2. Recognition / pengenalan