Anda di halaman 1dari 17

LAPORAN PRAKTIKUM FISIKA KOMPUTASI

DASAR MACHINE LEARNING: KLASIFIKASI


DATA
Dosen: Mada Sanjaya WS, Ph.D
Asisten Lab:
Azizah Nurmahdyah (1187030006)

Disusun Oleh:
Fatihah Lailayen Jaoh (1197030013)

November 22, 2021

JURUSAN FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SUNAN GUNUNG DJATI BANDUNG
2021

i
Abstract

This practicum aims to compare classification techniques in machine learning data us-
ing Python 3. Python is a multipurpose interpretive programming language. Classification
is a technique in data mining to classify data based on data attachment to sample data. In
this practicum, I compare 5 classification techniques. Comparison of classification tech-
niques is carried out to determine the most effective model in the classification technique.
The classification techniques used are Support Vector Machine, Neural Network, Naı̈ve
Bayes, KNN and Decision Tree. The tools and materials used in this practicum are 1 lap-
top, python software, excel and an internet connection. To run python, you must first install
the software and libraries, the libraries used are sklearn and pandas. Then to run program-
ming, programming must be made first. Commands in cmd are python program code. Once
finished typing the code and pressing the enter key, the python interpreter will immediately
process the line and display the result. Based on the practicum that has been done, the tree
and NB models are models with easy and fast implementation, but the tree model tends to
historical data and the Naive Bayes model tends to make very strong assumptions that will
affect the distribution of the data.

Keywords: Python, Classification, Library, Sklearn, Pandas

Abstrak

Pada praktikum ini bertujuan untuk membandingkan teknik klasifikasi dalam data ma-
chine learning menggunakan Python 3. Python adalah bahasa pemrograman interpretatif
multiguna. Klasifikasi merupakan teknik dalam data mining untuk mengelompokkan data
berdasarkan keterikatan data terhadap data sampel. Pada praktikum ini, saya melakukan
perbandingan 5 teknik klasifikasi. Perbandingan teknik klasifikasi ini dilakukan untuk
mengetahui model dalam teknik klasfikasi yang paling efektif. Teknik klasifikasi yang
digunakan yaitu Support Vector Machine, Neural Network, Naı̈ve Bayes, KNN dan Deci-
sion Tree. Alat dan bahan yang digunakan pada praktikum ini yaitu 1 buah laptop, software
python, excel dan koneksi internet. Untuk menjalankan python harus di install terlebih
dahulu software dan library nya, library yang digunakan yaitu sklearn dan pandas. Kemu-
dian untuk me run pemrograman harus dibuatkan pemrograman terlebih dahulu. Perintah
pada cmd adalah kode program python. Begitu selesai mengetik kode dan menekan tombol
enter, python interpreter akan langsung memproses baris tersebut dan menampilkan hasil-
nya. Berdasarkan praktikum yang sudah dilakukan, Model tree dan NB yang merupakan
model dengan implementasi yang mudah dan cepat, namun model tree cenderung terhadap
data historis dan model Naive Bayes cenderung membuat asumsi yang sangat kuat yang
akan mempengaruhi distribusi data.

Kata Kunci: Python, Klasifikasi, Library, Sklearn, Pandas

i
BAB I
PENDAHULUAN

1.1 Latar Belakang

Python adalah salah satu bahasa pemrograman dari beberapa bahasa pemrograman seperti
java, C, C++ dan lain-lain. Python merupakan bahasa pemrograman yang freeware atau perangkat
bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya.
Bahasa pemrograman python ini menjadi umum digunakan untuk kalangan engineer seluruh
dunia dalam pembuatan perangkat lunaknya.

Klasifikasi merupakan salah satu topik utama dalam data mining atau machine learning.
Klasifikasi adalah suatu pengelompokan data dimana data yang digunakan tersebut mempunyai
kelas label atau target. Sehingga algoritma-algoritma untuk menyelesaikan masalah klasifikasi
dikategorisasikan ke dalam supervised learning atau pembelajaran yang diawasi. Maksud dari
pembelajaran yang diawasi adalah data label atau target ikut berperan sebagai ‘supervisor’ atau
‘guru’ yang mengawasi proses pembelajaran dalam mencapai tingkat akurasi atau presisi ter-
tentu.

