Anda di halaman 1dari 42

Learning

Progress
Week-10
Here is where our presentation begins

GIGIH R.P || M. IKHSAN E. || F.P. GOTAWA || TALITHA SAFA


Advanced Data
Pre-Processing
for Machine Learning

01
Feature Engineering
Pembentukan variable atau fitur tambahan sebagai proses mengekstrak fitur yang
berguna dari raw data menggunakan metode matematika, statistika, dan domain
knowledge.

• Sebagai contoh dari feature engineering:

• Outlier Detection (Boxplot, scatter plot).

• One Hot Encoding.

• Pivoting.

• Aggregation.
Aggregation/ New Attributes
Creation
• Dalam pembentukan variable, sering kali kita harus melakukan aggregasi terhadap
kumpulan data “raw”.

• Sebagai contoh, data raw dapat berbentuk data history customer melihat produk di
berbagai kategori.
• Dalam melakukan modeling/data mining, kita dapat melakukan aggregasi terhadap data
untuk membentuk suatu fitur baru, seperti :
• Jumlah produk yang dilihat dalam 1 bulan.

• Jumlah kategori produk yang dilihat dalam 1 bulan.


• ...
Aggregation/ New Attributes
Creation
Attributes apa saja yang dibentuk?

• Jumlah hari customer melakukan kunjungan


dalam 1 minggu.

• Jumlah unique produk yang dilihat dalam 1


minggu.

• Jumlah unique category yang dilihat dalam 1


minggu.

• Jumlah kunjungan dalam waktu 1 minggu.


Menangani Masalah Data Teks
Menangani Masalah Data Teks
1. Text Cleansing (Case Folding)

