際際滷

際際滷Share a Scribd company logo
Seri Belajar
Data Science
Supervised Learning dengan R
M Reza Faisal
Seri Belajar Data Science: Supervised Learning dengan R
2
Seri Belajar Data Science: Supervised Learning dengan R
Penulis: M Reza Faisal
Editor: Agus Kurniawan
Penerbit: PE Press
Edisi pertama, tahun 2017
Seluruh konten isi buku ini merupakan hak cipta penulis dan PE Press.
Dilarang memperbanyak isi buku ini sebagian atau keseluruhan dengan
printing, cetak, fotokopi, dan sebagainya tanpa izin tertulis dari Penerbit
People Enterprise Press.
Seri Belajar Data Science: Supervised Learning dengan R
3
Kata Pengantar
Puji dan syukur diucapkan kepada Allah SWT atas selesainya buku yang
berjudul Seri Pemrograman: Supervise Learning dengan R.
Metode atau teknik matematika, statistik atau machine learning yang dibahas
pada buku ini adalah telah umum digunakan. Sehingga buku ini tidak akan
membahas tentang konsep metode dan teknik tersebut. Buku hanya fokus
membahas implementasi setiap metode dan teknik pada lingkungan R.
Topik machine learning yang dibahas pada buku ini hanya fokus kepada
supervised learning pada umumnya dan klasifikasi pada khususnya. Setiap
teknik klasifikasi yang dibahas disertai contoh masalah dan penyelesaian
langkah demi langkah sehingga dapat diikuti oleh pembaca dengan mudah.
Selain membahas teknik-teknik supervised learning - klasifikasi, buku ini
juga membahas teknik yang digunakan untuk mengukur kinerja teknik
klasifikasi yang digunakan. Sehingga pembaca dapat memiliki pengetahuan
yang lengkap untuk menyelesaikan masalah klasifikasi pada lingkungan R.
Akhir kata, selamat membaca dan semoga buku ini bermanfaat bagi para
pemula untuk mempelajari machine learning pada umumnya dan supervised
learning - klasifikasi dengan R pada khususnya. Kritik dan saran akan sangat
berarti dan dapat ditujukan via email
Banjarmasin, Januari 2017
M Reza Faisal
Seri Belajar Data Science: Supervised Learning dengan R
4
Daftar Isi
Table of Contents
KATA$PENGANTAR$ 3!
DAFTAR$ISI$ 4!
1.$PENDAHULUAN$ 11!
1.1$BAGAIMANA$MANUSIA$BELAJAR$MENGENALI?$ 11!
1.2$KENAPA$KOMPUTER$PERLU$MEMPUNYAI$KEMAMPUAN$BELAJAR$SEPERTI$
MANUSIA?$ 11!
1.3$MACHINE$LEARNING$ 12!
1.3.1!DOMAIN!MODEL! 12!
1.3.2!DEFINISI! 13!
1.3.3!ISTILAH2ISTILAH! 13!
1.3.4!TIPE! 14!
1.3.5!LANGKAH2LANGKAH!IMPLEMENTASI! 16!
1.4$MACHINE$LEARNING$&$DATA$MINING$ 16!
2.$PENGANTAR$PEMROGRAMAN$R$ 17!
2.1$INSTALLASI$ 17!
2.1.1!COMPREHENSIVE!R!ARCHIVE!NETWORK!(CRAN)! 17!
2.1.2!MICROSOFT!R!ARCHIVE!NETWORK!(MRAN)! 22!
2.2$TOOL$PEMROGRAMAN$ 26!
2.2.1!RGUI! 26!
2.2.2!RSTUDIO! 29!
2.2.3!R!TOOLS!FOR!VISUAL!STUDIO! 33!
3.$FUNGSI@FUNGSI$DASAR$R$ 37!
3.1$PACKAGE$ 37!
3.1.1!INSTALLASI!PACKAGE! 37!
3.1.2!MEMUAT!PACKAGE! 38!
Seri Belajar Data Science: Supervised Learning dengan R
5
3.2$WORKING$DIRECTORY$ 38!
3.2.1!MENDAPATKAN!WORKING!DIRECTORY! 39!
3.2.2!MENENTUKAN!WORKING!DIRECTORY! 39!
3.3$DATASET$ 39!
3.4$MENULIS$DATA$KE$FILE$ 40!
3.4.1!WRITE.CSV()! 40!
3.4.2!WRITE.TABLE()! 40!
3.5$MEMBACA$FILE$TEXT$ 41!
3.5.1!READ.CSV()! 41!
3.5.2!READ.TABLE()! 41!
3.6$MEMBACA$FILE$EXCEL$ 41!
3.7$AKSES$DATABASE$ 42!
3.7.1!AKSES!DATABASE!MYSQL! 42!
3.7.2!AKSES!DATABASE!SQL!SERVER! 43!
3.8$MENAMPILKAN$DATA$ 43!
3.8.1!HEAD()! 44!
3.8.2!TAIL()! 44!
3.8.3!VIEW()! 45!
3.8.4!OBYEK$ROWNAME! 46!
3.9$MEMFILTER$DATA$ 46!
3.9.1!OBYEK[,X:Y]! 46!
3.9.2!OBYEK[X:Y,]! 47!
3.9.3!OBYEK[X1:Y1,!X2:Y2]! 47!
3.9.4!OBYEK[WHICH(),!]! 47!
3.10$MENGGABUNG$DATA$ 47!
3.10.1!RBIND()! 47!
3.10.2!CBIND()! 48!
3.11$EXPLORASI$DATA$ 49!
3.11.1!DIM()! 49!
Seri Belajar Data Science: Supervised Learning dengan R
6
3.11.2!NAMES()! 49!
3.11.3!STR()! 49!
3.11.4!TABLE()! 49!
3.11.5!SUMMARY()! 50!
3.12$GRAFIK$ 50!
3.12.1!PLOT()! 50!
3.12.2!SCATTERPLOT3()! 52!
3.12.3!PLOT3D()! 53!
3.12.4!HIST()! 54!
3.12.5!DENSITY()! 55!
3.12.6!PIE()! 55!
3.12.7!BARPLOT()! 56!
3.12.8!BOXPLOT()! 57!
3.12.9!PAR()! 57!
3.13$VISUALISASI$DATA$ 59!
3.13.1!PRINCIPAL!COMPONENT!ANALYSIS!(PCA)! 59!
3.13.2!VISUALISASI!2D! 60!
3.13.3!VISUALISASI!3D! 62!
3.14$HELP$ 62!
4.$PENGANTAR$KLASIFIKASI$ 65!
4.1$DEFINISI$ 65!
4.2$DATA$ 65!
4.3$LANGKAH@LANGKAH$PENGEMBANGAN$ 68!
4.3.1!PENGENALAN!DATA! 69!
4.3.2!PEMBAGIAN!DATA! 69!
4.3.3!IMPLEMENTASI!ALGORITMA!KLASIFIKASI! 72!
4.3.4!PENGUKURAN!KINERJA!ALGORITMA!KLASIFIKASI! 73!
5.$PENGENALAN$&$PEMBAGIAN$DATA$ 79!
5.1$PENGENALAN$DATA$ 79!
Seri Belajar Data Science: Supervised Learning dengan R
7
5.1.1!DATASET!IRIS! 79!
5.1.2!DATASET!TITANIC! 83!
5.1.3!DATASET!YEAST! 86!
5.2$PEMBAGIAN$DATA$ 89!
5.2.1!PERSIAPAN!WORKING!DIRECTORY! 90!
5.2.2!DATA!UNTUK!KLASIFIKASI!BINARY!CLASS! 90!
5.2.3!DATA!UNTUK!KLASIFIKASI!MULTI!CLASS! 94!
6.$RANCANGAN$APLIKASI$KLASIFIKASI$ 97!
6.1$APA$LANGKAH$SELANJUTNYA?$ 97!
6.2$RANCANGAN$APLIKASI$ 97!
6.2.1!RANCANGAN!APLIKASI!1! 97!
6.2.2!RANCANGAN!APLIKASI!2! 98!
6.2.3!RANCANGAN!APLIKASI!3! 99!
7.$K@NEAREST$NEIGHBORS$(KNN)$ 101!
7.1$CARA$KERJA$ 101!
7.2$PERSIAPAN$ 101!
7.3$SINTAKS$ 102!
7.4$IMPLEMENTASI$ 102!
7.4.1!APLIKASI!1! 102!
7.4.2!APLIKASI!2! 104!
7.4.3!APLIKASI!3! 110!
7.5$CATATAN$ 117!
8.$NAVE$BAYES$ 119!
8.1$PERSIAPAN$ 122!
8.2$SINTAKS$ 122!
8.3$IMPLEMENTASI$ 124!
8.3.1!APLIKASI!1! 124!
8.3.2!APLIKASI!2! 127!
Seri Belajar Data Science: Supervised Learning dengan R
8
8.3.3!APLIKASI!3! 130!
8.4$CATATAN$ 133!
9.$SUPPORT$VECTOR$MACHINE$(SVM)$ 135!
9.1$CARA$KERJA$ 135!
9.2$PERSIAPAN$ 136!
9.3$SINTAKS$ 137!
9.4$IMPLEMENTASI$ 138!
9.4.1!APLIKASI!1! 138!
9.4.2!APLIKASI!2! 139!
9.4.3!APLIKASI!3! 143!
9.5$CATATAN$ 148!
10.$DECISION$TREE$ 149!
10.1$CARA$KERJA$ 149!
10.2$PERSIAPAN$ 155!
10.3$SINTAKS$ 155!
10.4$IMPLEMENTASI$ 155!
10.4.1!APLIKASI!1! 155!
10.4.2!APLIKASI!2! 158!
10.4.3!APLIKASI!3! 162!
10.5$CATATAN$ 166!
11.$KLASIFIKASI$KELAS$TIDAK$SEIMBANG$ 167!
11.1$DEFINISI$&$EFEK$KELAS$TIDAK$SEIMBANG$ 167!
11.1.1!KNN! 168!
11.1.2!NAVE!BAYES! 168!
11.1.3!SVM! 169!
11.1.4!DECISION!TREE! 170!
11.2$SOLUSI$MASALAH$ 171!
11.3$DATASET$CLASS$TIDAK$SEIMBANG$ 172!
Seri Belajar Data Science: Supervised Learning dengan R
9
11.4$SOLUSI$PENDEKATAN$DATA$ 173!
11.4.1!UNDERSAMPLING! 173!
11.4.2!OVERSAMPLING! 180!
11.4.3!GABUNGAN!UNDERSAMPLING!&!OVERSAMPLING! 185!
11.5$SOLUSI$PENDEKATAN$ALGORITMA$ 190!
A.!BOOTSTRAP!AGGREGATING!(BAGGING)! 190!
B.!BOOSTING! 191!
C.!STACKING! 191!
11.6$CATATAN$ 192!
12.$REFERENSI$ 193!
13.$PENUTUP$ 194!
PROFILE$ 195!
Seri Belajar Data Science: Supervised Learning dengan R
10
Seri Belajar Data Science: Supervised Learning dengan R
11
1. Pendahuluan
1.1 Bagaimana Manusia Belajar Mengenali?
Anak kecil mempunyai keingintahuan yang sangat tinggi. Saat seorang anak
kecil dan orang tuanya duduk di depan rumah maka anak kecil tersebut
mungkin akan bertanya tentang apa saja yang lewat di depan rumahnya.
Saat mobil lewat, sang anak bertanya: Itu apa?. Itu mobil nak, jawab sang
orang tua. Pertanyaan serupa mungkin diulang-ulang oleh sang anak sampai
puluhan mobil lewat di depan rumahnya. Sampai suatu saat hal itu tidak akan
ditanyakan lagi oleh sang anak. Karena sang anak telah mengenal ciri-ciri
bermacam-macam mobil yang telah lewat di depan rumahnya.
Suatu saat mungkin sang anak akan memiliki pertanyaan lain. Tetapi
pertanyaannya masih berkaitan tentang mobil. Sang anak bertanya: Itu
mobil ya?. Sang orang tua akan menjawab: Iya nak ketika yang lewat
adalah mobil. Dan menjawab: Bukan nak ketika yang lewat bukan mobil.
Hal yang sama mungkin akan terjadi lagi ketika sang anak melihat sepeda
motor. Dan kembali sang anak akan berhenti bertanya ketika sang anak telah
mengenal ciri-ciri bermacam-macam sepeda motor yang dia lihat. Ketika
proses belajar pengenalan mobil dan sepeda motor selesai, maka sang anak
akan dengan gampang mengklasifikasikan mana mobil dan sepeda motor.
Cerita di atas adalah contoh sederhana supervised learning. Karena data
tentang setiap mobil memiliki labelnya. Jika data tentang setiap mobil adalah
setiap pertanyaan tentang mobil, maka label adalah jawaban sang orang tua
1.2 Kenapa Komputer Perlu Mempunyai Kemampuan Belajar Seperti
Manusia?
Tetapi masalah yang dihadapi manusia tidak hanya masalah menentukan dan
membedakan sepeda motor dan mobil saja. Banyak hal-hal serupa yang ingin
diketahui oleh manusia sebagai contoh adalah bagaimana membedakan email
spam dan email bukan spam. Jika manusia belajar mengidentifikasi email
spam dan bukan seperti bagaimana sang anak di atas belajar, maka dengan
mudah dapat membedakan email spam dan bukan.
Tetapi masalahnya tidak mungkin untuk mempekerjakan manusia untuk
memfilter email spam yang jumlahnya jutaan bahkan milyaran lebih email
pada Yahoo! Mail atau Gmail. Karena manusia mempunyai kebatasan dalam
hal kecepatan melakukan menghadapi jumlah yang banyak, selain itu
keterbatasan stamina untuk bekerja dalam waktu yang lama atau tanpa
istirahat.
Selain masalah filter email spam juga ada masalah lain seperti:
1.! Menentukan penipuan transaksi di bank.
2.! Pada bidang bioinformatika terdapat masalah seperti klasifikasi
kanker, DNA, genome dan lain-lain.
3.! Klasifikasi lahan pada citra GIS.
4.! Dan lain-lain.
Seri Belajar Data Science: Supervised Learning dengan R
12
1.3 Machine Learning
1.3.1 Domain Model
Pada sub bab pertama telah disebutkan bagaimana anak mengenali sesuatu.
Manusia dapat melakukan hal karena otak mampu membuat model
berdasarkan masalah yang dihadapi yang disebut domain model. Dengan
model tersebut maka dapat dilakukan proses seperti:
1.! Klasifikasi.
2.! Prediksi.
3.! Clustering.
4.! Explanation.
Pada sub bab pertama terdapat dua domain yaitu sepeda motor atau mobil
dan email spam atau bukan. Untuk membuat domain model dapat
digunakan dua pendekatan yaitu:
1.! Pendekatan basis pengetahuan (knowledge-based)
Pendekatan ini dapat dilakukan jika ada seorang ahli di suatu
domain yang memberikan pengetahuan eksplisit untuk
mengidentifikasi sesuatu. Seorang ahli pada suatu domain lebih
dikenal sebagai expert system. Jika pendekatan ini
diimplementasikan pada perangkat lunak maka pembuat perangkat
akan menjadi pemberi pengetahuan secara eksplisit tentang domain
model.
2.! Pendekatan data-driven
Pendekatan ini memanfaatkan data yang telah ada untuk
membangun konsep model secara implisit sehingga dapat
digunakan untuk mengidentifikasi sesuatu.
Pada buku ini akan berfokus pada pendekatan data-driven. Untuk membuat
data menjadi domain model agar didapat informasi yang dapat digunakan
untuk melakukan aksi maka digunakan metode-metode yang telah dikenal
pada bidang statistik. Proses data dengan metode-metode statistik tersebut
dibantu dengan bantuan kekuatan komputasi yang dimiliki oleh komputer.
Gambar 1. Data, metode statistik dan kekuatan komputasi computer
(sumber: Machine Learning with R).
Karena menggunakan metode statistik maka proses di atas disebut statistical
learning, tetapi lebih populer atau lebih dikenal dengan istilah machine
learning.
Seri Belajar Data Science: Supervised Learning dengan R
13
1.3.2 Definisi
Mechine learning adalah bidang yang mempelajari pengembangan algoritma
komputer untuk mengubah data menjadi aksi yang cerdas (Machine Learning
with R). atau secara singkat dapat juga diartikan sebagai proses mengubah
data menjadi informasi (Machine Learning in Action).
Selain machine learning, juga sering didengar istilah data mining yang
merupakan saudara kandungnya. Tetapi ada pendapat yang menyatakan
tumpang tinding machine learning dan data mining dimana secara virtual
pada seluruh data mining pasti melibatkan penggunaan machine learning
tetapi tidak seluruh machine learning melibatkan data mining. Sebagai
contoh machine learning digunakan untuk melakukan proses data mining
data lalu lintas kendaraan bermotor untuk mendapatkan pola yang
berhubungan dengan tingkat kecelakaan. Kemudian bedakan dengan
bagaimana proses pembelajaran komputer untuk mengendarai mobil dimana
hal tersebut murni machine learning tanpa ada data mining. Maka dapat
ditarik kesimpulan singkat yaitu:
1.! Machine learning berfokus pada bagaimana pembelajaran komputer
menggunakan komputer untuk memecahkan masalah.
2.! Data mining berfokus pada bagaimana pembelajaran komputer
mengindentifikasi pola yang akan digunakan manusia untuk
memecahkan masalah.
1.3.3 Istilah-Istilah
Sebelum membahas tentang machine learning lebih dalam, maka pada sub
bab ini akan disebutkan dan diterangkan terminologi atau istilah-istilah yang
umum digunakan.
A. Dataset, Instance & Feature
Dengan menggunakan pendekatan data-driven maka pembelajaran dapat
dilakukan jika telah dimiliki data atau sering disebut sebagai dataset. Di
bawah ini ditampilkan dataset iris yang terdiri atas 150 baris atau record yang
akan lebih dikenal dengan istilah instance.
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
. . .
145 6.7 3.3 5.7 2.5 virginica
146 6.7 3.0 5.2 2.3 virginica
147 6.3 2.5 5.0 1.9 virginica
148 6.5 3.0 5.2 2.0 virginica
149 6.2 3.4 5.4 2.3 virginica
150 5.9 3.0 5.1 1.8 virginica
Pada dataset di atas dapat dilihat 5 kolom yaitu:
Seri Belajar Data Science: Supervised Learning dengan R
14
1.! Sepal.Length.
2.! Sepal.Width.
3.! Petal.Length.
4.! Petal.Width.
5.! Species.
Istilah yang digunakan untuk kolom adalah feature, artinya dataset di atas
memiliki 5 feature. Pada beberapa algoritma, feature dapat dibedakan
menjadi dua yaitu: feature dan target variable (target feature). Sebagai
contoh jika dataset di atas diproses dengan algoritma klasifikasi maka target
variable (target feature) adalah Species sedangkan sisanya adalah feature.
B. Training Set & Test Set
Dataset akan digunakan pada proses pembelajaran algoritma paling tidak
terdapat dua tahap yang harus dilakukan, yaitu tahap training dan pengujian
(test). Jika dimiliki 150 instance pada dataset maka harus dibagi menjadi dua.
Data yang digunakan pada tahap training akan disebut dengan istilah
training set. Sedangkan yang digunakan pada tahap pengujian disebut test
set.
Untuk teknik pembagian dataset menjadi training dan test set akan
diterangkan pada bab yang lain.
1.3.4 Tipe
Machine learning dapat dibedakan menjadi dua tipe. Tipe yang dimaksudkan
di sini adalah tipe algoritma yaitu:
1.! Supervised learning.
2.! Unsupervised learning.
A. Supervised Learning
Pembelajaran pada tipe ini telah diketahui apa yang akan diprediksi atau
target variablenya. Sehingga tujuan membangun algoritma sudah jelas hal
apa yang akan diprediksi. Oleh karena itu model yang dihasilkan dari tipe
ini adalah model prediksi.
Model prediksi digunakan untuk melakukan proses prediksi target variable
(target feature) berdasarkan feature-feature lain pada suatu dataset.
Algoritma pembelajaran yang dibangun mencoba untuk menemukan dan
memodelkan hubungan antara target variable (target feature) tersebut
dengan feature-feature lainnya.
Klasifikasi adalah contoh task mechine learning tipe supervised untuk
melakukan prediksi. Beberapa contoh penerapan klasifikasi adalah sebagai
berikut:
1.! Penentuan email adalah email spam.
2.! Penentuan seseorang mengidap kanker.
3.! Penentuan kemenangan suatu tim sepakbola.
Seri Belajar Data Science: Supervised Learning dengan R
15
Pada klasifikasi, target feature yang akan diprediksi adalah feature
terkategori yang dikenal dengan istilah kelas (class) dan dapat dibagi menjadi
kategori yang disebut dengan istilah level.
Kasus klasifikasi dapat dibedakan berdasarkan tipe masalah yang umumnya
ditemui, yaitu:
1.! Klasifikasi 1 class.
2.! Klasifikasi 2 class (binary).
3.! Klasifikasi multiclass, terdapat lebih dari 2 class.
Saat ini telah banyak teknik/metode klasifikasi yang dikembangkan untuk
menyelesaikan masalah klasifikasi 2 class. Sehingga untuk menyelesaikan
masalah klasifikasi multiclass dapat digunakan kombinasi teknik/metode
yang biasa digunakan untuk menyelesaikan klasifikasi 2 class
Supervised learning juga dapat digunakan untuk memprediksi data numerik.
Task seperti ini dikenal dengan istilah regresi.
Berikut ini adalah beberapa nama algoritma tipe supervised leaning yaitu:
1.! K-Nearest Neighbors.
2.! Na誰ve Bayes.
3.! Suport Vector Machine.
4.! Decision Trees.
5.! Linear Regression.
6.! Neural Network.
B. Unsupervised Learning
Unsupervised learning merupakan kebalikan dari tipe sebelumnya dimana
tidak terdapat target variable (target feature) pada dataset. Model yang
dihasilkan dari tipe ini adalah descriptive model.
Salah satu task descriptive model untuk menemukan pola yang bisa
mengidentifikasi asosiasi pada dataset. Contoh implementasinya dapat
dilakukan pada menemukan pola pada proses analisis barang yang dibeli oleh
pembeli pada suatu super market atau mini market. Tujuan dari analisis ini
adalah untuk mengetahui barang-barang yang sering dibeli bersama-sama.
Sebagai contoh jika pembeli membeli roti maka otomatis juga membeli keju
dan susu kental manis. Atau jika pembeli membeli sabun cuci maka juga
membeli pengharum pakaian. Dengan informasi pola tersebut maka pemilik
super market dapat menggunakannya untuk membuat iklan diskon untuk
kelompok barang tersebut, atau pemilik juga dapat membuat agar tata letak
barang-barang tersebut dibuat berdekatan.
Task descriptive model yang lain adalah mengelompokkan dataset ke dalam
kelompok-kelompok yang homogen yang disebut dengan istilah clustering.
Kelompok-kelompok homogen yang dihasilkan dari clustering perlu bantuan
manusia untuk melakukan intepretasi hasil tersebut untuk menentukan atau
mendeskripsikan apa isi dari kelompok-kelompok tersebut.
Contoh unsupervised learning adalah:
1.! Association rule.
2.! K-Mean clustering.
Seri Belajar Data Science: Supervised Learning dengan R
16
1.3.5 Langkah-Langkah Implementasi
Berikut ini adalah langkah-langkah yang digunakan untuk melakukan
implementasi machine learning untuk menyelesaikan kasus yang dihadapi.
Terdapat 5 tahap yang dapat diterapkan pada pada setiap algoritma machine
learning, yaitu:
1.! Pengumpulan data.
2.! Eksplorasi dan persiapan data, langkah eksplorasi data bertujuan
untuk lebih mengenal data yang digunakan. Sedangkan langkah
persiapan data bertujuan untuk meningkatkan kualitas data seperti
menghilangkan data yang tidak diperlukan. Karena kualitas model
yang dihasilkan sangat bergantung pada data yang digunakan.
3.! Training/pelatihan model, langkah pembangunan model. Pada
langkah ini digunakan training set sebagai input data.
4.! Evaluasi model, langkah evaluasi dilakukan untuk mengetahui
performansi dari model yang dihasilkan maka model yang
dihasilkan pada tahap sebelumnya akan diuji dengan menggunakan
test set sebagai input data.
5.! Perbaikan model, langkah ini diperlukan jika diinginkan
performansi yang lebih baik. Ada beberapa cara yang dapat
dilakukan untuk itu mendapatkan performansi yang lebih baik,
diantaranya adalah mengganti tipe learning atau algoritma yang
digunakan. Atau dengan cara melakukan perbaikan pada data yang
digunakan baik dengan cara menambah data, mengurangi feature
pada dataset dan lain-lain.
1.4 Machine Learning & Data Mining
Berikut ini adalah penjelasan secara singkat keterkaitan atau hubungan antara
machine learning dan data mining.
Secara singkat, data mining menggunakan metode statistik untuk mencari
pola tersembunyi pada database agar dapat menjelaskan suatu fenomena.
Sedangkan machine learning menggunakan teknik-teknik data mining dan
algoritma pembelajaran lainnya untuk membuat model dari hal-hal yang
terjadi pada data untuk memprediksi kejadian selanjutnya. Selanjutnya
machine learning akan digunakan pada bidang artificial intelligence untuk
membuat model yang digunakan untuk pengenalan kebiasaan dan prediksi
aksi sebagai contoh implementasi pada game atau mobil pintar yang bisa
berjalan sendiri.