1.2 Tujuan

Adapun tujuan dilakukannya praktikum ini yaitu:

1. Membandingkan teknik klasifikasi dalam data machine learning menggunakan Python 3.

ii
BAB II
LANDASAN TEORI

Secara garis besar ada tiga tipe algoritma utama Machine Learning (atau setidaknya yang
saya pelajari):

• Supervised Learning

• Unsupervised Learning

• Reinforcement Learning

Supervised Learning adalah algoritma machine learning yang dalam proses belajarnya
membutuhkan serangkaian contoh input-output yang benar, sebagai supervisor (pengawas/pelatih).
Contoh kasus yang dapat menerapkan algoritma ini adalah kasus di tulisan sebelumnya di sini.
Pada kasus Iris classification, kita memiliki sejumlah dataset sampel input berupa data panjang
dan lebar sepal dan petal. Masing-masing sampel tersebut sudah memiliki output yang be-
nar (memiliki label). Serangkaian sampel input-output ini kemudian digunakan untuk menge-
train (melatih) algoritma kita, agar kelak dapat menghasilkan output (label) yang sesuai ketika
diberikan masukan data baru. Algoritma Supervised Learning ini sendiri juga dibagi lagi men-
jadi beberapa jenis algoritma tergantung dari task/tujuan dibentuknya algoritma, antara lain:

• Klasifikasi: Logistik Regression, Decision Trees, Random Forest, KNN, SVM, Neural
Networks, Naı̈ve Bayes, dll

• Prediksi Numerik/Regresi: Linear Regression, Decision Trees, Neural Networks, SVM,


Trees, dll

Unsupervised Learning adalah algoritma machine learning yang dalam proses belajarnya,
algoritma hanya diberikan sejumlah sampel masukan tanpa label (output yang benar). Sehingga
pada algoritma ini, tidak ada supervisor/pelatih yang membantu dalam menentukan apakah kin-
erja dan output yang dihasilkan benar atau salah. Contoh penggunaan algoritma ini adalah untuk
segmentasi pasar. Misalkan suatu perusahaan X memiliki data usia, gender, pekerjaan, tem-
pat tinggal, frekuensi pembelian, dan kuantitas pembelian dari pembeli produknya selama dua
tahun terakhir. Data ini bisa digunakan oleh perusahaan X untuk melakukan segmentasi pasar
berdasarkan data-data tadi. Dengan algoritma Unsupervised Learning, kita tidak perlu men-
declare atau menetapkan ‘label’ atau ‘output yang benar’. Kita tidak perlu melabeli pembeli
dengan usia, gender, dan kriteria tertentu ke dalam kelompok tertentu. Kita tidak perlu menen-
tukan jumlah kelas/kelompok dan kriteria tiap kelompok. Di sini algoritma machine learning
akan melihat dan mempelajari pola-pola dari karakteristik tiap data yang ada dan melakukan
pengelompokan pembeli secara mandiri. Untuk macam-macam algoritma unsupervised sendiri
antara lain berdasarkan task/tujuan algoritmanya:

• Klustering: K-Means Clustering, Hierarchical Clustering

iii
• Association: Association Rules

