Anda di halaman 1dari 50

1

Sains Data dan


Machine Learning
Catatan Kuliah

Ariana Yunita
2

Pengantar

Bismillaahirrohmaanirrohiim…

Berawal dari sebuah motivasi “Ikatlah ilmu dengan menuliskannya”, buku ini mulai
ditulis secara perlahan-lahan dan berharap semoga menjadi ilmu yang bermanfaat.
Buku ini merupakan catatan belajar data sains dan machine learning dari beberapa
sumber misalnya dari seminar, pelatihan data sains, membaca di internet, hasil diskusi
bersama rekan kuliah, dan juga para mahasiswa di kelas machine learning.

Buku ini terdiri dari beberapa bab, yaitu motivasi belajar sains data, pengantar sains
data dan konsep machine learning, alur kerja machine learning, regresi, klasifikasi,
pengelompokan, reduksi fitur, dan implementasinya dengan menggunakan Python.
Buku ini disertai dengan contoh project untuk setiap kasus nya baik untuk data
terstruktur maupun pengolahan data tidak terstruktur.

Terima kasih saya ucapkan kepada guru saya Prof. Zainal A. Hasibuan dan Pak Harry
Budi Santoso yang sangat menginspirasi, kedua orang tua, dan suami serta anak-anak.

Akhir kata, semoga buku ini dapat bermanfaat untuk pengembangan AI dan machine
learning, khususnya di bidang pendidikan.

Ariana Yunita
3

Bab 1. Motivasi Belajar Machine Learning 6


1.1 Menuju Era Masyarakat 5.0 6
1.2 Perkembangan Data, Teknologi, AI saat ini 10
1.3 Kebutuhan Tenaga Digital di Indonesia 11

Referensi 12

Bab 2 Konsep Dasar Sains Data dan Pembelajaran Mesin 14


2.1 Istilah Sains Data dan Machine Learning 14
2.2 Data Terstruktur, Semi Terstruktur dan Tidak Terstruktur 16
2.2.1 Data Terstruktur 16
2.2.2 Data Semi Terstruktur 17
2.2.3 Data Tidak Terstruktur 18
2.3 Data Sebagai Matriks dan Graf 18
2.4 Analisis Deskriptif, Analisis Prediktif dan Analisis Preskriptif 19
2.3.1 Analisis Deskriptif 20
2.3.2 Analisis Prediktif 21
2.3.3 Analisis Preskriptif 21
2.4 Tipe Pembelajaran Mesin 21
2.4.1 Supervised Learning 21
2.4.2 Unsupervised Learning 23
2.4.3 Semi-supervised learning 24
2.4.4 Reinforcement Learning 24
2.5 Elemen Penting Pada Pembelajaran Mesin 24
2.6 Tantangan Pada Machine Learning 25
2.6.1 Tantangan Dari Perspektif Data 25
2.6.2 Tantangan Dari Perspektif Algoritma 25

Referensi 28

Bab 3 Alur Kerja Machine Learning 29


Berikut ini merupakan penjelasan dari masing-masing tahapan yang ada. 29
3.1 Data Preparation 29
3.2 Data Understanding 30
3.3 PREPROCESSING 32
3.3.1 Mengatasi MISSING VALUE 33
3.3.2 Mengatasi Outlier 36
3.3.3 Mengatasi NOISE 40
3.3.4 Pra-pemrosesan Fitur Kategori 40
3.3.5 Diskretisasi 42
3.3.6 Integrasi Data 44
3.3.7 Reduksi Data dan Menangani Fitur Saling Berkorelasi 44
3.3.8 Transformasi Data 46
4

3.4 Pemilihan Algoritma Pembelajaran Mesin 46


3.5 Membangun Model 47
3.6 Evaluasi Model 47
3.6.1 Matriks Konfusi 48
3.6.2 ROC - AUC 49

Bab 4 Supervised Learning 51


4.1 Regresi Linear 53
4.2 Regresi Logistik Biner (Binary Logistic Regression) 56
4.3 Konsep Gradient Descent 58

Bab 5 Klasifikasi 60
5.1 K-Nearest Neighbor (KNN) 60
5.2 Decision Tree 62
5.3 Naive Bayes 66
5.4 Random Forest 67
5.5 Support Vector Machine 69

Bab 6 Unsupervised Learning 71


6.1 K-Means 71
6.2 Hierarchical Clustering 73

Bab 7 Reduksi Dimensi 77


7.1 Seleksi Fitur 77
7.2 Ekstraksi Fitur 79
7.2.1 Principal Component Analysis (PCA) 79
7.2.2 Linear Discriminant Analysis 81
7.2.3 t-SNE 81

Bab 8. Implementasi Sains Data dan Pembelajaran Mesin Pada Python 82


8.1 Tools Sains Data dan Machine Learning 82
8.2 Library di Python yang Mendukung Sains Data dan Pembelajaran Mesin 83
8.2.1 Pandas 83
8.2.2 Numpy 83
8.2.3 Matplotlib 83
8.2.4 Scikit Learn 83
8.3 Perintah Dasar Dengan Python 83
8.3.1 Membaca data 84
8.3.4 Cara Melihat Statistik Deskriptif Fitur Numerik 86
8.3.5 Cara Mengganti Nilai Pada Suatu Kolom 86
8.3.6 Cara Mengubah Nama Kolom 86
8.3.7 Cara mengiris atau membagi data 86

Bab 9 Visualisasi Data Dengan Python 87


5

9.1 Diagram Batang (Bar Chart) 87


9.2 Diagram Kue ( Pie Chart) 87
9.3 Diagram Garis ( Line Chart) 88

Bab 10 Preprocessing Data Dengan Python 89


10.1 Mengatasi Missing Value 89
10.1.1 Mengisi dengan nilai kosong 89
10.1.2 Mengisi dengan nilai mean 90
10.1.3 Mengisi dengan nilai modus 90
10.1.5 Mengisi dengan interpolasi 90
10.1.6 Mengisi dengan simple imputer 91
10.1.6 Mengisi dengan Iterative Imputer 92
10.2 Mengatasi Outlier 93

Bab 11 Studi Kasus Regresi Dengan Python 96

Bab 12 Studi Kasus Klasifikasi Dengan Python 97

Bab 13 Studi Kasus Unsupervised Learning Dengan Python 98


13.1 K-means 98
13.2 Hierarchical Clustering 103

Bab 14 Reduksi Dimensi Dengan Python 107


14.1 Seleksi Fitur 107
14.2 Ekstraksi Fitur 108
6

Bab 1. Motivasi Belajar Machine Learning

1.1 Menuju Era Masyarakat 5.0

Sepanjang sejarah, orang telah mencari metode baru untuk meningkatkan kehidupan
mereka. Dari komunitas pemburu (Masyarakat 1.0), melalui komunitas petani
(Masyarakat 2.0), ke masyarakat industri (Masyarakat 3.0), dan terakhir ke masyarakat
informasi (Masyarakat 4.0), juga dikenal sebagai Revolusi Industri 4.0.

Gambar 1. Ilustrasi Masyarakat 1.0 - Masyarakat 4.0


7

Pada saat manusia di era berburu, manusia mencari makanan melalui berburu,
memanfaatkan lebih banyak energi alam seperti air. Selanjutnya di era masyarakat
agraris, ketika manusia membutuhkan makanan, mereka tidak perlu memburunya;
sebaliknya, mereka mulai mengolah atau mempertahankan makanan mereka sendiri. Di
era Masyarakat 3.0, masyarakat mulai memasuki era industri, dimana manufaktur dan
industri menjadi bagian besar dari kehidupan masyarakat. Masyarakat 4.0 juga dikenal
sebagai Masyarakat Informasi. Pada masa sekarang ini, teknologi informasi telah
berkembang semakin penting dalam kehidupan manusia, dimana dunia akan dibekali
dengan teknologi cerdas yang benar-benar membantu umat manusia di masa depan.

Istilah masyarakat 5.0 dicetuskan oleh Jepang pada tahun 2016. Latar belakang
terbentuknya masyarakat 5.0 adalah untuk mengatasi kesulitan-kesulitan yang ada di
industri 4.0, seperti ketimpangan pertumbuhan teknis dan kesejahteraan manusia, serta
kesenjangan yang terlihat antara teknologi dan manusia. Tujuan dari masyarakat 5.0
adalah untuk mendobrak hambatan antara manusia dan teknologi, sehingga
masyarakat dapat menjalani kehidupan mereka secara maksimal [1].

Gambar 2. Ilustrasi Masyarakat 5.0 Mengubah Dunia


8

Pada zaman masyarakat 5.0, mesin akan menjadi bagian dari kehidupan manusia.
Pekerjaan yang biasanya dilakukan oleh manusia akan tergantikan oleh mesin,
misalnya saja aplikasi untuk meningkatkan kinerja operasional industri hulu migas
dimana monitoring lapangan dapat dilakukan secara jarak jauh., diluncurkan aplikasi
Integrated Operation Center (IOC) .Seperti yang digambarkan pada Gambar 3 yaitu
pada Maret 2022 diadakan peresmian aplikasi untuk monitoring produksi minyak
sebagai tonggak transformasi digital yang bertujuan untuk mendukung target jangka
panjang 2030 yaitu produksi minyak 1 juta barrel perhari (BOPD) dan gas 12 miliar
standar kaki kubik gas perhari (BSCFD)[2].

Gambar 3. Peresmian IOC di SKK Migas

Contoh lainnya misalnya saja robot barista kopi yang akan menggantikan pekerjaan
barista di masa depan. Seperti yang diberitakan bahwa robot barista kopi telah ada di
Indonesia tepatny di Jakarta pada akhir tahun 2021[3]. Robot barista kopi dapat
membuat kopi secara konsisten baik dari segi rasa, dan membuat kopi jauh lebih efektif
dari manusia. Dalam satu jam robot barista kopi dapat membuat 120 cangkir. Selain itu
9

robot barista juga tidak mengenal lelah. Cepat atau lambat ke depan akan semakin
banyak pekerjaan manusia yang digantikan oleh robot.

Gambar 4. Robot Barista Kopi [4]

Saat ini Indonesia masih memasuki era masyarakat 4.0. Akan tetapi tidak dapat
dipungkiri bahwa semua negara akan mengikuti konsep yang diajukan Jepang, dimana
Indonesia juga termasuk di dalamnya, yaitu bersiap menuju ke zaman masyarakat 5.0.
Pada era masyarakat 5.0, kecerdasan buatan (artificial intelligence) akan mengubah
data besar yang dikumpulkan melalui internet di semua bidang kehidupan (Internet of
Things) menjadi sebuah kearifan baru yang didedikasikan untuk meningkatkan
kemampuan manusia dan membuka peluang bagi kemanusiaan.
10

