Music for reading(spotify)

Machine Learning ? what ?

Take it easy guys, we are not trying to create an evil AI terminator by this time, we only will learn basic concept of machine learning. in this article/tutorial or whatever you call it, we will code only six line python script and you will be able to create the simplest machine learning to solve problem.
FYI Machine Learning is subfield of Artificial Intelligence . more info click here

Machine Learning, why?

Kenapa kita harus menggunakan machine learning untuk memberikan solusi terhadap permasalahan kita? sebagai contoh kita mempunyai masalah untuk mengetahui jenis buah berdasarkan foto. kita bisa saja menulis kode manual dan memberikan kondisi/rule tertentu untuk mengetahui jenis buah berdasarkan warna atau bentuk buahnya, thats work fine for simple images. tetapi di dunia nyata bentuk dan warna buah tidak selalu sama, bagaimana jika fotonya hitam putih atau jenis buah tertentu tidak ada dalam kode yang kita buat kondisi/rule-nya? dan bagaimana jika kita menambah jenis buah? tentu saja kita harus mengulangi semua kode yang kita buat manual, cape kan?
disitulah machine learning bisa membantu kita untuk memberikan solusi terhadap masalah kita tadi, karena machine learning dapat memberikan kondisi/rule ( classifier ) dengan cara mencari pattern terhadap data yang kita berikan atau nanti akan kita sebut dengan training data, tanpa kita harus menulisnya dengan manual. dan teknik ini dinamakan supervised learning.
supervised learning : create a classifier by finding pattern in examples.

let’s buckle up.

kita akan menggunakan scikit learn untuk membantu kita, go ahead and install here , saya menggunakan anaconda2 untuk menginstall scikit learn, dan berguna juga nanti jika ingin menginstall tensorflow. lebih mudah dan praktis menggunakan anaconda2.

the goal!

kita akan mampu untuk menentukan jenis buah berdasarkan ciri-ciri dari buah tersebut
sebagai contoh kita akan menentukan jenis buah durian atau rambutan.

are your scikit learn installed properly?

sesudah kita menginstall scikit learn pastikan scikit learn telah terinstall dengan baik dengan cara:

[~] $: touch basic-machine-learning.py
[~] $: vim basic-machine-learning.py

lalu tulis di file basic-machine-learning.py

import sklearn

save, exit dan jalankan dengan perintah:

[~] $: python basic-machine-learning.py

jika tidak ada error maka scikit learn telah terinstall dengan baik, lanjut… gan.
selanjutnya kita akan membuat training data untuk menentukan buah durian dan rambutan, training data buah ini kita akan isi dengan ciri-ciri buah, berat, texture , dan nama_buah.
nb :kita akan menggunakan input console terlebih dahulu, in future article I will show how to using image classifier ;)

berat dan texture kita akan sebut dengan features dan nama buah kita akan sebut dengan label

let’s code!

from sklearn import tree
features = [[60, "berambut"], [1200, "berduri"], [50, "berambut"], [1500, "berduri"] ]
labels = ["rambutan", "durian", "rambutan", "durian"]

saya akan mempersimple kode dengan mengganti value dalam variable features "berambut" = 0 dan "berduri" = 1 , begitu juga dengan labels "rambutan" = 0 dan "durian" = 1

from sklearn import tree
features = [[60, 0], [1200, 1], [50, 0], [1500, 1] ]
labels = [0, 1, 0, 1]

kita akan mengunakan decision tree untuk menentukan jenis buah nanti berdasarkan input dengan manambahkan method DecisionTreeClassifier() dan mentraining classifier dengan method fit() :

from sklearn import tree
features = [[60, 0], [1200, 1], [50, 0], [1500, 1] ]
labels = [0, 1, 0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)

dan pada akhirnya kita dapat menentukan jenis buah dengan cara meng-inputkan ciri-ciri buah dengan method predict() dan nanti akan mengembalikan label-nya, kita akan menginputkan berat baru dan texture-nya:

from sklearn import tree
features = [[60, 0], [1200, 1], [50, 0], [1500, 1] ]
labels = [0, 1, 0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)
print clf.predict([[70, 0]])

jalankan script dan kita akan melihat [0] akan di print itu berarti jenis buah rambutan.

[~] $: python basic-machine-learning.py
[~] $: [0]