reinforcement learning terdapat dua komponen utama yaitu agent dan environment. Di
algoritma pembelajaran ini, agent ‘dipaksa’ untuk dengan sendirinya mempelajari bagaimana
ia harus bertindak menghadapi environment-nya untuk mencapai tujuannya. Di sini tidak ada
kumpulan dataset yang diberikan seperti pada Supervised Learning dan Unsupervised Learn-
ing. Contohnya misal kita hendak membuat sebuah machine yang dapat bermain catur melawan
Magnus Carlsen, sang Juara Catur Dunia. Tujuan dari machine ini adalah memenangkan per-
tandingan. Dengan Reinforcement Learning, machine bertindak sebagai agent. Bagaimana cara
bermain catur, aturan mainnya, dan trik yang biasa digunakan Magnus Carlsen adalah environ-
ment, yang tentunya harus ia pelajari sendiri. Sehingga dalam kasus ini, si machine pokoknya
harus bisa belajar dengan sendirinya meraba-raba environment yang ada biar menang. Titik.
Dalam proses belajarnya sendiri ia akan belajar dari pengalaman-pengalaman yang ia per-
oleh ketika bermain (tanpa kita ajarkan). Misalkan pengalaman ketika ia mendapatkan skak
dari lawan ataupun pengalaman ketika ia berhasil memakan benteng lawan. Dari pengalaman-
pengalaman ini, ia dipaksa belajar untuk memahami apa yang harus dan tidak boleh ia lakukan
dalam menghadapi lawan dan membuat strateginya sendiri agar menang.
Setelah mengetahui garis besar tipe algoritma-algoritma machine learning secara umum, berikut
ini sedikit penjelasan terkait contoh-contoh dari algoritma yang telah disebutkan di atas.
1. Logistic Regression : Algoritma ini biasa digunakan untuk menghitung nilai probabilitas,
sehingga output yang dihasilkan berada antara nilai 0 hingga 1. Contoh penggunaannya
adalah proses pengajuan kredit di bank. Biasanya pihak bank akan mengajukan sejumlah
pertanyaan/kuisioner untuk menilai kelayakan calon penerima kredit. Dari beberapa per-
tanyaan itulah nantinya pihak bank akan memperhitungkan probabilitas calon penerima
kredit akan mengembalikan pinjaman atau tidak.

2. Decision Trees : Algoritma jenis ini melakukan tugasnya dengan menggunakan konsep
struktur flowchart bercabang menggunakan decision rules atau aturan-aturan keputusan
yang dibuat oleh desainernya.

3. Random Forest : merupakan kumpulan dari sejumlah Decision Tree. Oleh karena itu,
prinsip dasar random forest mirip dengan decision tree. Masing-masing decision tree akan
menghasilkan output (hasil) yang bisa saja berbeda-beda. Nah, random forest ini akan
melakukan voting untuk menentukan hasil mayoritas dari semua decision tree. Bedanya,
random forest akan memberikan output berupa mayoritas hasil dari semua decision tree.

4. K-Nearest Neighbors (KNN) : Seperti telah sedikit disinggung di tulisan sebelumnya,


KNN pada prinsipnya akan mengklasifikasikan data baru ke kelas tertentu berdasarkan
jarak data baru tersebut dengan k data terdekat.

5. Support Vector Machine (SVM) : Algoritma ini pada dasarnya dapat digunakan untuk
melakukan pengelompokan pada algoritma multidimensi. SVM mengelompokkan data
menggunakan apa yang disebut sebagai hyperplane (classifier/pemisah).

iv
6. Neural Network : Algoritma jenis ini terinspirasi dari cara kerja jaringan saraf manusia.
Oleh karena itu, arsitektur dari algoritma ini mirip dengannya. Secara garis besar, di al-
goritma ini tiap data pada suatu “layer” akan diolah dan diteruskan ke “layer” berikutnya
hingga ke layer terakhir (layer output).

7. Naive Bayes : Algoritma ini menggunaan prinsip teorema Bayes. Sehingga pada proses
pengolahan data, masing-masing feature (feature itu semacam parameter, dalam kasus
klasifikasi Iris, features-nya antara lain adalah panjang dan lebar sepal dan petal) dianggap
independen atau tidak terkait satu sama lain.

8. Linear Regression : Sebagai ilustrasi, pada grafik dua dimensi, algoritma ini melakukan
task prediksi suatu nilai variabel dependent di sumbu y berdasarkan variabel independent
di sumbu x.

9. K-Means Clustering : algoritma ini biasa digunakan untuk kasus clustering. Cara kerja
algoritma ini mula-mula adalah dengan membentuk sejumlah k titik, yang disebut den-
gan centroid (dimana nilai k merepresentasikan jumlah cluster). Kemudian titik-titik data
(data points) yang ada akan membentuk cluster dengan centroid terdekat darinya. Otoma-
tis, titik pusat (centroid) akan berubah seiring dengan pertambahan anggota tiap cluster-
nya (yang mana adalah datapoints tadi). Oleh karena itu, tiap-tiap cluster yang telah ter-
bentuk akan ‘mencari’ titik centroid barunya. Proses ini terus menerus dilakukan hingga
diperoleh kondisi konvergensi, contohnya jika posisi centroid sudah tidak berubah.