1.2 Perkembangan Data, Teknologi, AI saat ini

Menjawab tantangan menuju era masyarakat 5.0, peluang yang ada saat ini adalah
pertumbuhan data semakin besar, perkembangan teknologi semakin pesat dan sejalan
dengan revolusi AI yang semakin cepat. Terkait data, prediksi pertumbuhan data global,
berdasarkan Laporan dari IDC, dari 33 Zettabytes (ZB) pada tahun 2018 menjadi 175
ZB pada tahun 2025 [4]. Laporan ini dibuat sebelum pandemic Covid-19, dimana
laporan tersebut menjadi tidak valid. Pada saat pandemic tentunya jumlah data global
yang ada saat ini akan semakin banyak seiring dengan semua lini organisasi maupun
industri menerapkan physical distancing dan hampir semua proses bisnis berubah
menjadi secara daring.

Gambar 4. Prediksi Pertumbuhan Data Global [2]

Perkembangan teknologi terutama terkait komputasi juga semakin berkembang.


Komputer telah berevolusi menjadi semakin canggih, dimana perangkat menjadi lebih
kecil dan memiliki kecepatan komputasi yang tinggi. Data berjumlah besar bukan
menjadi penghalang untuk diolah karena didukung peralatan komputasi yang memadai.
Seiring dengan pertumbuhan data yang sangat cepat dan teknologi komputasi yang
pesat, teknik AI pun mengalami kemajuan pesat. Salah satunya adalah Deep Learning,
salah satu teknik pembelajaran baru yang dapat merekayasa fitur secara otomatis dan
meningkatkan akurasi yang sebanding dengan penambahan jumlah data.
11

Perkembangan Deep Learning semakin pesat dengan menggunakan Graphics


Processing Unit (GPU) pada tahun 2009.

1.3 Kebutuhan Tenaga Digital di Indonesia

Pada era digital tentu akan ada banyak bidang ilmu yang muncul dan memiliki peluang baru.
Sampai tahun 2030 Indonesia akan membutuhkan 9 juta talenta digital, yang berarti dibutuhkan
sekitar 600 ribu setiap tahunnya [5]. Data dari Bank Dunia menunjukkan Indonesia sedang
mengalami digital talent gap atau kesenjangan talenta digital. Sejalan dengan hal tersebut,
sebuah penelitian IMF juga menyebutkan akan ada 2 juta posisi pekerjaan yang harus
tergantikan dengan posisi bidang digital dan ada 9,5 juta pekerjaan yang terdampak oleh
kecerdasan buatan. Oleh karena itu, untuk mengisi kesenjangan talenta digital, mahasiswa
dituntut untuk belajar teknologi, salah satunya adalah menguasai konsep analisis data secara
terstruktur maupun tidak terstruktur. Selain itu, ilmu pembelajaran mesin juga dapat diterapkan
di setiap aspek, baik ekonomi, bisnis, perminyakan, psikologi dan lain-lain.

Sebagai tambahan informasi, kesenjangan talenta digital tidak hanya terjadi di Indonesia, tetapi
juga terjadi di Amerika. Diambil dari [6], bahwa diprediksikan di Amerika Serikat juga terjadi
kesenjangan antara jumlah proyek yang membutuhkan talenta analisis mendalam dengan
tenaga ahli di bidang tersebut.
12

Gambar 5. Kesenjangan Talenta Digital di Negara Amerika Serikat [6]

Seperti yang terlihat pada gambar 5 bahwa terjadi kesenjangan pada tahun 2018, yaitu
sebesar 50-60% jumlah tenaga kerja yang dibutuhkan di dunia digital. Pada tahun 2008 sampai
dengan tahun 2018 terjadi peningkatan jumlah pekerja dari 150 ke 300. Meskipun mengalami
peningkatan, jumlah tenaga kerja digital yang dibutuhkan masih terjadi kesenjangan yang tinggi.

Referensi
[1] https://www.japan.go.jp/abenomics/_userdata/abenomics/pdf/society_5.0.pdf

[2]https://skkmigas.go.id/berita/dukung-akselerasi-digital-hulu-migas-skk-migas-selenggarakan-i
oc-forum-2022

[3]
https://www.jawapos.com/oto-dan-tekno/teknologi/01/11/2021/canggih-robot-barista-ini-kini-hadi
r-di-indonesia/

[4] https://www.idc.com/getdoc.jsp?containerId=US46410421

[5] https://aptika.kominfo.go.id/2020/04/talenta-digital-jadi-faktor-penting-transformasi-digital/
13

[6] Leskovec, J., Rajaraman, A., & Ullman, J. D. (2020). Mining of massive data sets.
Cambridge university press.
14

Bab 2 Konsep Dasar Sains Data dan Pembelajaran


Mesin
2.1 Istilah Sains Data dan Machine Learning
Istilah "sains data" dan "big data" menjadi semakin populer. Tapi apa sebenarnya yang tersirat?
Apakah ada yang spesial darinya? Bakat apa yang dibutuhkan "ilmuwan data" untuk menjadi
produktif di dunia yang didorong oleh data saat ini? Apa artinya ini bagi penelitian ilmiah?

Dalam istilah sains data terdiri dari dua kata, dimana istilah sains atau ilmu menyiratkan
pengetahuan yang diperoleh melalui studi sistematis. Secara singkat,ilmu data adalah studi
tentang ekstraksi pengetahuan yang dapat digeneralisasikan dari data. Selama berabad-abad,
tentunya ilmu statistik digunakan untuk menganalisis data. Lalu, kenapa muncul istilah baru?
Fakta bahwa kita sekarang memiliki sejumlah besar data seharusnya tidak dengan sendirinya
membenarkan perlunya istilah baru. Jawaban singkatnya adalah ilmu data berbeda dari statistik
dan disiplin ilmu lain. Selain itu, data mentah, atau "data", dalam ilmu data menjadi semakin
heterogen dan tidak terstruktur—teks, gambar, dan video—seringkali berasal dari jaringan
dengan hubungan rumit antar komponennya [1]. Seperti yang telah dibahas di bab sebelumnya,
pertumbuhan data global saat ini adalah secara eksponensial. Oleh karena itu, sains data yang
saat ini semakin populer adalah ilmu yang mempelajari data terstruktur maupun tidak
terstruktur.

Sains data didefinisikan sebagai bidang antar-disiplin yang menggunakan metode ilmiah,
proses, algoritme, dan sistem untuk mengekstrak pengetahuan dan wawasan dari banyak data
terstruktur dan tidak terstruktur. Beberapa bidang ilmu yang seharusnya dikuasai seseorang
yang berkecimpung di bidang sains data adalah matematika, pembelajaran mesin, kecerdasan
buatan, statistik, database, dan optimasi, serta pemahaman mendalam tentang konteks
perumusan masalah.

Pada gambar di bawah ini adalah gambar diagram keilmuan sains data dimana terlihat bahwa
sains data beririsan dengan bidang lainnya.
15

Gambar 1. Cakupan Keilmuan Sains Data [2]

Pada dasarnya, Artificial Intelligence (AI) adalah kecerdasan yang dimiliki oleh komputer yang
meniru kecerdasan manusia. Kecerdasan buatan dapat diprogram ke dalam komputer setelah
manusia atau pembuatnya "mengajarkannya". Ada juga AI yang bisa belajar sendiri setelah
diajarkan (dilatih), yang dikenal dengan Machine learning.

Pembelajaran Mesin adalah tentang membuat mesin menjadi lebih baik dalam beberapa tugas
dengan belajar dari data, daripada harus secara eksplisit mengkodekan aturan. Keunggulan
machine learning dibandingkan dengan pemrograman tradisional biasa adalah mesin tersebut
belajar pola dari data yang ada, sehingga mesin learning dapat diterapkan secara real-time.

Perbedaan machine learning dengan pemrograman tradisional biasa adalah seperti yang
diilustrasikan pada gambar 2 berikut ini. Pertama kali kasus pembelajaran mesin diaplikasikan
untuk mengklasifikasikan email apakah spam atau tidak. Misalnya saja email yang spam
biasanya mempunyai karakteristik yaitu judulnya mengandung kata “Just For You”. Dengan
menggunakan pemrograman tradisional yaitu menggunakan IF else dapat dilakukan
pemrograman dan didefinisikan bahwa setiap email yang mengandung kata “Just For You”
adalah spam. Pengirim spam juga tidak kalah cerdik, setelah mengetahui bahwa email mereka
dianggap spam, karakteristik judul diganti menjadi “Just 4 You”. Setelah dianalisis, maka
didefinisikan oleh programmer bahwa setiap email yang mengandung kata “Just 4 You” pada
judul email merupakan spam. Hal tersebut akan memakan proses yang lama karena
programmer butuh melakukan update pada aturan IF else pada program yang telah dibuat.
16

Dengan menggunakan pendekatan machine learning, input yang ada adalah data dan label
email apakah spam atau bukan, sehingga output adalah aturan berdasarkan data latih yang
dimiliki.

Gambar 2. Perbedaan Antara Traditional Programming dan Machine Learning [2]

Setelah mengetahui konsep terkait pengertian sains data dan machine learning, berikut ini akan
dibahas mengenai berbagai macam data dan tipe data.

2.2 Data Terstruktur, Semi Terstruktur dan Tidak Terstruktur

Seperti yang dijelaskan pada bab sebelumnya bahwa saat ini data bertebaran di berbagai
tempat. Hal yang membedakan sains data dengan ilmu statistik adalah adanya data semi
terstruktur dan tidak terstruktur. Selain itu, data berskala besar juga menjadi perhatian bagi para
peneliti. Data dapat diklasifikasikan menjadi data terstruktur, semi terstruktur dan tidak
terstruktur.

2.2.1 Data Terstruktur

Data terstruktur merupakan data yang telah siap untuk segera diproses karena memiliki format
yang tetap dan juga dapat langsung disimpan dan diorganisasikan ke dalam entitas yang
memiliki makna tertentu. Data terstruktur umumnya adalah data tabular yang diwakili oleh kolom
dan baris dalam database. Database yang menyimpan tabel dalam bentuk ini disebut database
17

relasional.Dalam data terstruktur, semua baris dalam tabel memiliki kumpulan kolom yang
sama.

2.2.2 Data Semi Terstruktur

Data semi terstruktur adalah data yang memiliki informasi yang tidak terdiri dari data terstruktur
(database relasional) tetapi masih memiliki beberapa struktur di dalamnya. Data semi terstruktur
terdiri dari dokumen yang disimpan dalam format JavaScript Object Notation (JSON). Ini juga
mencakup penyimpanan nilai kunci dan data berupa graf. Berikut ini adalah contoh data dalam
format JSON.