➢ Membersihkan format text dari special character (,.&^%$#?, dll.).


➢ Bisa dibantu dengan Regular Expression.
Menangani Masalah Data Teks
2. Text Tokenization

➢ Menjadikan text menjadi potongan-potongan kata dalam bentuk list


python.
Menangani Masalah Data Teks
3. Removing Stopwords

➢ Kata sambung dan


kata repetitive perlu
kita buang agar tidak
mendominasi.
Menangani Masalah Data Teks
4. Stemming

➢ Proses normalisasi
linguistik, yang mereduksi
kata menjadi kata dasar
atau memotong imbuhan.
➢ Misalnya, Connect,
Connecting,Connected,
Connection direduksi
menjadi kata umum
“connect".
Menangani Masalah Data Teks
5. Lemmatization

➢ Mereduksi kata menjadi


kata dasarnya, yaitu
lemma yang benar secara
linguistik. Ini mengubah
kata dasar dengan
penggunaan kosakata dan
analisis morfologis.
➢ Contoh Better >> Good,
Worst >>Bad.
Menangani Masalah Data Teks
(Vectorization)
Term-Frequency and Inverse Document Frequency (TF-IDF).

Term-Frequency and Inverse Document Frequency (TF-IDF) merupakan


salah satu metode statistik yang digunakan untuk mengukur seberapa
penting suatu kata terhadap suatu dokumen tertentu dari sekumpulan
dokumen atau corpus.
Term-Frequency and Inverse
Document Frequency (TF-IDF)
➢ merupakan metode yang digunakan untuk menentukan
nilai frekuensi sebuah kata di dalam sebuah dokumen
atau artikel dan juga frekuensi di dalam banyak
dokumen.
➢ Algoritma TF-IDF melakukan pemberian bobot pada
setiap kata kunci di setiap kategori untuk mencari
kemiripan kata kunci dengan kategori yang tersedia.
➢ akan dilakukan lima tahap pencarian text preprocessing
yaitu pemecahan kalimat, case folding, tokenizing,
filtering, dan stemming.
➢ TF-IDF pada dasarnya merupakan hasil dari perhitungan
antara TF (Term Frequency) dan IDF (Inverse Document
Frequency).
Supervised I

01
02
Apa Itu Algoritma KNN?
K-Nearest Neighbor merupakan algoritma supervised learning yang
memiliki cara kerja mengambil sejumlah data terdekat sebagai acuan untuk
menentukan kelas data baru.

Algoritma ini mengklasifikasikan data berdasarkan kemiripan dengan data


lain dengan tujuan untuk mengklasifikasikan data baru berdasarkan atribut
dan sampel-sampel dari training data.
Cara Kerja Algoritma KNN
Contoh Kasus:

Terdapat rumah baru yang dibangun di perbatasan Kota Bandung dan


Kabupaten Bandung, sehingga pemerintah kesulitan untuk menentukan
apakah rumah tersebut termasuk kedalam wilayah Kota Bandung atau
Kabupaten Bandung.

1. Tentukan jumlah tetangga yang akan kita perhitungkan (k) → Random


2. Hitung jarak setiap tetangga pada rumah tersebut, lalu urutkan hasilnya
berdasarkan jarak, mulai dari yang terkecil ke yang terbesar.
3. Ambil k = 3 tetangga yg paling dekat, lalu kita lihat masing-masing dari
tetangga tersebut apakah termasuk kedalam wilayah Kota atau
Kabupaten.
Cara Kerja Algoritma KNN
- Independent Variable (Data yang
tidak terpengaruhi data lain): Lat,
Long
- Dependent Variable (Data yang
terpengaruhi data lain): Lokasi
- Rumah A-E letaknya di kota.
Rumah F-J letaknya di
Kabupaten.
- Rumah X adalah rumah yang
harus ditentukan dengan
algoritma KNN
Cara Kerja Algoritma KNN
Menghitung jarak antara rumah X
terhadap rumah A-J dengan
menggunakan rumus pythagoras.

- Kita misalkan x adalah Long dan y


adalah Lat. Kemudian long dan lat
dari rumah X adalah (x1,y1), Long
dan Lat dari rumah A-J adalah
(x2,y2)
Cara Kerja Algoritma KNN
Tabel disamping sudah diurutkan sesuai
dengan jarak terdekat dengan rumah X. Dari
hasil perhitungan diatas, didapat fakta bahwa
ternyata 3 tetangga terdekat dari rumah X
adalah:
- Rumah H (Kabupaten) yang memiliki jarak
2.24
- Rumah C (Kota) yang memiliki jarak 3
- Rumah E (Kota) yang memiliki jarak 3.16

Dari ke-3 tetangga terdekat, terdapat 2 rumah yang termasuk kedalam


wilayah Kota dan 1 rumah yang masuk ke dalam wilayah Kabupaten.
Sehingga dapat disimpulkan, bahwa Rumah X adalah rumah yang
termasuk kedalam wilayah Kota Bandung.
Apa Itu Decision Tree?
Sebuah model machine learning yang direpresentasikan dalam bentuk
pohon menggunakan algoritma Supervised Machine Learning dengan data
dalam bentuk atribut-nilai.
Cara Kerja Decision Tree
Contoh kasus: Bagaimana dari training data di bawah ini dapat diperoleh
model yang bisa mengklasifikasikan secara otomatis?
Cara Kerja Decision Tree
Contoh decision Tree dari dataset sebelumnya.

Contoh algoritma:
• IF (age<=30) and (student) OR
• IF (age = 31...40) OR
• IF (age>40) and (credit rating =
fair)
THEN
buys_computer = YES
Pemilihan Atribut Decision Tree
Metode berat Gini: Ukuran kemurnian, semakin murni, semakin homogen,
semakin rendah nilainya.
Total data = 14, Buy Computer (Yes) = 9, Buy Computer (No) = 5
Split berdasarkan masing-masing atribut.

Total berat Gini untuk Split Age adalah (5/14)*0.52 + (4/14)*1 +(5/14)*0.52 = 0.65
Pemilihan Atribut Decision Tree
Split Berdasarkan Credit Rating

Total berat Gini untuk Split credit Rating adalah (6/14)*0.5 + (8/14)*0.625 =
0.57
Karena berat Gini pada Split Age lebih tinggi daripada Gini pada split Credit
Rating maka kita menggunakan Age sebagai split lebih dahulu.
Apa itu Random Forest?

Algoritma Supervised Machine Learning


yang bentuknya seperti “Forest” yang
terdiri dari “pohon-pohon” (trees) yang
berisi kumpulan decision tree acak.
Algoritma ini dapat menggabungkan
beberapa decision tree untuk
mendapatkan hasil prediksi yang lebih
akurat.
Kelebihan Random Forest
- Error yang lebih rendah.
- Hasil yang bagus dalam klasifikasi.
- Efisiensi training data yang besar.
- Efektif untuk mengestimasi hilangnya data.
- Dapat memprediksi variabel apa yang penting dalam
klasifikasi.
Kekurangan Random FOrest
- Membutuhkan waktu pemrosesan yang lama karena menggunakan
data yang banyak untuk membangun model tree yang banyak pula.
- Sulit diinterpretasikan dan membutuhkan mode penyetelan yang
tepat untuk data.
Apa Itu Logistic Regression?
Logistic Regression adalah sebuah algoritma klasifikasi untuk mencari
hubungan antara fitur (input) diskrit/kontinu dengan probabilitas hasil
output diskrit tertentu.
Tipe-Tipe Logistic Regression
- Binary Logistic Regression : memiliki 2 output saja (mengklasifikasi
kedalam 2 kelas berbeda). Contoh: Positif-Negatif, Obesitas-Tidak
Obesitas.
- Multinomial Logistic Regression : Logistic Regression yang memiliki 2
output atau lebih. Contohnya kelas Sentiment Analysis kalimat positif,
negatif, dan netral.
- Ordinal Logistic Regression : Logistic Regression yang memiliki 2
output atau lebih dengan memperhatikan urutan. Contohnya adalah
membagi kelas mahasiswa dalam range Index Prestasi Kumulatif 1.xx,
2.xx, 3.xx, dan 4.00
Cara Kerja Logistic Regression
Logistic Regression digunakan untuk memprediksi apakah sesuatu data
bernilai benar atau salah.
Cara Kerja Logistic Regression

Kurva S tersebut bermula dari nilai 0 (dalam


kasus ini adalah Not Obese) kemudian menuju
nilai 1 (Obese) seperti grafik di atas.
Supervised II

01
03
Support Vector Machine
Salah satu metode dalam supervised
learning yang biasanya digunakan untuk
klasifikasi (seperti Support Vector
Classification) dan regresi (Support
Vector Regression).

Dapat mengaplikasikan bentuk klasifikasi


linear dan non linear dengan
menggunakan Kernel-trick (suatu
transformasi yang mengelompokkan input
features ke dalam high-dimensional
spaces.
Support Vector Machine :
The Math Behind
Case Definition : untuk 2-dimesional data
Kondisi :

● Jarak antara H (decision boundary)


dengan H dan H2 (support vektor) =
maksimal
● Tidak ada data points pada H dan H2

Persamaan linear :

● ax + by ≥ c (untuk titik merah)


● ax + by ≤ c , atau bisa juga < (untuk
titik hijau)
Support Vector Machine :
Tipe Kernel
Definition : Fungsi yang melakukan
transformasi dari input features ke high
dimensional spaces.

Kondisi : data tidak dapat dipisahkan


secara linear.

Tipe fungsi :

● Linear
● Polynomial
● Radial Basis Function (RBF)
Support Vector Machine :
Why
Kelebihan :

● Efektif digunakan pada high-dimensional spaces.


● Dapat mengefisienkan penggunaan memori karena menggunakan
subset dari training data dalam perhitungan support vectors.
● Dapat menggunakan berbagai fungsi kernel dalam mendefinisikan
decision boundary.
Support Vector Machine :
Why
Tantangan :

● Dapat mengalami overfitting ketika jumlah features lebih besar


dibandingkan dengan jumlah samples
● Tidak menyediakan probability estimates secara out of the box
meskipun telah didukung oleh library sklearn.
Multiclass Classification
Penggunaan :

● Klasifikasi dokumen/artikel.
● Klasifikasi handwritter recognition
● Klasifikasi sentiment
● Klasifikasi emosi
Multiclass Classification :
One vs Rest
● Pada kasus N class
classification akan
membentuk N binary
classifier.
● Aturan setiap classifier
dalam memprediksi :
● Positif untuk satu
kelas.
● Negatif untuk
kelas yang lain.
Multiclass Classification :
One vs One
● Menggunakan binary classifier.
● Perlu dilakukan training model dengan kelas positif dan negatif antar
dua kelas dalam N kelas yang ada.
● Jumlah classifier : [ N * (N-1) ] / 2
Multiclass Classification :
Sklearn
THANK YOU !

Anda mungkin juga menyukai