10. Hierarchical Clustering : Secara prinsip, hierarchical clustering ini akan melakukan clus-
tering secara berjenjang berdasarkan kemiripan tiap data. Sehingga pada akhirnya, pada
ujung hierarki akan terbentuk cluster-cluster yang karakteristiknya berbeda satu sama
lain, dan objek di satu cluster yang sama memiliki kemiripan satu sama lain.

v
BAB III
METODE PRAKTIKUM

3.1 Waktu dan Tempat

Praktikum ini dilakukan di Bandung pada tanggal 17 November 2021

3.2 Alat dan Bahan


Alat dan bahan yang digunakan dalam praktikum ini diantaranya adalah :

No Alat dan Bahan jumlah


1 Laptop 1 buah
2 Python 1 buah
3 Koneksi internet 1 buah

3.3 Prosedur Percobaan

Disiapkan alat dan bahan yang digunakan, install software python dan library python pada
CMD. Lalu pip dicek pada command prompt, setelah itu IDLE dibuka dan program dimasukan.
Program dirun, praktikum selesai.
3.4 Diagram Alir
Mulai

disiapkan alat dan bahan

diinstal software python 3 dan library python

dicek pip pada CMD

IDLE python dibuka

dimasukan program

program dirun

selesai

vi
BAB IV
DATA DAN PEMBAHASAN

4.1 Data

Feature 1 Feature 2 Target


0 0 0
0 1 0
1 0 0
1 1 1

vii
4.2 Pembahasan

Alat yang digunakan pada praktikum ini yaitu laptop, software python, koneksi internet,
dan teks editor/IDE. Tek editor/IDE adalah program yang digunakan untuk menulis kode. Tanda
>>> artinya python siap menerima perintah. Terdapat juga tanda . . . yang artinya secondary
prompt atau sub prompt, biasanya muncul saat membuat blok kode dan menulis perintah tunggal
dalam beberapa baris. Pada praktikum yang telah dilakukan untuk membuat percobaan tentang
Machine Learning klasifikasi didapat hasil sebagai berikut.
Pertama, adalah adalah meng-install sklearn pada cmd. Sklearn ini adalah library berba-
sis python yang menyediakan banyak algoritma untuk membangun pembelajaran mesin. Pada
cmd, kita perlu memasukan pip install scikit untuk meng-install sklearn. Kemudian, kita juga
perlu install pandas pada cmd dengan memasukan pip install pandas. Scikit-learn atau Sklearn
adalah library berbasis Python untuk membangun model pembelajaran mesin. Ia menyediakan
banyak algoritma pembelajaran untuk regresi, pengelompokan, dan klasifikasi. Sklearn kom-
patibel dengan NumPy dan SciPy. Pandas adalah sebuah library di Python yang berlisensi BSD
dan open source yang menyediakan struktur data dan analisis data yang mudah digunakan.
Pandas biasa digunakan untuk membuat tabel, mengubah dimensi data, mengecek data, dan
lain sebagainya. Struktur data dasar pada Pandas dinamakan DataFrame, yang memudahkan
kita untuk membaca sebuah file dengan banyak jenis format seperti file .txt, .csv, dan .tsv. Fitur
ini akan menjadikannya table dan juga dapat mengolah suatu data dengan menggunakan operasi
seperti join, distinct, group by, agregasi, dan teknik lainnya yang terdapat pada SQL. Dapat dis-
impulkan, bahwa Pandas merupakan library analisis data yang diperlukan untuk membersihkan
data mentah ke dalam sebuah bentuk yang bisa untuk diolah.
Kedua, praktikan mencoba memasukan program dari klasifikasi Machine Learning den-
gan menggunakan python 3. Metode yang pertama adalah metode Support Vector Machine
yang merupakan sistem pembelajaran yang menggunakan ruang hipotesis yang berupa fungsi-
fungsi linear didalam sebuah fitur yang memiliki dimensi tinggi dan dilatih dengan menggu-
nakan algoritma pembelajaran berdasarkan teori optimasi. Pada python, kita import svm dari
library sklearn. Metode kedua adalah Artificial Neural Network(ANN) yang merupakan suatu
pendekatan model kecerdasan yang diilhami dari struktur otak manusia dan kemudian diim-
plementasikan menggunakan program komputer yang mampu menyelesaikan sejumlah proses
perhitungan selama proses learning berlangsung.Pada python, kita perlu import MLPClassifier
dari sklearn.neural network. Metode yang ketiga adalah K-Nearest Neighbors (KNN) yang
merupakan sebuah metode untuk melakukan klasifikasi terhadap objek yang berdasarkan dari
data pembelajaran yang jaraknya paling dekat dengan objek tersebut.Pada python,kita perlu
import NearestCentroid dari sklearn.neighbors. Metode keempat adalah Decision Tree yang
merupakan model prediksi menggunakan struktur pohon atau struktur berhirarki. Konsep dari
pohon keputusan adalah mengubah data menjadi decision tree dan aturan-aturan keputusan.
Pada python, kita perlu import Tree dari sklearn. Metode yang terakhir adalah Naive Bayes
yaitu sebuah metode penggolongan berdasarkan probabilitas sederhana dan dirancang untuk
dipergunakan dengan asumsi bahwa antar satu kelas dengan kelas yang lain tidak saling ter-