[
{
"url": "https://api.anonymous.ac.id/anonym/riwayat-mahasiswa/9507557/",
"npm": "17XXXXX",
"kelas": {
"url": "https://api.anonymous.ac.id/anonym/kelas/552336/",
"kd_kls": "xxxx67",
"nm_kls": "Admbis",
"nm_mk_cl": {
"url": "https://api.anonymous.ac.id/anonym/matakuliah/1144/",
"kd_mk": "CSXXXXXX160",
"nm_mk": "Administrasi Bisnis",
"kd_org": "07.00.12.01",
"kd_kur": "07.00.12.01-2016",
"jml_sks": 3
},
"kd_kur_cl": "07.00.12.01-2016",
"kd_mk_cl": "CSXXXXXX160",
"periode": {
"url": "https://api.anonymous.ac.id/anonym/periode/34/",
"term": 1,
"tahun": 2017
},
"pengajar": [
{
"nama": "Dosen Anonym.",
"id_skema": 0,
"nm_skema": "Tidak Tetap",
"maks_sks": null
}
]
},
"kd_kls": "xxxx67",
"kd_kur": "07.00.12.01-2016",
"kd_mk": "CSXXXXXX160",
18

"kd_org": "08.00.12.01",
"term": 1,
"tahun": 2017,
"nilai": "B"
},

Gambar 3. Contoh Format Data JSON

Pada contoh format tersebut dapat dilihat bahwa mengandung informasi penting terkait
perkuliahan. Data tersebut data diubah menjadi data terstruktur misal dengan menjadikan baris
adalah mahasiswa dan fitur yang ada adalah kelas yang diambil, nama dosen, nilai, kode
kurikulum, dan data lainnya.

2.2.3 Data Tidak Terstruktur

Data tidak terstruktur adalah data yang memuat informasi yang tidak diatur dengan cara yang
telah ditentukan sebelumnya atau tidak memiliki model data yang telah ditentukan sebelumnya.
Informasi tidak terstruktur adalah sekumpulan teks, video, audio, dan biner yang tidak memiliki
struktur tertentu.
Contoh data tidak terstruktur misalnya adalah video di Youtube, audio, berita online, dan data
Tweet. Cara mengolah data tidak terstruktur adalah dengan membuat menjadi data terstruktur.

2.3 Data Sebagai Matriks dan Graf

Data pada ilmu data maupun pembelajaran mesin biasanya direpresentasikan sebagai matriks
(Zaki et al., 2014). Namun, data juga dapat dilihat sebagai graf, karena mengasumsikan bahwa
setiap instance data bergantung pada yang lain (van Eck & Waltman, 2010). Data sebagai
matriks m x n memiliki sejumlah baris dan kolom. Baris merupakan entitas pada dataset,
disebut juga instances, records, object, points, feature-vectors. Kolom merupakan fitur
yang disebut juga atribut, dimensi, variabel atau properti.

Tabel 1. Contoh Potongan Dataset Pada Tabel

Akreditasi_PT Jumlah Jumlah Jumlah


Dosen PT Mahasiswa Laboratorium

A 194 702 25

Unggul 95 539 11

… … … ..,
19

B 69 433 15

Contoh data sebagai graf adalah data pada social network. Untuk analisis, digunakan teknik
social network analysis. Secara singkat, Social Network Analysis adalah metode analisis yang
memanfaatkan teori graf, dimana terdapat node dan edge. Nodes atau titik untuk
merepresentasikan aktor dan edges atau garis untuk merepresentasikan hubungan atau relasi
antar titik.

Gambar 4. Social Network Analysis

2.4 Analisis Deskriptif, Analisis Prediktif dan Analisis Preskriptif

Sains data bertujuan untuk mencari ‘insight’, ‘knowledge’ atau wawasan yang dapat
disampaikan pada pemangku kepentingan dengan menggunakan berbagai macam data baik
data terstruktur ataupun tidak terstruktur. Ada tiga macam analisis yang umum dilakukan pada
sains data yaitu analisis deskriptif yang bertujuan untuk menjelaskan kondisi masa lampau dan
saat ini. Selanjutnya analisis prediktif yang bertujuan untuk menjelaskan kondisi di masa
datang. Lalu analisis preskriptif yang bertujuan untuk memberikan rekomendasi berdasarkan
apa yang terjadi pada masa lampau, saat ini dan masa datang.
20

Gambar 4. Tipe Analisis Pada Sains Data

2.3.1 Analisis Deskriptif

Analisis deskriptif bertujuan untuk mencari insight pada data. Analisis ini sering ditampilkan
menggunakan representasi data visual seperti diagram garis, batang, dan pie dan tipe diagram
lainnya. Teknik yang biasanya digunakan ada tiga yaitu analisis statistik, visualisasi data
dengan menggunakan Exploratory Data Analysis dan Clustering Analysis. Analisis statistik
deskriptif yaitu dengan menampilkan mean, median, modus, Quartile 1, 2 dan 3.

Mean adalah nilai rerata pada suatu data, sedangkan median adalah nilai tengah atau nilai
kuartil 2 dan nilai modus adalah nilai yang sering muncul. Kuartil pertama atau Q1 menjadi
penanda bahwa data pada berada 25% dari bawah pada kelompok data. Kuartil kedua
(Q2) adalah menandai 50% data (membagi data menjadi dua). Kuartil ketiga disebut
juga kuartil atas (Q3) yaitu nilai tengah antara median dan nilai tertinggi dari kelompok
data.

Contoh sederhana yaitu data jumlah kamar pada dataset rumah yaitu {8, 4, 30, 2, 13, 5, 1}.
Untuk mencari nilai kuartil 1 , 2, 3 yaitu dengan mengurutkan data dari paling kecil ke yang
paling besar sehingga menjadi {1, 2, 4, 5, 8, 13, 30}. Nilai kuartil 2 adalah data yang berada di
tengah-tengah yaitu 5; sedangkan kuartil 1 adalah 2 dan kuartil 3 adalah 13.
21

Exploratory Data Analysis (EDA) mulai dikembangkan pada tahun 1970-an oleh John Tukey,
salah seorang matematikawan dari Amerika. Teknik ini merupakan teknik yang dapat
menganalisis dan menyelidiki kumpulan data, serta merangkum karakteristik utamanya.
Exploratory Data Analysis diibaratkan sebagai menambang dimana dilakukan berbagai
macam visualisasi data untuk menemukan sesuatu yang menarik. Sesuatu yang menarik
itulah yang dapat ditampilkan kepada pihak pemangku kepentingan. Sebagai contoh, misalnya
melakukan analisis deskriptif pada data mahasiswa selama 10 tahun ke belakang. Yang terjadi
adalah kita dapat menampilkan hal-hal menarik dan insight apa yang didapatkan dari data 10
tahun ke belakang.

2.3.2 Analisis Prediktif

Untuk membuat prediksi, algoritma pembelajaran mesin mengambil data yang ada dan
berusaha mengisi data yang belum memiliki label dengan pendekatan tertentu. Dengan
melakukan prediksi, kita dapat memprediksi apa yang terjadi di yang akan datang. Dalam kasus
dataset mahasiswa, misalnya kita bisa memprediksi apakah mahasiswa akan lulus atau tidak.

2.3.3 Analisis Preskriptif

Analisis preskriptif memberikan rekomendasi sebagai tindakan intervensi. Pada kasus


mahasiswa misalnya diberikan rekomendasi apabila mahasiswa diprediksi tidak lulus.

2.4 Tipe Pembelajaran Mesin

Pembelajaran mesin umum digunakan untuk melakukan analisis prediktif. Menurut Geron [2],
ada empat macam tipe pembelajaran mesin yaitu supervised learning, unsupervised learning,
semi-supervised learning dan reinforcement learning.

2.4.1 Supervised Learning

Supervised learning merupakan tipe pembelajaran dimana algoritma belajar dari data
dan label. Dalam hal ini model diberikan contoh berlabel, seperti daftar foto dan konten
yang menyertainya. Model telah diajarkan untuk mencari pola berulang dalam sampel
dengan label yang sama. Kemudian menerapkan pola yang dipelajari ke contoh-contoh
baru, mengaitkannya dengan label yang sesuai. Dengan kata lain, pola pembelajaran
22

Supervised Learning adalah belajar dari contoh. Ketika ada banyak contoh berlabel
yang tersedia, supervised learning dapat dilakukan.

Sebagai ilustrasi yaitu yang terdapat pada gambar di bawah ini. Dengan menggunakan
himpunan data latih berupa pasangan input-output (xi, yi), supervised learning bertujuan
mencari hipotesis yaitu sebuah fungsi sehingga dapat memprediksi nilai y jika diberikan
nilai x.

Gambar 5. Ilustrasi Supervised Learning

Teori umum yang mendasari supervised learning adalah pembelajaran induktif (inductive
learning). Dari perspektif pembelajaran induktif, kita diberikan sampel input (x) dan
sampel output (f(x)) dan tujuannya adalah untuk memperkirakan fungsi (f). Selanjutnya,
masalah yang akan diselesaikan adalah untuk menggeneralisasi dari sampel dan
pemetaan agar berguna untuk memperkirakan output untuk sampel baru di masa depan.
Dalam praktiknya, hampir selalu terlalu sulit untuk menaksir fungsi, jadi alternatifnya
adalah mencari aproksimasi yang sangat baik untuk fungsi tersebut.

Terkait pembelajaran induksi, ada empat masalah di mana pembelajaran induktif


mungkin merupakan ide yang baik:

1) Masalah dimana tidak ada manusia yang ahli di bidang tersebut. Jika orang tidak tahu
jawabannya, mereka tidak dapat menulis program untuk menyelesaikannya. Ini adalah
area penemuan sejati. Misalnya pada bidang Informatika, dengan input diagram ikatan
antar molekul, memprediksi kekuatan ikatan molekul protease AIDS.
23

2) Manusia dapat melakukan tugas tetapi tidak ada yang bisa menjelaskan bagaimana
melakukannya. Ada masalah di mana manusia dapat melakukan hal-hal yang tidak
dapat dilakukan atau dilakukan dengan baik oleh komputer. Contohnya termasuk
mengendarai sepeda atau mengendarai mobil. Untuk mengajari mesin bagaimana cara
menyetir, orang mengendarai mobil dapat direkam jalan dan juga stir. Lalu derajat ketika
membelokkan stir dapat dijadikan label. Mesin dapat belajar bagaimana cara berbelok.
Kasus ini adalah contoh untuk automatic steering. Contoh lain adalah untuk
mengklasifikasikan angka. Manusia bisa menuliskan angka, tetapi sulit untuk
menjelaskan bagaimana membedakan angka.