More Related Content

Seri Belajar Data Science Supervised Learning dengan R

  • 1. Seri Belajar Data Science Supervised Learning dengan R M Reza Faisal
  • 2. Seri Belajar Data Science: Supervised Learning dengan R 2 Seri Belajar Data Science: Supervised Learning dengan R Penulis: M Reza Faisal Editor: Agus Kurniawan Penerbit: PE Press Edisi pertama, tahun 2017 Seluruh konten isi buku ini merupakan hak cipta penulis dan PE Press. Dilarang memperbanyak isi buku ini sebagian atau keseluruhan dengan printing, cetak, fotokopi, dan sebagainya tanpa izin tertulis dari Penerbit People Enterprise Press.
  • 3. Seri Belajar Data Science: Supervised Learning dengan R 3 Kata Pengantar Puji dan syukur diucapkan kepada Allah SWT atas selesainya buku yang berjudul Seri Pemrograman: Supervise Learning dengan R. Metode atau teknik matematika, statistik atau machine learning yang dibahas pada buku ini adalah telah umum digunakan. Sehingga buku ini tidak akan membahas tentang konsep metode dan teknik tersebut. Buku hanya fokus membahas implementasi setiap metode dan teknik pada lingkungan R. Topik machine learning yang dibahas pada buku ini hanya fokus kepada supervised learning pada umumnya dan klasifikasi pada khususnya. Setiap teknik klasifikasi yang dibahas disertai contoh masalah dan penyelesaian langkah demi langkah sehingga dapat diikuti oleh pembaca dengan mudah. Selain membahas teknik-teknik supervised learning - klasifikasi, buku ini juga membahas teknik yang digunakan untuk mengukur kinerja teknik klasifikasi yang digunakan. Sehingga pembaca dapat memiliki pengetahuan yang lengkap untuk menyelesaikan masalah klasifikasi pada lingkungan R. Akhir kata, selamat membaca dan semoga buku ini bermanfaat bagi para pemula untuk mempelajari machine learning pada umumnya dan supervised learning - klasifikasi dengan R pada khususnya. Kritik dan saran akan sangat berarti dan dapat ditujukan via email Banjarmasin, Januari 2017 M Reza Faisal
  • 4. Seri Belajar Data Science: Supervised Learning dengan R 4 Daftar Isi Table of Contents KATA$PENGANTAR$ 3! DAFTAR$ISI$ 4! 1.$PENDAHULUAN$ 11! 1.1$BAGAIMANA$MANUSIA$BELAJAR$MENGENALI?$ 11! 1.2$KENAPA$KOMPUTER$PERLU$MEMPUNYAI$KEMAMPUAN$BELAJAR$SEPERTI$ MANUSIA?$ 11! 1.3$MACHINE$LEARNING$ 12! 1.3.1!DOMAIN!MODEL! 12! 1.3.2!DEFINISI! 13! 1.3.3!ISTILAH2ISTILAH! 13! 1.3.4!TIPE! 14! 1.3.5!LANGKAH2LANGKAH!IMPLEMENTASI! 16! 1.4$MACHINE$LEARNING$&$DATA$MINING$ 16! 2.$PENGANTAR$PEMROGRAMAN$R$ 17! 2.1$INSTALLASI$ 17! 2.1.1!COMPREHENSIVE!R!ARCHIVE!NETWORK!(CRAN)! 17! 2.1.2!MICROSOFT!R!ARCHIVE!NETWORK!(MRAN)! 22! 2.2$TOOL$PEMROGRAMAN$ 26! 2.2.1!RGUI! 26! 2.2.2!RSTUDIO! 29! 2.2.3!R!TOOLS!FOR!VISUAL!STUDIO! 33! 3.$FUNGSI@FUNGSI$DASAR$R$ 37! 3.1$PACKAGE$ 37! 3.1.1!INSTALLASI!PACKAGE! 37! 3.1.2!MEMUAT!PACKAGE! 38!
  • 5. Seri Belajar Data Science: Supervised Learning dengan R 5 3.2$WORKING$DIRECTORY$ 38! 3.2.1!MENDAPATKAN!WORKING!DIRECTORY! 39! 3.2.2!MENENTUKAN!WORKING!DIRECTORY! 39! 3.3$DATASET$ 39! 3.4$MENULIS$DATA$KE$FILE$ 40! 3.4.1!WRITE.CSV()! 40! 3.4.2!WRITE.TABLE()! 40! 3.5$MEMBACA$FILE$TEXT$ 41! 3.5.1!READ.CSV()! 41! 3.5.2!READ.TABLE()! 41! 3.6$MEMBACA$FILE$EXCEL$ 41! 3.7$AKSES$DATABASE$ 42! 3.7.1!AKSES!DATABASE!MYSQL! 42! 3.7.2!AKSES!DATABASE!SQL!SERVER! 43! 3.8$MENAMPILKAN$DATA$ 43! 3.8.1!HEAD()! 44! 3.8.2!TAIL()! 44! 3.8.3!VIEW()! 45! 3.8.4!OBYEK$ROWNAME! 46! 3.9$MEMFILTER$DATA$ 46! 3.9.1!OBYEK[,X:Y]! 46! 3.9.2!OBYEK[X:Y,]! 47! 3.9.3!OBYEK[X1:Y1,!X2:Y2]! 47! 3.9.4!OBYEK[WHICH(),!]! 47! 3.10$MENGGABUNG$DATA$ 47! 3.10.1!RBIND()! 47! 3.10.2!CBIND()! 48! 3.11$EXPLORASI$DATA$ 49! 3.11.1!DIM()! 49!
  • 6. Seri Belajar Data Science: Supervised Learning dengan R 6 3.11.2!NAMES()! 49! 3.11.3!STR()! 49! 3.11.4!TABLE()! 49! 3.11.5!SUMMARY()! 50! 3.12$GRAFIK$ 50! 3.12.1!PLOT()! 50! 3.12.2!SCATTERPLOT3()! 52! 3.12.3!PLOT3D()! 53! 3.12.4!HIST()! 54! 3.12.5!DENSITY()! 55! 3.12.6!PIE()! 55! 3.12.7!BARPLOT()! 56! 3.12.8!BOXPLOT()! 57! 3.12.9!PAR()! 57! 3.13$VISUALISASI$DATA$ 59! 3.13.1!PRINCIPAL!COMPONENT!ANALYSIS!(PCA)! 59! 3.13.2!VISUALISASI!2D! 60! 3.13.3!VISUALISASI!3D! 62! 3.14$HELP$ 62! 4.$PENGANTAR$KLASIFIKASI$ 65! 4.1$DEFINISI$ 65! 4.2$DATA$ 65! 4.3$LANGKAH@LANGKAH$PENGEMBANGAN$ 68! 4.3.1!PENGENALAN!DATA! 69! 4.3.2!PEMBAGIAN!DATA! 69! 4.3.3!IMPLEMENTASI!ALGORITMA!KLASIFIKASI! 72! 4.3.4!PENGUKURAN!KINERJA!ALGORITMA!KLASIFIKASI! 73! 5.$PENGENALAN$&$PEMBAGIAN$DATA$ 79! 5.1$PENGENALAN$DATA$ 79!
  • 7. Seri Belajar Data Science: Supervised Learning dengan R 7 5.1.1!DATASET!IRIS! 79! 5.1.2!DATASET!TITANIC! 83! 5.1.3!DATASET!YEAST! 86! 5.2$PEMBAGIAN$DATA$ 89! 5.2.1!PERSIAPAN!WORKING!DIRECTORY! 90! 5.2.2!DATA!UNTUK!KLASIFIKASI!BINARY!CLASS! 90! 5.2.3!DATA!UNTUK!KLASIFIKASI!MULTI!CLASS! 94! 6.$RANCANGAN$APLIKASI$KLASIFIKASI$ 97! 6.1$APA$LANGKAH$SELANJUTNYA?$ 97! 6.2$RANCANGAN$APLIKASI$ 97! 6.2.1!RANCANGAN!APLIKASI!1! 97! 6.2.2!RANCANGAN!APLIKASI!2! 98! 6.2.3!RANCANGAN!APLIKASI!3! 99! 7.$K@NEAREST$NEIGHBORS$(KNN)$ 101! 7.1$CARA$KERJA$ 101! 7.2$PERSIAPAN$ 101! 7.3$SINTAKS$ 102! 7.4$IMPLEMENTASI$ 102! 7.4.1!APLIKASI!1! 102! 7.4.2!APLIKASI!2! 104! 7.4.3!APLIKASI!3! 110! 7.5$CATATAN$ 117! 8.$NAVE$BAYES$ 119! 8.1$PERSIAPAN$ 122! 8.2$SINTAKS$ 122! 8.3$IMPLEMENTASI$ 124! 8.3.1!APLIKASI!1! 124! 8.3.2!APLIKASI!2! 127!
  • 8. Seri Belajar Data Science: Supervised Learning dengan R 8 8.3.3!APLIKASI!3! 130! 8.4$CATATAN$ 133! 9.$SUPPORT$VECTOR$MACHINE$(SVM)$ 135! 9.1$CARA$KERJA$ 135! 9.2$PERSIAPAN$ 136! 9.3$SINTAKS$ 137! 9.4$IMPLEMENTASI$ 138! 9.4.1!APLIKASI!1! 138! 9.4.2!APLIKASI!2! 139! 9.4.3!APLIKASI!3! 143! 9.5$CATATAN$ 148! 10.$DECISION$TREE$ 149! 10.1$CARA$KERJA$ 149! 10.2$PERSIAPAN$ 155! 10.3$SINTAKS$ 155! 10.4$IMPLEMENTASI$ 155! 10.4.1!APLIKASI!1! 155! 10.4.2!APLIKASI!2! 158! 10.4.3!APLIKASI!3! 162! 10.5$CATATAN$ 166! 11.$KLASIFIKASI$KELAS$TIDAK$SEIMBANG$ 167! 11.1$DEFINISI$&$EFEK$KELAS$TIDAK$SEIMBANG$ 167! 11.1.1!KNN! 168! 11.1.2!NAVE!BAYES! 168! 11.1.3!SVM! 169! 11.1.4!DECISION!TREE! 170! 11.2$SOLUSI$MASALAH$ 171! 11.3$DATASET$CLASS$TIDAK$SEIMBANG$ 172!
  • 9. Seri Belajar Data Science: Supervised Learning dengan R 9 11.4$SOLUSI$PENDEKATAN$DATA$ 173! 11.4.1!UNDERSAMPLING! 173! 11.4.2!OVERSAMPLING! 180! 11.4.3!GABUNGAN!UNDERSAMPLING!&!OVERSAMPLING! 185! 11.5$SOLUSI$PENDEKATAN$ALGORITMA$ 190! A.!BOOTSTRAP!AGGREGATING!(BAGGING)! 190! B.!BOOSTING! 191! C.!STACKING! 191! 11.6$CATATAN$ 192! 12.$REFERENSI$ 193! 13.$PENUTUP$ 194! PROFILE$ 195!
  • 10. Seri Belajar Data Science: Supervised Learning dengan R 10
  • 11. Seri Belajar Data Science: Supervised Learning dengan R 11 1. Pendahuluan 1.1 Bagaimana Manusia Belajar Mengenali? Anak kecil mempunyai keingintahuan yang sangat tinggi. Saat seorang anak kecil dan orang tuanya duduk di depan rumah maka anak kecil tersebut mungkin akan bertanya tentang apa saja yang lewat di depan rumahnya. Saat mobil lewat, sang anak bertanya: Itu apa?. Itu mobil nak, jawab sang orang tua. Pertanyaan serupa mungkin diulang-ulang oleh sang anak sampai puluhan mobil lewat di depan rumahnya. Sampai suatu saat hal itu tidak akan ditanyakan lagi oleh sang anak. Karena sang anak telah mengenal ciri-ciri bermacam-macam mobil yang telah lewat di depan rumahnya. Suatu saat mungkin sang anak akan memiliki pertanyaan lain. Tetapi pertanyaannya masih berkaitan tentang mobil. Sang anak bertanya: Itu mobil ya?. Sang orang tua akan menjawab: Iya nak ketika yang lewat adalah mobil. Dan menjawab: Bukan nak ketika yang lewat bukan mobil. Hal yang sama mungkin akan terjadi lagi ketika sang anak melihat sepeda motor. Dan kembali sang anak akan berhenti bertanya ketika sang anak telah mengenal ciri-ciri bermacam-macam sepeda motor yang dia lihat. Ketika proses belajar pengenalan mobil dan sepeda motor selesai, maka sang anak akan dengan gampang mengklasifikasikan mana mobil dan sepeda motor. Cerita di atas adalah contoh sederhana supervised learning. Karena data tentang setiap mobil memiliki labelnya. Jika data tentang setiap mobil adalah setiap pertanyaan tentang mobil, maka label adalah jawaban sang orang tua 1.2 Kenapa Komputer Perlu Mempunyai Kemampuan Belajar Seperti Manusia? Tetapi masalah yang dihadapi manusia tidak hanya masalah menentukan dan membedakan sepeda motor dan mobil saja. Banyak hal-hal serupa yang ingin diketahui oleh manusia sebagai contoh adalah bagaimana membedakan email spam dan email bukan spam. Jika manusia belajar mengidentifikasi email spam dan bukan seperti bagaimana sang anak di atas belajar, maka dengan mudah dapat membedakan email spam dan bukan. Tetapi masalahnya tidak mungkin untuk mempekerjakan manusia untuk memfilter email spam yang jumlahnya jutaan bahkan milyaran lebih email pada Yahoo! Mail atau Gmail. Karena manusia mempunyai kebatasan dalam hal kecepatan melakukan menghadapi jumlah yang banyak, selain itu keterbatasan stamina untuk bekerja dalam waktu yang lama atau tanpa istirahat. Selain masalah filter email spam juga ada masalah lain seperti: 1.! Menentukan penipuan transaksi di bank. 2.! Pada bidang bioinformatika terdapat masalah seperti klasifikasi kanker, DNA, genome dan lain-lain. 3.! Klasifikasi lahan pada citra GIS. 4.! Dan lain-lain.
  • 12. Seri Belajar Data Science: Supervised Learning dengan R 12 1.3 Machine Learning 1.3.1 Domain Model Pada sub bab pertama telah disebutkan bagaimana anak mengenali sesuatu. Manusia dapat melakukan hal karena otak mampu membuat model berdasarkan masalah yang dihadapi yang disebut domain model. Dengan model tersebut maka dapat dilakukan proses seperti: 1.! Klasifikasi. 2.! Prediksi. 3.! Clustering. 4.! Explanation. Pada sub bab pertama terdapat dua domain yaitu sepeda motor atau mobil dan email spam atau bukan. Untuk membuat domain model dapat digunakan dua pendekatan yaitu: 1.! Pendekatan basis pengetahuan (knowledge-based) Pendekatan ini dapat dilakukan jika ada seorang ahli di suatu domain yang memberikan pengetahuan eksplisit untuk mengidentifikasi sesuatu. Seorang ahli pada suatu domain lebih dikenal sebagai expert system. Jika pendekatan ini diimplementasikan pada perangkat lunak maka pembuat perangkat akan menjadi pemberi pengetahuan secara eksplisit tentang domain model. 2.! Pendekatan data-driven Pendekatan ini memanfaatkan data yang telah ada untuk membangun konsep model secara implisit sehingga dapat digunakan untuk mengidentifikasi sesuatu. Pada buku ini akan berfokus pada pendekatan data-driven. Untuk membuat data menjadi domain model agar didapat informasi yang dapat digunakan untuk melakukan aksi maka digunakan metode-metode yang telah dikenal pada bidang statistik. Proses data dengan metode-metode statistik tersebut dibantu dengan bantuan kekuatan komputasi yang dimiliki oleh komputer. Gambar 1. Data, metode statistik dan kekuatan komputasi computer (sumber: Machine Learning with R). Karena menggunakan metode statistik maka proses di atas disebut statistical learning, tetapi lebih populer atau lebih dikenal dengan istilah machine learning.
  • 13. Seri Belajar Data Science: Supervised Learning dengan R 13 1.3.2 Definisi Mechine learning adalah bidang yang mempelajari pengembangan algoritma komputer untuk mengubah data menjadi aksi yang cerdas (Machine Learning with R). atau secara singkat dapat juga diartikan sebagai proses mengubah data menjadi informasi (Machine Learning in Action). Selain machine learning, juga sering didengar istilah data mining yang merupakan saudara kandungnya. Tetapi ada pendapat yang menyatakan tumpang tinding machine learning dan data mining dimana secara virtual pada seluruh data mining pasti melibatkan penggunaan machine learning tetapi tidak seluruh machine learning melibatkan data mining. Sebagai contoh machine learning digunakan untuk melakukan proses data mining data lalu lintas kendaraan bermotor untuk mendapatkan pola yang berhubungan dengan tingkat kecelakaan. Kemudian bedakan dengan bagaimana proses pembelajaran komputer untuk mengendarai mobil dimana hal tersebut murni machine learning tanpa ada data mining. Maka dapat ditarik kesimpulan singkat yaitu: 1.! Machine learning berfokus pada bagaimana pembelajaran komputer menggunakan komputer untuk memecahkan masalah. 2.! Data mining berfokus pada bagaimana pembelajaran komputer mengindentifikasi pola yang akan digunakan manusia untuk memecahkan masalah. 1.3.3 Istilah-Istilah Sebelum membahas tentang machine learning lebih dalam, maka pada sub bab ini akan disebutkan dan diterangkan terminologi atau istilah-istilah yang umum digunakan. A. Dataset, Instance & Feature Dengan menggunakan pendekatan data-driven maka pembelajaran dapat dilakukan jika telah dimiliki data atau sering disebut sebagai dataset. Di bawah ini ditampilkan dataset iris yang terdiri atas 150 baris atau record yang akan lebih dikenal dengan istilah instance. Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa . . . 145 6.7 3.3 5.7 2.5 virginica 146 6.7 3.0 5.2 2.3 virginica 147 6.3 2.5 5.0 1.9 virginica 148 6.5 3.0 5.2 2.0 virginica 149 6.2 3.4 5.4 2.3 virginica 150 5.9 3.0 5.1 1.8 virginica Pada dataset di atas dapat dilihat 5 kolom yaitu:
  • 14. Seri Belajar Data Science: Supervised Learning dengan R 14 1.! Sepal.Length. 2.! Sepal.Width. 3.! Petal.Length. 4.! Petal.Width. 5.! Species. Istilah yang digunakan untuk kolom adalah feature, artinya dataset di atas memiliki 5 feature. Pada beberapa algoritma, feature dapat dibedakan menjadi dua yaitu: feature dan target variable (target feature). Sebagai contoh jika dataset di atas diproses dengan algoritma klasifikasi maka target variable (target feature) adalah Species sedangkan sisanya adalah feature. B. Training Set & Test Set Dataset akan digunakan pada proses pembelajaran algoritma paling tidak terdapat dua tahap yang harus dilakukan, yaitu tahap training dan pengujian (test). Jika dimiliki 150 instance pada dataset maka harus dibagi menjadi dua. Data yang digunakan pada tahap training akan disebut dengan istilah training set. Sedangkan yang digunakan pada tahap pengujian disebut test set. Untuk teknik pembagian dataset menjadi training dan test set akan diterangkan pada bab yang lain. 1.3.4 Tipe Machine learning dapat dibedakan menjadi dua tipe. Tipe yang dimaksudkan di sini adalah tipe algoritma yaitu: 1.! Supervised learning. 2.! Unsupervised learning. A. Supervised Learning Pembelajaran pada tipe ini telah diketahui apa yang akan diprediksi atau target variablenya. Sehingga tujuan membangun algoritma sudah jelas hal apa yang akan diprediksi. Oleh karena itu model yang dihasilkan dari tipe ini adalah model prediksi. Model prediksi digunakan untuk melakukan proses prediksi target variable (target feature) berdasarkan feature-feature lain pada suatu dataset. Algoritma pembelajaran yang dibangun mencoba untuk menemukan dan memodelkan hubungan antara target variable (target feature) tersebut dengan feature-feature lainnya. Klasifikasi adalah contoh task mechine learning tipe supervised untuk melakukan prediksi. Beberapa contoh penerapan klasifikasi adalah sebagai berikut: 1.! Penentuan email adalah email spam. 2.! Penentuan seseorang mengidap kanker. 3.! Penentuan kemenangan suatu tim sepakbola.
  • 15. Seri Belajar Data Science: Supervised Learning dengan R 15 Pada klasifikasi, target feature yang akan diprediksi adalah feature terkategori yang dikenal dengan istilah kelas (class) dan dapat dibagi menjadi kategori yang disebut dengan istilah level. Kasus klasifikasi dapat dibedakan berdasarkan tipe masalah yang umumnya ditemui, yaitu: 1.! Klasifikasi 1 class. 2.! Klasifikasi 2 class (binary). 3.! Klasifikasi multiclass, terdapat lebih dari 2 class. Saat ini telah banyak teknik/metode klasifikasi yang dikembangkan untuk menyelesaikan masalah klasifikasi 2 class. Sehingga untuk menyelesaikan masalah klasifikasi multiclass dapat digunakan kombinasi teknik/metode yang biasa digunakan untuk menyelesaikan klasifikasi 2 class Supervised learning juga dapat digunakan untuk memprediksi data numerik. Task seperti ini dikenal dengan istilah regresi. Berikut ini adalah beberapa nama algoritma tipe supervised leaning yaitu: 1.! K-Nearest Neighbors. 2.! Na誰ve Bayes. 3.! Suport Vector Machine. 4.! Decision Trees. 5.! Linear Regression. 6.! Neural Network. B. Unsupervised Learning Unsupervised learning merupakan kebalikan dari tipe sebelumnya dimana tidak terdapat target variable (target feature) pada dataset. Model yang dihasilkan dari tipe ini adalah descriptive model. Salah satu task descriptive model untuk menemukan pola yang bisa mengidentifikasi asosiasi pada dataset. Contoh implementasinya dapat dilakukan pada menemukan pola pada proses analisis barang yang dibeli oleh pembeli pada suatu super market atau mini market. Tujuan dari analisis ini adalah untuk mengetahui barang-barang yang sering dibeli bersama-sama. Sebagai contoh jika pembeli membeli roti maka otomatis juga membeli keju dan susu kental manis. Atau jika pembeli membeli sabun cuci maka juga membeli pengharum pakaian. Dengan informasi pola tersebut maka pemilik super market dapat menggunakannya untuk membuat iklan diskon untuk kelompok barang tersebut, atau pemilik juga dapat membuat agar tata letak barang-barang tersebut dibuat berdekatan. Task descriptive model yang lain adalah mengelompokkan dataset ke dalam kelompok-kelompok yang homogen yang disebut dengan istilah clustering. Kelompok-kelompok homogen yang dihasilkan dari clustering perlu bantuan manusia untuk melakukan intepretasi hasil tersebut untuk menentukan atau mendeskripsikan apa isi dari kelompok-kelompok tersebut. Contoh unsupervised learning adalah: 1.! Association rule. 2.! K-Mean clustering.
  • 16. Seri Belajar Data Science: Supervised Learning dengan R 16 1.3.5 Langkah-Langkah Implementasi Berikut ini adalah langkah-langkah yang digunakan untuk melakukan implementasi machine learning untuk menyelesaikan kasus yang dihadapi. Terdapat 5 tahap yang dapat diterapkan pada pada setiap algoritma machine learning, yaitu: 1.! Pengumpulan data. 2.! Eksplorasi dan persiapan data, langkah eksplorasi data bertujuan untuk lebih mengenal data yang digunakan. Sedangkan langkah persiapan data bertujuan untuk meningkatkan kualitas data seperti menghilangkan data yang tidak diperlukan. Karena kualitas model yang dihasilkan sangat bergantung pada data yang digunakan. 3.! Training/pelatihan model, langkah pembangunan model. Pada langkah ini digunakan training set sebagai input data. 4.! Evaluasi model, langkah evaluasi dilakukan untuk mengetahui performansi dari model yang dihasilkan maka model yang dihasilkan pada tahap sebelumnya akan diuji dengan menggunakan test set sebagai input data. 5.! Perbaikan model, langkah ini diperlukan jika diinginkan performansi yang lebih baik. Ada beberapa cara yang dapat dilakukan untuk itu mendapatkan performansi yang lebih baik, diantaranya adalah mengganti tipe learning atau algoritma yang digunakan. Atau dengan cara melakukan perbaikan pada data yang digunakan baik dengan cara menambah data, mengurangi feature pada dataset dan lain-lain. 1.4 Machine Learning & Data Mining Berikut ini adalah penjelasan secara singkat keterkaitan atau hubungan antara machine learning dan data mining. Secara singkat, data mining menggunakan metode statistik untuk mencari pola tersembunyi pada database agar dapat menjelaskan suatu fenomena. Sedangkan machine learning menggunakan teknik-teknik data mining dan algoritma pembelajaran lainnya untuk membuat model dari hal-hal yang terjadi pada data untuk memprediksi kejadian selanjutnya. Selanjutnya machine learning akan digunakan pada bidang artificial intelligence untuk membuat model yang digunakan untuk pengenalan kebiasaan dan prediksi aksi sebagai contoh implementasi pada game atau mobil pintar yang bisa berjalan sendiri.