viii
gantung (independen). Pada klasifikasi Naı̈ve Bayes, proses pembelajaran lebih ditekankan
pada mengestimasi probabilitas. Pada python, kita perlu import GaussianNB dari sklearn naive
bayes.

ix
BAB V
KESIMPULAN

Pada praktikum ini didapatkan kesimpulan bahwa:

1. Pada praktikum ini digunakan 5 model dalam data mining. Setelah dianalisis, dapat
dilihat hasil klasifikasi dengan akurasi yang tinggi menggunakan model Tree. Kelima
model yang digunakan memiliki karakteristik masing-masing model berdasarkan spe-
sifikasi datanya. Berdasarkan pada permasalahan ini, SVM yang cenderung sering di-
implementasikan untuk kasus klasifikasi pada beberapa penelitian, pada permasalahan
ini mendapatkan tingkat akurasi klasifikasi yang rendah. Ini disebabkan karena memi-
liki missing value dimana menjadi kekurangan model ini. Kemudian model K-Nearest
Neighbor, cocok digunakan untuk dataset dengan jumlah data besar namun model ini
memiliki kelemahan dari segi waktu komputasi dan penentuan nilai variabel ketika pada
data latih terdapat variabel kategori yang berbeda. model yang menghasilkan nilai akrasi
klasifikasi yang tinggi, yaitu model Tree dan Naı̈ve Bayes. Model tree dan NB yang
merupakan model dengan implementasi yang mudah dan cepat, namun model tree cen-
derung terhadap data historis dan model NB cenderung membuat asumsi yang sangat kuat
yang akan mempengaruhi distribusi data

x
LAMPIRAN

1. Klasifikasi 5.2

xi
xii
2. Klasifikasi 5.3

xiii
xiv
xv
References
[1] https://jtiik.ub.ac.id/index.php/jtiik/article/view/958 (Sabtu, 20 November 2021. Pukul
20.00 WIB)

[2] https://mti.binus.ac.id/2017/11/24/klasifikasi/ (Sabtu, 20 November 2021, Pukul 21.00


WIB)

[3] Hermawati. F. Astuti. (2013). Data Mining. Yogyakarta: Andi Offset.

[4] RINALDI MUNIR LEONY LIDYA. 2016. ALGORITMA DAN PEMROGRAMAN


DALAM BAHASA PASCAL, C, DAN C++ EDISI KEENAM. Bandung: Informatika

[5] Kusrini and Emha Taufiq Luthfi. 2009. Algoritma Data Mining. Yogyakarta: ANDI

xvi

Anda mungkin juga menyukai