3) Masalah di mana fungsi yang diinginkan sering berubah. Manusia dapat


menggambarkannya dan mereka dapat menulis program untuk melakukannya, tetapi
masalahnya terlalu sering berubah. Hal ini tidak efektif biaya. Contohnya termasuk pasar
saham.

4) Masalah di mana setiap pengguna membutuhkan fungsi khusus. Tidak hemat biaya
untuk menulis program khusus untuk setiap pengguna. Contohnya adalah rekomendasi
film atau buku di Netflix atau Amazon untuk setiap user.

Beberapa permasalahan yang dapat diselesaikan dengan supervised learning adalah


regresi, klasifikasi dan estimasi probabilitas. Regresi adalah permasalahan yang
hasilnya adalah kontinyu, sedangkan klasifikasi adalah permasalahan yang hasilnya
diskrit dan terbatas. Apabila klasifikasi memiliki output atau label sejumlah 2,maka
disebut klasifikasi biner, apabila lebih dari 2 maka disebut klasifikasi multi-kelas
(multi-class classification).

2.4.2 Unsupervised Learning

Unsupervised Learning merupakan tipe pembelajaran yang tidak memiliki label.


Algoritma unsupervised learning mengidentifikasi kesamaan antara input sehingga
input yang memiliki suatu kesamaan akan dikelompokkan bersama.

Beberapa algoritma yang digunakan pada unsupervised learning, misalnya adalah


menggunakan algoritma pengelompokan K-means dan hierarchical clustering atau
24

dendogram. Terkait algoritma K-means maupun dendogram akan dijelaskan di bab


selanjutnya.

2.4.3 Semi-supervised learning

Semi-Supervised Learning tetap membutuhkan data yang memiliki label di dalamnya,


tetapi porsi data yang memiliki label lebih kecil dibandingkan data yang tidak memiliki
label, sehingga mesin akan mempelajari sebagian kecil data berlabel tersebut dan akan
memproses data tanpa label dengan prediksi sesuai dengan data-data berlabel yang
pernah dipelajari oleh algoritma tersebut.

2.4.4 Reinforcement Learning

Reinforcement learning atau pembelajaran penguatan, adalah di mana "agen" belajar


untuk memaksimalkan "hadiah" dalam lingkungan tertentu. Lingkungan bisa
sesederhana papan tic-tac-toe di mana pemain AI diberikan untuk berbaris tiga X atau
O, atau serumit pengaturan perkotaan di mana mobil self-driving bertujuan untuk
menghindari kecelakaan, mengikuti peraturan lalu lintas , dan sampai di tempat tujuan.
Agen memulai dengan bertindak secara acak. Ia menemukan urutan kegiatan yang
menghasilkan imbalan yang lebih baik karena menerima umpan balik dari
lingkungannya. Dengan kata lain, algoritma dari Reinforcement Learning adalah
mengeksplorasi kemungkinan yang berbeda sampai tahu bagaimana memberikan
jawaban yang benar.

2.5 Elemen Penting Pada Pembelajaran Mesin

Menurut [3], pada machine learning ada tiga komponen yang penting yaitu : representasi,
evaluasi dan optimasi. Komponen pertama yaitu representasi. Representasi adalah tipe model
yang digunakan untuk memecahkan suatu kasus. Setiap model berbeda akan
merepresentasikan hal berbeda. Misal : decision tree, support vector machine, dll. Representasi
model melibatkan human judgment, dengan kata lain data scientist yang menentukan model
apa yang dipilih untuk proyek machine learning. Pemilihan model tersebut tentunya setelah
melalui proses analisis terkait karakteristik data yang dimiliki.
25

Komponen kedua yaitu evaluasi. Evaluasi adalah pemilihan model pengukuran performa.
Beberapa yang dapat digunakan misalnya adalah loss function, fitness function, atau scoring
function.

Optimisasi merupakan strategi untuk mencari model yang direpresentasikan untuk


mendapatkan evaluasi yang lebih baik Contoh : 1) combinatorial optimization misalnya greedy
search, genetic algorithm; 2) convex optimization misalnya gradient descent;3) constrained
optimization misalnya linear programming

2.6 Tantangan Pada Machine Learning

Menurut Geron [2], tantangan pada pembelajaran mesin ada dua perspektif yaitu dari segi data
dan dari segi algoritma.

2.6.1 Tantangan Dari Perspektif Data

Dari segi data, pertama terkait jumlah data latih yang tidak mencukupi akan menjadi
tantangan utama dalam proyek machine learning. Misalnya saja data untuk voice recognition
membutuhkan jutaan data suara sebagai data latih agar dapat dihasilkan model yang baik.
Contoh yang lain misalnya mengklasifikasi pasien yang menderita kanker paru-paru dari data
XRAY di Indonesia. Untuk mendapatkan data foto X-Ray paru-paru terutama yang terkena
kanker akan sulit didapatkan. Kedua yaitu terkait jumlah data apakah cukup mewakili atau
tidak. Misal nya saja data terkait kota di Indonesia, tetapi tidak banyak yg dijadikan data latih.
Ketiga, data yang memiliki kualitas yang buruk misalnya terlalu banyak data yang salah atau
terlalu banyak data yang hilang dalam suatu fitur sehingga akan menyulitkan untuk membuat
model. Selain itu, fitur yang tidak relevan juga menjadi permasalahan utama untuk proyek
Machine Learning. Ada suatu istilah pada Machine Learning, yaitu rekayasa fitur (feature
engineering), bertujuan untuk mencari fitur mana yang paling sesuai untuk suatu kasus
pembelajaran mesin. Teknik rekayasa fitur yaitu dapat dengan melakukan seleksi fitur,ekstraksi
fitur atau dengan membuat fitur baru dari data yang baru dimana juga bertujuan untuk
memperbaiki performa model.

2.6.2 Tantangan Dari Perspektif Algoritma

Dari segi algoritma, ada beberapa tantangan, diantaranya yaitu terkait overfitting-underfitting,
dan bias-variance tradeoff.
26

Overfitting dan underfitting adalah dua istilah di mana kinerja model pembelajaran mesin tidak
optimal. Peran kunci pembelajaran mesin terutama pada supervised learning adalah untuk
menggeneralisasi fungsi representasi dengan baik. Seperti yang digambarkan pada gambar 5,
bahwa supervised learning berupaya menemukan suatu fungsi atau hipotesis pada suatu data
latih untuk menebak data baru. Dalam mencari fungsi atau hipotesis tersebut, dilakukan
generalisasi yang berarti mencari tren dominan suatu data untuk memperoleh wawasan dan
memprediksi data yang belum pernah dilihat sebelumnya. Dengan kata lain, hal penting dalam
mempelajari fungsi target dari data pelatihan adalah seberapa baik model digeneralisasi ke data
baru. Generalisasi menjadi penting karena data yang dikumpulkan hanya sampel, tidak lengkap
dan berisik.

Overfitting
Sebuah model yang overfits data pelatihan disebut sebagai overfitting. Ketika sebuah model
mempelajari informasi dan noise dalam data pelatihan ke titik di mana ia menurunkan kinerja
model pada data baru, ini dikenal sebagai overfitting. Ini berarti bahwa model menangkap
kebisingan atau fluktuasi acak dalam data pelatihan dan mempelajarinya sebagai ide.
Masalahnya adalah bahwa model ini tidak berlaku untuk data baru, sehingga membatasi
kemampuan model untuk menggeneralisasi.

Model nonparametrik dan nonlinier, yang memiliki lebih banyak fleksibilitas saat mempelajari
fungsi target, lebih rentan terhadap overfitting. Akibatnya, banyak algoritma pembelajaran mesin
nonparametrik menggabungkan parameter atau strategi yang membatasi dan membatasi
jumlah detail yang dipelajari oleh model.
Pohon keputusan, misalnya, adalah teknik pembelajaran mesin nonparametrik yang sangat
fleksibel tetapi rentan terhadap data pelatihan yang berlebihan. Masalah ini dapat diselesaikan
dengan memangkas pohon setelah mempelajari cara menghilangkan sebagian informasi yang
telah dikumpulkannya. Terkait Decision Tree akan dibahas di bab 5.
Untuk lebih memahami terkait overfitting, berikut ini adalah ilustrasi untuk overfitting.
27

Gambar 6. Ilustrasi Overfitting. Sumber [4]

Pada gambar di atas, overfitting menjadi masalah karena tujuan kita adalah ingin mendapat tren
dari sebuah dataset. Model ini menangkap semua tren tetapi bukan tren yang dominan.

Underfitting
Underfitting didefinisikan sebagai model yang tidak dapat memodelkan dan menggeneralisasi
ke data baru. Model pembelajaran mesin yang tidak sesuai tidak cocok, terbukti dengan
kinerjanya yang buruk pada data pelatihan.

Underfitting jarang dipertimbangkan karena mudah dideteksi dengan metrik kinerja yang baik.
Dengan kata lain, apabila akurasi model sudah baik, maka artinya model tidak underfitting.
Solusinya adalah terus maju dan bereksperimen dengan berbagai teknik pembelajaran mesin.

Untuk mensintesis pembahasan terkait tantangan machine learning dari segi algoritma,
overfitting dan underfitting menyebabkan pembelajaran mesin gagal mencapai salah satu tujuan
utamanya, yaitu generalisasi. Berikut ini adalah ilustrasi untuk underfitting.

Gambar 7. Ilustrasi Overfitting. Sumber [4]


28

Model ini tidak mempelajari pola dari data karena tidak mengumpulkan tren dari kumpulan data.
Model yang terlalu sederhana adalah model yang tidak bergantung pada data dan cenderung
membuat asumsi tentangnya.

Referensi
[1] Dhar, V. (2013). Data science and prediction. Communications of the ACM, 56(12), 64-73.

[2] Géron, A. (2019). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow:
Concepts, tools, and techniques to build intelligent systems. " O'Reilly Media, Inc.".

[3] https://machinelearningmastery.com/basic-concepts-in-machine-learning/

[4] https://algorit.ma/blog/data-science/overfitting-underfitting/
29

Bab 3 Alur Kerja Machine Learning


Bab ini akan membahas mengenai alur kerja pada pembelajaran mesin mulai dari
mempersiapkan data, melakukan pra-pemrosesan data, memilih algoritma yang sesuai,
membangun model hingga mengevaluasi model. Alur kerja pembelajaran mesin adalah alur
kera yang iteratif hingga ditemukan model yang sesuai.

Gambar 1. Alur Kerja Machine Learning

Berikut ini merupakan penjelasan dari masing-masing tahapan yang ada.

3.1 Data Preparation

Menyiapkan data merupakan langkah awal untuk proyek pembelajaran mesin. Beberapa
langkah yang perlu dilakukan dalam mempersiapkan data yaitu 1) mendefinisikan tujuan
pengumpulan data, 2) menentukan rasional pemilihan data; dan 3) pengumpulan data.

Mendefinisikan tujuan pengumpulan data berlandaskan pada akar utama permasalahan yang
akan diselesaikan. Apa tujuan utamanya dan apa kasus yang akan diselesaikan merupakan
pertanyaan mendasar yang harus diperjelas di tahap awal. Langkah kedua merupakan rasional
pemilihan data. Kenapa data tersebut dipilih untuk proyek machine learning merupakan
pertanyaan selanjutnya yang harus dijawab. Setelah itu, pengumpulan data dapat mulai
dilakukan.

Terkait dengan sumber data, ada beberapa kasus data sulit untuk diambil, misalnya saja terkait
dengan akses data yang bersifat tertutup. Terkait dengan data, Non Disclosure Agreement
(NDA) dapat dibuat apabila data tersebut bersifat tertutup dan tidak untuk konsumsi publik. NDA
secara singkat merupakan kesepakatan antara pemilik data atau pemangku kepentingan
30

dengan tim pengolah data. Terlebih lagi tim pengolah data merupakan pihak eksternal yang
tidak bekerja di instansi pemilik data.

Penting untuk diingat bahwa di era digital ini “Everything is Data” [1], dengan kata lain semua
hal dapat dijadikan sumber data. Data crawling juga dapat digunakan sebagai sumber data.
Misalnya saja data berita atau data di sosial media (Twitter, Facebook, Twitter, dan lain-lain).
Teknik data crawling dapat dilakukan dengan menggunakan library misal library Tweepy,
Scrapy, Beautiful Soup di Python.

Beberapa hal yang butuh untuk diperhatikan pada saat pengumpulan data yaitu penting untuk
melibatkan ahli di domain tersebut dalam hal pengumpulan data, terutama jika melakukan
model supervised learning, data yang dikumpulkan akan dilakukan label oleh ahli. Semakin
banyak data semakin baik, tetapi ada kemungkinan akan memiliki noise yang tinggi. Selain itu,
data yang besar juga membutuhkan biaya komputasi yang tinggi. Akan tetapi dengan
kemampuan komputer saat ini, terutama apabila menggunakan super computer, mengolah data
yang besar tidak menjadi masalah.

Referensi
[1] Hasibuan, Z. A. (2020, October). Towards Using Universal Big Data in Artificial Intelligence
Research and Development to Gain Meaningful Insights and Automation Systems. In 2020
International Workshop on Big Data and Information Security (IWBIS) (pp. 9-18). IEEE.

3.2 Data Understanding

Untuk memahami data salah satu hal penting adalah dengan menentukan tipe data yang ada
pada dataset. Secara umum, ada empat jenis data: nominal, ordinal, interval, dan rasio.
Nominal dan ordinal merupakan data kategorikal, dimana data nominal tidak memerlukan
perintah, tetapi ordinal membutuhkan perintah. Interval dan rasio adalah data numerik.
Perbedaan antara interval dan rasio adalah nilai nol dalam data rasio dapat didefinisikan atau
benar. Selain itu, data nominal tidak dapat diukur nilai mean dan median, tetapi data ordinal
hanya dapat diukur modus dan median. Untuk data interval dan rasio, kita dapat mengukur
mean, modus, dan median.
31

Data numerik dapat diubah menjadi data kategori menggunakan dua teknik yang berbeda:
interval lebar yang sama atau interval frekuensi yang sama (Zaki et al., 2014). Interval lebar
yang sama menghasilkan angka yang sama untuk setiap kategori. Di sisi lain, interval frekuensi
yang sama bergantung pada kuartil dan interkuartil data.

Tabel 1. Tipe Data dan Karakteristik

Type of Data Level Definition Example Mode Median Mean The Has
of Data order “true
of zero”
value
is
known

Qualitative Nomina Categorical Gender, V


l data country

Ordinal Order is Level of V V V


important satisfaction,
degree of
performance

Quantitative Interval Numeric Height, V V V V


data weight

Ratio True zero Temperature V V V V V


can be
defined

Artinya, setelah langkah pertama data science dilakukan, yaitu data data mentah diambil; kita
harus memutuskan apa saja tipe data yang terdapat pada data yang kita miliki. Pemisahan
beberapa tipe data menentukan bagaimana data tersebut akan dianalisis dan dilakukan pra
pemrosesan. Sebagai catatan, dengan menggunakan Python, tipe data yang akan dikenali
32

adalah tipe data integer, tipe data object dan tipe data float. Untuk contoh lebih lengkap agar
lebih mudah memahami tentang bagaimana memperlakukan tiap tipe data dapat dilihat pada
contoh implementasi pra-pemrosesan data pada bab selanjutnya.

3.3 PREPROCESSING

Bagian ini mengulas beberapa langkah untuk melakukan pra-pemrosesan data sebagai proses
mendasar untuk membangun kumpulan data dari data mentah. Sebelum pra-pemrosesan,
untuk membangun sebuah dataset, persiapan data (data preparation) merupakan langkah
pertama yang harus dilakukan. Mempersiapkan data (data preparation) mengacu pada tujuan
pengumpulan data, menentukan rasional pemilihan data dan melakukan pengumpulan data.
Setelah menerima data, data akan diintegrasikan dan dipahami sebelum dilakukan pengolahan
data [1].

Preprocessing (pra-pemrosesan) bertujuan untuk menyiapkan data ke tahapan pembangunan


model Machine Learning. Menurut [2], ada 5 tahapan untuk menyiapkan data, yaitu
membersihkan data (data cleaning), mengatasi atribut teks dan kategori, membuat fungsi
“transformer”, feature scaling dan membuat pipeline. Langkah-langkah prapemrosesan dapat
dilihat di buku [2].

Literatur menyarankan bahwa pra-pemrosesan berisi beberapa tahapan, seperti penanganan


nilai yang hilang, integrasi data, transformasi data, dan reduksi data [3,4,5]. Pembersihan data
mengacu pada penanganan data yang hilang (missing value), data noise, dan data yang tidak
konsisten. Integrasi data bertujuan untuk menggabungkan data dari semua sumber, dan
dalam langkah ini, kita harus mempertimbangkan bagaimana menangani data yang berlebihan.
Transformasi data termasuk normalisasi, agregasi data, generalisasi data. Pengurangan data
berhubungan dengan fitur ekstensif dalam kumpulan data.

Pada catatan kuliah ini, tahapan pra-pemrosesan dijabarkan menjadi delapan tahapan penting,
yaitu mengatasi nilai yang hilang, mengatasi outlier, mengatasi noise, mengatasi variabel
kategori, melakukan konversi dari numerik ke kategori (diskretisasi), integrasi data, reduksi
data, dan transformasi data.
33

Gambar 1. Tahapan Pra-pemrosesan Data

3.3.1 Mengatasi MISSING VALUE

Missing value atau nilai yang hilang merupakan hal yang umum pada data riil. Nilai yang hilang
dapat membiaskan hasil model pembelajaran mesin dan/atau mengurangi keakuratan model.
Oleh karena itu, mengatasi nilai yang hilang merupakan proses yang penting dilakukan pada
tahapan pra-pemrosesan. Sebelum mengatasi nilai yang hilang, jenis nilai yang hilang
sebaiknya dianalisis. Jenis nilai yang hilang tersebut menentukan bagaimana perlakuan yang
seharusnya dilakukan.

Ada beberapa jenis missing value [6], yaitu:


● Hilang Sepenuhnya Secara Acak (MCAR, Missing Completely At Random)
Untuk memperjelas jenis nilai yang hilang, MCAR merupakan nilai yang hilang sepenuhnya
independen dari data lain. Dengan kata lain, tidak ada pola. Data dapat hilang dalam kasus
MCAR karena kesalahan manusia, kegagalan sistem/peralatan, kehilangan sampel, atau
beberapa masalah teknis selama proses perekaman.
● Hilang Secara Acak (MAR, Missing At Random)
34

Hilang secara acak (MAR) menunjukkan bahwa penyebab nilai yang hilang dapat dijelaskan
oleh variabel yang Anda memiliki informasi lengkap karena ada beberapa hubungan antara
data yang hilang dan nilai/data lainnya. Dalam hal ini, data untuk semua pengamatan tidak
hilang. Itu hanya hilang dalam sub-sampel data, dan nilai-nilai yang hilang mengikuti suatu pola.
Misalnya, jika Anda melihat data survei, Anda mungkin memperhatikan bahwa setiap orang
telah menjawab 'Jenis Kelamin' mereka, tetapi nilai 'Usia' sebagian besar tidak ada untuk orang
yang menjawab 'Jenis Kelamin' mereka sebagai 'perempuan.' (Ini karena kebanyakan wanita
tidak ingin mengungkapkan usia mereka.)

● Hilang Tidak Secara Acak (MNAR, Missing Not At Random)

Jika data yang hilang memiliki struktur atau pola yang tidak dapat dijelaskan oleh data lain yang
dapat diamati, itu disebut Missing Not At Random (MNAR). Jika data yang hilang tidak sesuai
dengan kategori MCAR atau MAR, maka diklasifikasikan sebagai MNAR. Ini mungkin terjadi
sebagai akibat dari keengganan masyarakat untuk memberikan informasi yang diperlukan.
Beberapa pertanyaan survei mungkin tidak terjawab oleh sekelompok orang tertentu.

Ada dua cara mengatasi nilai yang hilang, yaitu dengan menghapus nilai yang hilang dan
mengimputasi/mengisi nilai yang hilang. Menghapus nilai yang hilang dapat dilakukan dua cara
yaitu menghapus baris (instances) atau menghapus kolom (atribut/fitur/variabel).
Ada beberapa pendapat, pendapat pertama dari [6] yaitu nilai yang hilang sebaiknya tidak
dihapus jika bertipe Missing Not At Random (MNAR), sedangkan nilai yang hilang dapat
dihapus jika bertipe Missing At Random (MAR) atau Missing Completely At Random (MCAR).
Pendapat kedua mengatakan bahwa “Dalam kasus mcar dan mar, kita dapat menghapus atau
menghubungkan nilai yang hilang, tetapi tidak ada cara yang baik untuk menangani mnar.” [7].
Dari kedua pendapat ini disimpulkan bahwa MNAR sebaiknya tidak dihapus, sedangkan MAR
dan MCAR dapat dihapus atau diisi.

Penting untuk dicatat bahwa menghapus nilai dapat menghilangkan informasi yang berguna.
Apabila dataset berjumlah ribuan tidak akan menjadi masalah, namun apabila dataset hanya
berjumlah ratusan, menghapus nilai butuh dipertimbangkan lebih lanjut.

Mengisi nilai yang hilang (Missing Value Imputation) dapat dilakukan dengan langkah dasar
yaitu mengisi nilai median, mean atau modus. Menurut [5], pada data numerik, sifat mean
35

adalah tidak robust karena satu outlier dapat membuat “skew” nilai rata-rata (baca terkait
skewness data untuk memahami lebih lanjut), sedangkan median adalah robust, dimana
median tidak terlalu dipengaruhi oleh nilai ekstrim.
Oleh karena itu, untuk mengisi data yang hilang dengan mean, perlu dilakukan pengecekan
terlebih dahulu apakah terdapat outlier atau tidak. Jika terdapat outlier, maka perlu dilakukan
pembersihan outlier terlebih dahulu agar gap antar nilai tidak terlalu besar. Untuk tipe data
kategori, biasanya digunakan modus untuk mengisi data yang hilang.

Mengisi nilai yang hilang dengan mean, median atau modus membutuhkan analisis mendalam.
Pertimbangkan skenario berikut: Anda memiliki kumpulan data tentang harga rumah, dan dua
variabelnya adalah ukuran dalam kaki persegi dan jumlah kamar tidur. Jika sebuah rumah
berukuran 1.500 kaki persegi dan memiliki dua kamar tidur, itu dianggap tipikal. Bukankah aneh
untuk menempatkan dua kamar tidur untuk rumah seluas 5.000 kaki persegi?

Cara lain untuk mengisi nilai yang hilang dapat digunakan teknik interpolasi [8]. Baca referensi
pada blog Analytics Vidhya tahun 2021 untuk lebih lanjut.

Teknik lebih lanjut untuk mengatasi nilai yang hilang adalah dengan menggunakan algoritma
Multivariate Imputer. Algoritme imputasi multivariat menggunakan seluruh rangkaian dimensi
fitur yang tersedia untuk memperkirakan nilai yang hilang. Pada dasarnya, tujuan imputasi
multivariat adalah menggunakan fitur (kolom) lain dalam kumpulan data untuk memprediksi nilai
yang hilang dalam fitur saat ini. Implementasi dari algoritma ini bisa menggunakan framework
Scikit-Learn Iterative Imputation. Terkait Multivariate Imputer dapat dibaca lebih lanjut di literatur
[7].

Referensi :

[1] Yunita, A (2022) DATA ANALYTICS ON STUDENTS' ACADEMIC


ACHIEVEMENT USING MACHINE LEARNING, Dissertation. [unpublished]

[2] Géron, A. (2019). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow:
Concepts, tools, and techniques to build intelligent systems. " O'Reilly Media, Inc.".
36

[3] Agarwal, S. (2014). Data mining: Data mining concepts and techniques. Proceedings -
2013 International Conference on Machine Intelligence Research and Advancement,
ICMIRA 2013, 203–207. https://doi.org/10.1109/ICMIRA.2013.45

[4] Malley, B., Ramazzotti, D., & Wu, J. T. (2016). Data pre-processing. In Secondary
Analysis of Electronic Health Records (pp. 115–141). Springer International
Publishing. https://doi.org/10.1007/978-3-319-43742-2_12

[5] Zaki, M. J., Meira Jr, W., & Meira, W. (2014). Data mining and analysis: fundamental concepts
and algorithms. Cambridge University Press.

[6] Tamboli,N. (2021)


https://www.analyticsvidhya.com/blog/2021/10/handling-missing-value/#:~:text=Types
%20Of%20Missing%20Values,Missing%20Not%20At%20Random%20(MNAR)

[7] Zong, S (2021)


https://medium.com/analytics-vidhya/a-beginners-guide-to-multivariate-imputation-fe4
ae5591544

[8]https://www.analyticsvidhya.com/blog/2021/06/power-of-interpolation-in-python-to-fill-mis
sing-values/#:~:text=Linear%20Interpolation%20simply%20means%20to,not%20need
%20to%20specify%20it

3.3.2 Mengatasi Outlier

Data Outlier disebut juga dengan data pencilan. Pengertian dari Outlier adalah data observasi
yang muncul dengan nilai-nilai ekstrim atau data yang menyimpang terlalu jauh dari data yang
lainnya dalam suatu rangkaian data. Menurut literatur, outlier dapat dibagi menjadi dua jenis:
kebisingan dan anomali.

Cara umum untuk mengetahui outlier bisa dilakukan dengan tiga cara yaitu 1) visualisasi data
seperti menggunakan boxplot atau scatter plot, 2) Interquartile Range (IQR), 3) Z score.

Contoh visualisasi data yaitu misalnya pada gambar di bawah ini.


37

Outlier dapat terlihat dengan menampilkan boxplot seperti pada gambar di bawah ini.

Gambar 2. Contoh Deteksi Outlier dengan Visualisasi Boxplot

Mengenali outlier dengan nilai interquartile menjadi landasan untuk mendeteksi outlier dengan
boxplot. Kenapa nilai interquartile dapat digunakan untuk mendeteksi outlier adalah karena
kembali lagi pada definisi outlier yaitu nilai yang menyimpang terlalu jauh dari data aslinya.
Secara visual dapat dilihat dengan boxplot, tetapi untuk menghitungnya menggunakan rumusan
interquartile. Outlier adalah nilai yang berada kurang dari batas bawah dan lebih dari nilai batas
atas. Berikut ini adalah rumusan untuk batas bawah dan batas atas.

Batas bawah = (Q1-1.5 x IQR)


Batas atas = Q3 +1.5 x IQR)
38

IQR = Q3-Q1

Outlier didefinisikan sebagai yang melebihi nilai batas atas dan yang kurang dari batas atas.

Outlier < batas bawah | Outlier > batas atas

Selain dengan visualisasi boxplot atau nilai interquartile, mendeteksi outlier dapat dilakukan
dengan menggunakan Z-score.
Z-score dapat digunakan untuk mengevaluasi apakah suatu data merupakan outlier atau nilai
ekstrim. Data yang bernilai lebih dari rata-rata disebut sebagai data outlier. Nilai Z kurang dari
–3 atau lebih besar dari +3 menunjukkan bahwa nilai data adalah nilai ekstrim, menurut norma
biasa. Formula dari nilai Z adalah sebagai berikut.

Dapat dilihat bahwa pada ilustrasi di bawah ini nilai Z score kurang dari -3 dan lebih dari 3
sangat jarang pada data observasi.

Gambar Konsep Nilai Z. Sumber [5]


39

Outlier dapat ditangani dengan beberapa cara. Yang pertama adalah mengisi nilai outlier
dengan memperhalus (smoothing) data. Cara kedua kita dapat menghindari outlier data adalah
dengan membatasi rentang data kita. Cara ketiga adalah dengan menghilangkan outlier
tersebut agar tidak mengganggu data kita.

Data Smoothing Pada Outlier


Menurut literatur [1] , ada tiga teknik pada data smoothing, yaitu moving average, rolling mean
dan exponential smoothing. Teknik moving average dan rolling mean biasanya digunakan untuk
data time-series[2]. Dikutip dari literatur [3], rolling mean atau “rata-rata bergulir” terus
memperbarui rata-rata kumpulan data untuk memasukkan semua data dalam kumpulan hingga
titik itu. Moving average atau “rata-rata bergerak” menghitung rata-rata kumpulan data untuk
periode tertentu. Misalnya, rata-rata pergerakan jumlah pengembalian pada bulan Maret
dengan periode tertentu dua akan dihitung dengan menambahkan jumlah pengembalian pada
bulan Februari dan Maret dan kemudian membagi jumlah tersebut dengan dua.Misalnya,
rata-rata bergulir dari jumlah pengembalian pada bulan Maret akan dihitung dengan
menambahkan jumlah pengembalian pada bulan Januari, Februari, dan Maret, dan kemudian
membagi jumlah tersebut dengan tiga.

Penting untuk dicatat bahwa outlier (pencilan) tidak selalu buruk; terkadang berisi informasi
penting. Jika ini terjadi, kita dapat menggunakan algoritme pembelajaran mesin yang kuat
terhadap outlier. Selain itu, penting juga dicatat bahwa metode clustering dapat digunakan
untuk mendeteksi outlier [4], misalnya saja dengan menggunakan K-means, hierarchical
clustering dan K medoid.

Referensi :
[1] https://kanoki.org/2020/04/23/how-to-remove-outliers-in-python/
[2]
https://machinelearningmastery.com/moving-average-smoothing-for-time-series-forecasting-pyth
on/
[3]
https://www.ibm.com/docs/en/cognos-analytics/11.1.0?topic=dimensionally-rolling-moving-avera
ges
[4] Salgado C.M., Azevedo C., Proença H., Vieira S.M. (2016) Noise Versus Outliers. In: Secondary
Analysis of Electronic Health Records. Springer, Cham.
https://doi.org/10.1007/978-3-319-43742-2_14
40

[5] https://vitalflux.com/z-score-z-statistics-concepts-formula-examples/

3.3.3 Mengatasi NOISE

Beberapa literatur menggabungkan noise adalah bagian dari outlier, sebagian


membedakan noise dan outlier [1]. Outlier adalah data yang berada di luar jangkauan data yang
kita harapkan tetapi noise adalah data yang tidak diinginkan dan salah dan harus dihilangkan.
Noise adalah data yang berisi nilai-nilai yang salah atau acak dalam variabel yang terukur atau
data yang tidak konsisten. Beberapa penyebab adanya data noise adalah karena kesalahan
manusia berupa kesalahan pemberian label dan masalah lain selama pengumpulan data,
misalnya saja disebabkan instrumen pengumpulan data yang salah. Contoh kesalahan data
IPK misalkan diinputkan IPK 14,0 dimana seharusnya rentang IPK tersebut hanya 0-4,0,
sehingga nantinya ketika dibuat grafik nilai ipk ini ada diluar batas 4. Contoh lainnya data yang
menunjukkan jenis kelamin dengan inisial L (Laki-laki) dan P (Perempuan), namun pada
datanya terdapat value N. Contoh lainnya yaitu data asal sekolah pada data siswa yang diisi
beragam, misalnya ada yang mengisi SMAN, SMA Negeri atau Sekolah Menengah Negeri.
Apabila data tidak konsisten, dapat diatasi dengan mengubahnya menjadi data konsisten.
Sebagai catata, apabila kita mengubah data tidak konsisten menjadi konsisten secara manual
akan menghabiskan banyak waktu. Beberapa metode yang lain dapat dipertimbangkan,
misalnya dengan menganggap sebagai missing value dan mengganti dengan nilai lainnya.

Referensi
[1] Salgado C.M., Azevedo C., Proença H., Vieira S.M. (2016) Noise Versus Outliers. In: Secondary
Analysis of Electronic Health Records. Springer, Cham.
https://doi.org/10.1007/978-3-319-43742-2_14

3.3.4 Pra-pemrosesan Fitur Kategori


Fitur kategori adalah fitur dengan nilai kategorial (bukan angka), nilai kategori perlu diubah
dikarenakan pembuatan machine learning membutuhkan angka untuk diolah pada machine
learning.

Secara best practice, ada beberapa cara yang dapat digunakan. Mengacu pada sebuah artikel
bahwa ada 15 metode untuk mengubah kategori menjadi numerik. Pada buku ini akan dibahas
beberapa, yaitu one-hot-encoding,
● OneHot Encoding
41

Pada One Hot encoding, feature akan berubah menjadi fitur sejumlah nilai fitur nominal.
Fitur atau kolom baru tersebut bernilai 0 dan 1, dimana berisi nilai 1 jika nilai terdapat
pada fitur yang berasal dari fitur yang mengandung nilai tersebut.
Misal:
Fitur yang mengandung nama kota, dimana ada tiga nama kota, maka fitur “kota” akan
menjadi tiga fitur yaitu “kota_Jakarta”, “kota_Batam”, “kota_Bandung”. Untuk
memperjelas berikut adalah ilustrasi dari one Hot Encoding.

Kota Kota_Jakarta Kota_Bandung Kota_Batam

Jakarta 1 0 0

Bandung 0 1 0

Batam 0 0 1

Bandung 0 1 0

….

Jakarta 1 0 0

● Label Encoding
Label Encoding digunakan untuk merubah nilai categorical kedalam nilai 0 dan 1,
biasanya digunakan untuk nilai berupa ‘yes’ dan ‘no’

● Ordinal Encoding
Pada ordinal encoding, data dibuat tetap memiliki urutan value ( very good(1) < good(2)
< …)
Cth: 35 22 14 25 09 ( kolom jumlah tangkapan ikan di suatu lomba )
1 2 3 2 4 ( setelah dilakukan ordinal encoding )

● Frequency Encoding
Pada teknik ini setiap ‘kategori’ akan diganti dengan nilai ‘persentase’ kehadirannya
dalam dataset.

Kekurangannya adalah kategori ‘mayoritas’ akan mendapat nilai yang lebih besar dari
kategori yang jarang muncul. Hal ini seolah-olah dapat memunculkan hubungan ‘order’
atau ranking pada data nominal di mana data mayoritas > data minoritas.

Referensi
[1]
https://www.kdnuggets.com/2021/05/deal-with-categorical-data-machine-learning.html
42

3.3.5 Diskretisasi
Diskretisasi bertujuan untuk mengubah berbagai variabel, model atau fungsi kontinu menjadi
bentuk diskrit berupa bin dengan membuat interval yang berdekatan yang mencakup rentang
nilai variabel, sesuai dengan range kebutuhan sehingga menjadi lebih mudah untuk dipahami.

Misalnya saja data suhu badan anak yang disebut demam adalah suhu antara 36,5 dan 37,5
dan disebut panas jika suhu badan di atas 37,5. Contoh lainnya adalah IPK mahasiswa disebut
cumlaude jika di atas 3,5 dan disebut sangat memuaskan jika antara 3 dan 3,5. Interpretasi
data akan lebih mudah terutama untuk orang awam.
Contoh lainnya adalah data terkait curah hujan. Apabila dikatakan bahwa curah hujan adalah
2.000 mm, 4000 mm atau 5000 mm, maka akan sulit diinterpretasikan oleh masyarakat awam
jika dibandingkan dengan curah hujan tinggi, sedang atau, rendah.

Teknik Diskretisasi data


Teknik diskritisasi dapat dibagi menjadi beberapa kategori berdasarkan karakteristik mereka,
seperti diawasi versus tanpa pengawasan (supervised vs unsupervised), statis versus dinamis,
univariate versus multivariate, membelah versus (splitting versus merging)
penggabungan, global versus local (global versus local), langsung versus inkremental (direct
versus incremental) [1] Garcia dkk [1] membangun taksonomi discretizers yang terdiri dari lebih
dari delapan puluh discretizers berdasarkan pada karakteristiknya, kemudian dibandingkan
discretizer dengan beberapa dataset.[1]

Upaya untuk menemukan diskritisasi optimal, yang meminimalkan kehilangan informasi dan
mengurangi kesalahan dalam mengklasifikasikan, telah diteliti secara ekstensif. Di buku ini akan
dibahas tiga macam cara diskretisasi, yaitu supervised discretization, unsupervised
discretization, dan reference-based discretization.

Ada tiga macam cara untuk diskretisasi, yaitu:


a) Supervised
Pada tipe diskretisasi yang diawasi (supervised discretization), contohnya yaitu Minimum
Description Length Principle (MDLP) dan Chimerge. Teknik supervised discretization
merupakan jenis diskretisasi yang dapat menghasilkan akurasi tinggi jika dibandingkan dengan
unsupervised discretization. Sayangnya, metode diskritisasi yang tidak diawasi mungkin akan
kehilangan informasi karena mereka tidak menggunakan contoh berlabel dalam dataset [2].
Selain MDLP dan Chimerge ada banyak teknik diskritisasi dengan diawasi. Untuk lebih
lengkapnya dapat dilihat pada paper Garcia et al.

b) Unsupervised
Metode diskretisasi yang tidak diawasi yang saat ini banyak diulas adalah metode Equal
Frequency Binning dan Equal Width Binning. Teknik diskretisasi data tersebut dijelaskan pada
43

buku Data Mining and Analysis [3]. Menurut Zaki et al. [3], diskretisasi dapat diimplementasikan
dalam dua metode: Equal-Width Binning (EWB) dan Equal-Frequency Binning (EFB). Bin dalam
bahasa Indonesia adalah tempat sampah atau kantong yaitu diibaratkan sebagai data-data
yang dimasukkan ke dalam kantong-kantong.
EWB membagi data numerik dengan lebar yang sama dengan rentang didefinisikan sebagai
persamaan di bawah ini.

W = (nilai maksimal - nilai minimal) / jumlah kategori

EFB membagi data numerik menjadi nomor yang sama untuk setiap bin. EFB lebih baik dari
binning dengan lebar yang sama untuk menangani outlier. Beberapa perbedaan EFB dan EWB
yaitu diilustrasikan pada gambar di bawah ini.

Gambar 3. Perbedaan Equal Frequency Binning dan Equal Width Binning

c) Reference Based Discretization

Untuk best practices, ada pendekatan lain untuk melakukan diskretisasi, yaitu dengan mengikuti
referensi, kebijakan atau aturan yang berlaku. Misal : mengkategori IPK mahasiswa dengan
mengikuti aturan akademik secara nasional atau membagi curah hujan sesuai dengan standar
yang berlaku dari BMKG. Untuk contoh dalam hal kategori IPK mahasiswa, pembagian kategori
prestasi akademik mahasiswa tercantum pada PERMENDIKBUD No. 3 tahun 2020 tentang
Standar Nasional Pendidikan Tinggi (SN-Dikti).

Pada SN Dikti tersebut dinyatakan bahwa “mahasiswa dinyatakan lulus dengan predikat
memuaskan apabila mencapai Indeks Prestasi Kumulatif (IPK) 2,76 (dua koma tujuh enam)
44

sampai dengan 3,00 (tiga koma nol nol); selanjutnya, mahasiswa dinyatakan lulus dengan
predikat sangat memuaskan apabila mencapai Indeks Prestasi Kumulatif (IPK) 3,01 (tiga koma
nol satu) sampai dengan 3,50 (tiga koma lima nol); atau c. mahasiswa dinyatakan lulus dengan
predikat pujian apabila mencapai Indeks Prestasi Kumulatif (IPK) lebih dari 3,50 (tiga koma
nol).” Hal tersebut dapat diajukan acuan untuk membuat data kategori.

Referensi
[1] García, S., Luengo, J., Sáez, J. A., López, V., & Herrera, F. (2013). A survey of discretization
techniques: Taxonomy and empirical analysis in supervised learning. IEEE Transactions on
Knowledge and Data Engineering, 25(4), 734–750. https://doi.org/10.1109/TKDE.2012.35
[2] Tsai, C. F., & Chen, Y. C. (2019). The optimal combination of feature selection and data
discretization: An empirical study. Information Sciences, 505, 282–293.
https://doi.org/10.1016/j.ins.2019.07.091
[3] Zaki, M. J., Meira Jr, W., & Meira, W. (2014). Data mining and analysis: fundamental concepts and
algorithms. Cambridge University Press.

3.3.6 Integrasi Data


Integrasi data dilakukan apabila jumlah sumber data untuk model machine learning adalah lebih
dari satu. Konsep yang harus dipegang adalah konsep terkait representasi data pada matriks,
yang dibahas pada bab sebelumnya bahwa jumlah baris data adalah jumlah instances;
sehingga data dari berbagai sumber akan digabungkan menjadi dataset yang lebih besar
berdasarkan kode unik dari setiap instances.

Sebagai contoh yaitu menggabungkan data dari hasil crawling dan dari database. Data
Pendidikan Tinggi (PT) dari database Pangkalan Data Pendidikan Tinggi (PDDIKTI) mempunyai
kode unik; sedangkan data hasil crawling tidak mempunyai kode unik. Oleh karena itu, untuk
menggabungkan kedua data tersebut, data hasil crawling harus dicari kode unik yaitu dengan
mengacu kepada database lain. Misalnya saja data hasil crawling hanya mempunyai alamat
website suatu PT, maka dibutuhkan data terkait alamat website PT dan kode PT yang bisa
diambil dari sumber yang valid.

3.3.7 Reduksi Data dan Menangani Fitur Saling Berkorelasi

Menganalisis kumpulan data besar mungkin mahal karena persyaratan spesifikasi yang tinggi
untuk perhitungan. Oleh karena itu, reduksi data akan menjadi tahap penting dalam pra-data.
pengolahan. Pengurangan data dapat ditangani dengan dua kemungkinan: 1) pengurangan
populasi, 2) mengurangi jumlah fitur.
45

Mengurangi populasi atau pengurangan jumlah berarti memangkas jumlah baris atau record,
Cara pengurangan baris ada dua metode yaitu metode parametrik dan metode non-parametrik
(Malley et al., 2016). Metode lain yang dapat digunakan untuk mengurangi baris adalah
menggunakan histogram dan pengelompokan. Namun, dalam kasus analisis data besar,
pengambilan sampel tidak disarankan.

Langkah yang kedua yaitu dengan mengurangi jumlah fitur. Untuk mengurangi jumlah fitur
dapat dilihat dengan melihat apakah fitur-fitur yang terdapat pada dataset saling berkorelasi.
Mengurangi jumlah fitur mencakup dua item: ekstraksi fitur dan pemilihan fitur. Terkait metode
seleksi fitur dan ekstraksi fitur akan dijelaskan pada bab 7.

Terkait korelasi antar fitur, ada beberapa metode yang sering disinggung di literatur terkait
statistik dan data mining, diantaranya adalah korelasi Pearson dan korelasi Spearman. Berikut
ini adalah perbedaan keduanya.

Korelasi Pearson: Korelasi Pearson adalah statistik korelasi yang paling banyak digunakan
untuk mengukur derajat hubungan antara variabel yang berhubungan secara linier. Misalnya, di
pasar saham, jika kita ingin mengukur bagaimana dua saham terkait satu sama lain, korelasi
Pearson digunakan untuk mengukur derajat hubungan antara keduanya.
Asumsi untuk korelasi Pearson, kedua variabel harus berdistribusi normal (variabel berdistribusi
normal memiliki kurva berbentuk lonceng). Asumsi lainnya adalah linearitas dan
homoskedastisitas. Linearitas mengasumsikan hubungan garis lurus antara masing-masing dari
dua variabel dan homoskedastisitas mengasumsikan bahwa data terdistribusi secara merata di
sekitar garis regresi.
Rumus untuk korelasi Pearson adalah sebagai berikut.

Korelasi Spearman: Korelasi Spearman adalah tes non-parametrik yang digunakan untuk
mengukur tingkat hubungan antara dua variabel. Uji korelasi peringkat Spearman tidak
membawa asumsi apapun tentang distribusi data dan merupakan analisis korelasi yang tepat
ketika variabel diukur pada skala ordinal.
Rumus untuk korelasi Spearman adalah sebagai berikut.
46

Kedua istilah korelasi ini penting untuk dipahami karena ketika kita akan mengimplementasikan
korelasi antar fitur dan melakukan seleksi fitur, hal ini akan menjadi landasan pengetahuan
untuk topik tersebut.

3.3.8 Transformasi Data

Istilah transformasi data mengacu pada Malley et al [1] dimana transformasi data bertujuan
untuk nilai suatu data ke dalam suatu format atau unit atau atau skala yang lebih cocok untuk
analisis. Salah satu contohnya yaitu dengan melakukan normalisasi. Literatur lain
menggunakan istilah yang berbeda untuk pembahasan normalisasi yaitu dengan menggunakan
istilah penskalaan fitur (feature scaling).

Transformasi data ada dua teknik yaitu normalisasi dan standardisasi. Standarisasi adalah
salah satu teknik merubah rata rata dari data kita menjadi 0 (terpusat) dan merubah standar
deviasi nya menjadi 1 . Standarisasi digunakan ketika data tidak berdistribusi normal secara
gaussian. Sehingga sesuai namanya, standarisasi memang untuk membuat kisaran nilai
menjadi ‘standar’ dengan standar deviasi dan rata rata dari data mula yang dimiliki

Normalisasi merupakan suatu teknik perubahan skala dimana kita akan merubah suatu nilai
dari data kedalam skala diantara 0–1.

KESIMPULAN

Kesimpulan terkait pembahasan ini yaitu persiapan data dan pra-pemrosesan data merupakan
hal yang penting untuk dilakukan yang bertujuan untuk membangun kumpulan data serta
menyiapkan dataset agar dapat digunakan di tahap selanjutnya. Untuk langkah selanjutnya,
dapat dipilih metode pembelajaran mesin yang sesuai dengan karakteristik data, apakah
clustering atau klasifikasi.

3.4 Pemilihan Algoritma Pembelajaran Mesin


47

Algoritma pembelajaran mesin yang dipilih sangat berkaitan erat dengan teknik preprocessing.
Ada beberapa algoritma yang membutuhkan nilai numerik semuanya. Ada juga yang tidak
membutuhkan nilai numerik. Sebaliknya, ada juga algoritma yang tidak membutuhkan
preprocessing untuk rekayasa fitur, seperti misalnya algoritma Deep Learning.

Penting untuk diperhatikan bahwa error pada saat pemilihan algoritma pembelajaran mesin,
terutama pada tipe pembelajaran supervised tidak dapat dihindari. Oleh karena itu, suatu fungsi
pada model pembelajaran mesin dapat dirumuskan sebagai berikut.

𝑦 = 𝑓(𝑥) + ε

Model yang baik adalah yang mempunyai error terkecil. Karena tujuan meminimalkan error,
digunakan sum squared error.

3.5 Membangun Model


Sebelum membangun model, untuk permasalahan klasifikasi ada beberapa hal yang perlu
diperhatikan, diantaranya yaitu apakah data yang dimiliki memiliki jumlah target yang seimbang
atau tidak, terkait pembagian jumlah data latih dan data testing, dan cross validation. Terkait
data dengan jumlah target yang tidak seimbang, data tersebut pada konsep pembelajaran
mesin disebut “imbalanced dataset”. Misalnya saja untuk beberapa kasus yang cenderung akan
terjadi ketidakseimbangan data adalah kasus klasifikasi kanker dimana jumlah pasien yang
sehat dibandingkan jumlah pasien yang mengidap kanker. Jumlah pengidap kanker mungkin
tidak lebih dari 10% dari data yang dimiliki. Selain itu, contoh dataset terkait mahasiswa lulus
dan tidak lulus, di mana jumlah mahasiswa drop out lebih sedikit daripada jumlah mahasiswa
lulus. Jumlah mahasiswa drop out mungkin kurang dari 5% dari data keseluruhan.

Metode yang digunakan untuk menyeimbangkan adalah oversampling dan undersampling.

Pembagian data training dan testing juga penting untuk diperhatikan. Rekomendasi dari Geron
adalah menggunakan pembagian 80% 20% sebagai rule of thumb, dimana 80% dari dataset
digunakan sebagai data latih dan 20% sebagai data latih. Dengan catatan bahwa apabila data
lebih dari satu juta maka yang dijadikan data latih adalah 10%.

3.6 Evaluasi Model


Ada beberapa metode untuk mengevaluasi model. Secara singkat, sebelum mengevaluasi
model, harus dipahami apakah model pembelajaran yang dilakukan apakah supervised atau
unsupervised. Apabila supervised, perlu dispesifikkan lagi apakah kasus regresi atau kasus
klasifikasi. Untuk kasus evaluasi model algoritma klasifikasi, konsep yang harus dipahami
adalah terkait True Positive, False Positive, True Negative dan False Negative. Keempat hal
48

tersebut akan dijelaskan lebih detail pada sub bagian matriks konfusi. Selain matriks konfusi,
digunakan pula kurva ROC dan AUC untuk mengukur performa.

3.6.1 Matriks Konfusi


Matriks Konfusi adalah suatu metode yang biasa digunakan untuk mengukur performa
klasifikasi pembelajaran mesin, dimana keluaran dapat berupa dua kelas atau lebih.
Matriks ini berupa tabel dengan 4 kombinasi berbeda dari nilai prediksi dan nilai aktual.
Ada 4 nilai yang penting untuk dipahami, yang pertama ada True Positive, False Positive,
True Negative dan False Negative. Seperti yang terlihat pada gambar di bawah ini bahwa
maka dari True Positive adalah apabila nilai aktual adalah positive dan diprediksi benar yaitu
positif juga, selanjutnya True Negative adalah nilai aktual negative dan diprediksi benar yaitu
negatif juga. Ada dua kesalahan atau error pada saat memprediksi

Gambar 4. Confusion Matrix Pada Klasifikasi Biner

Dari matriks konfusi dapat dihitung beberapa nilai yaitu precision, recall, dan F1 score.

Precision = TP / (TP+FP)

Recall = TP/ (TP+FN)

Akurasi = (TP+TN) / TP+FP+TN+FN

F1 Score = 2 x precision x recall / precision + recall

Specificity = TN / TN+FP

Pada beberapa kasus data yang imbalance, nilai Precision lebih diperhatikan daripada nilai
False Positive Rate, karena Precision tidak memiliki variable True Negatives dalam
kalkulasinya. Precision = True Positive / (True Positive + False Positive)
49

3.6.2 ROC - AUC


Kurva Receiver Operating Characteristic (ROC) adalah teknik lain yang digunakan untuk
evaluasi klasifikasi, dimana kurva ini menunjukkan kurva presisi/recall. Kurva ROC memplot
tingkat True Positive (nama lain untuk recall) terhadap tingkat positif palsu (False Positive Rate
atau FPR). FPR adalah rasio contoh negatif yang salah diklasifikasikan sebagai positif. Hal ini
sama dengan satu dikurangi tingkat negatif sebenarnya (True Negative Rate), yang merupakan
rasio contoh negatif yang diklasifikasikan dengan benar sebagai negatif. TNR juga disebut
spesifisitas. Oleh karena itu kurva ROC memplot sensitivitas (recall) versus 1 – spesifisitas.

Kurva ROC mewakili tradeoff antara spesifisitas dan sensitivitas yang menghasilkan plot
rasio positif benar terhadap positif palsu (setiap penurunan spesifisitas akan disertai dengan
peningkatan sensitivitas).

Beberapa pengamatan yang penting untuk diperhatikan dalam interpretasi kurva ROC adalah:
1) Jika kurva sesuai dengan batas kiri dan batas atas ruang KOP, hasil pengujian akan lebih
akurat
2) Hasil kurang akurat jika diagonal 45 derajat ruang ROC semakin mendekati kurva.

3) Rasio kemungkinan untuk nilai tes diberikan oleh kemiringan garis singgung pada suatu titik.

4) Akurasi diukur dengan area di bawah kurva. Sebuah tes yang sempurna diwakili oleh nilai
area satu. Sedangkan nilai area 0,5 menunjukkan tes yang sia-sia seperti yang diilustrasikan
pada gambar di bawah ini.

Ilustrasi ROC dan AUC

AUC merupakan singkatan dari Area Under Curve, dimana merupakan luas dari area di bawah
grafik ROC. Semakin tinggi nilai AUC semakin baik model.
50

Referensi

[1] Malley, B., Ramazzotti, D., & Wu, J. T. (2016). Data pre-processing. In Secondary Analysis of
Electronic Health Records (pp. 115–141). Springer International Publishing.
https://doi.org/10.1007/978-3-319-43742-2_12

Anda mungkin juga menyukai