Anda di halaman 1dari 38

Data Science

Pertemuan #10 : Feature Engineering


Course Definition

Secara umum, semua pembelajaran mesin, penambangan data, dan data analytics
mengandalkan dan dapat mengambil manfaat dari rekayasa fitur yang efektif. Tugas
khusus meliputi klasifikasi, regresi, pengelompokan, deteksi outlier, pola/aturan,
pemodelan prediktif, pembedaan dan karakterisasi kelas data, penemuan konsep,
pembelajaran jarak jauh, estimasi probabilitas, konstruksi ontologi/taksonomi, pencarian
informasi, intelijen bisnis, dan sebagainya
Learning Objective
Dalam materi ini Anda akan mempelajari :
● Analisis data untuk mementukan representasi data awal
● Menjelaskan tahapan transformasi data dan hasil dapat dituangkan dalam bentuk tertulis
● Menentukan fitur mana yang paling penting dengan informasi yang saling mendukung
satu sama lain.
● Merekayasa fitur - Menemukan fitur baru untuk mendukung penyelesaian permasalahan
dunia nyata
● Melakukan analisis hasil pelabelan data
● Melakukan kodefikasi kategori dengan kardinalitas tinggi (high-cardinality categoricals)
dengan pendekatan encoding yang tepat
● Melakukan dimensi reduksi dengan pendekatan metode analisis komponen utama
(Principal Component Analysis)
Outline

● Prolog
● Feature vs Feature Engineering
● Fase Feature Engineering
○ Feature Understanding
○ Feature transformation
○ Feature generation
○ Feature selection
○ Feature analysis and evaluation
● Case Study
Prolog
Why Feature Engineering Matters?

Data scientists and machine learning engineers frequently gather data in order to solve
a real-life problem. These engineers have the unique job of engineering pipelines and

designed to handle and transform raw data


architectures

into something usable by the rest of the company, particularly the data scientists
and machine learning engineers.
Why Feature Engineering Matters?

Building Training
Refining Algorithm Set
5% 3% Sebuah survei yang dilakukan oleh para
Mining Data for
Patterns
9%
ilmuwan data di lapangan mengungkapkan
bahwa lebih dari 80% waktu dari data
scientist dihabiskan untuk mengumpulkan,
Collecting Data
membersihkan, dan mengorganisir data.
20%
Kurang dari 20% sisa waktu mereka
dihabiskan untuk membangun algoritma
Cleaning and atau model.
Organizing Data
64%

1https://whatsthebigdata.com/2016/05/01/data-scientists-spend-most-of-their-time-cleaning-data/.
Why Feature Engineering Matters?
Building Training
Others
Set
Refining Algorithm 5%
10%
4%
Mining Data for
Patterns Sebuah survei yang sama juga dilakukan
4%
untuk mengetahui bagian pekerjaan mana
yang dirasa kurang menyenangkan,
Collecting Data
21%
hasilnya 77% responden mengatakan
fase mengumpulkan, membersihkan,
dan mengorganisir data. adalah fase
yang dirasa kurang menyenangkan.
Cleaning and
Organizing Data
56%

1https://whatsthebigdata.com/2016/05/01/data-scientists-spend-most-of-their-time-cleaning-data/.
Why Feature Engineering Matters

“A stellar data scientist knows that preparing data is not only so important that it
takes up most of their time, they also know that it is an arduous process and can
Far too often, we take for granted clean data
be unenjoyable.
given to us by machine learning competitions and
academic sources. More than 90% of data, the data that is interesting,
and the most useful, exists in this raw format.”

Dikutip dari: Sinan Ozdemir. “Feature Engineering Made Easy.”


Why Feature Engineering Matters

Data setelah di
• Dec 16 9am: server bersihkan
shutting down &
restarting • Dec 16 9am: server
• Dec 16 10am: server shutting down &
resuming all restarting
operations • Dec 16 10am :
server resuming all
operations
Data awal

Data Cleaning
Why Feature Engineering Matters
Data setelah di
organisir
• Dec 16 9am: server
shutting down & Date Text
restarting
Dec 16 9am server shutting
• Dec 16 10am: server down &
resuming all restarting
operations
Dec 16 10am server resuming
all operations

Data awal

Data Organizing
Feature vs Feature Engineering
Dalam konteks machine learning, data
mining, and data analytics,
sebuah fitur (feature)
adalah sebuah atribut atau

Feature
variabel yang digunakan
untuk
merepresentasikan
atau mendeskripsikan
sebuah aspek dari
obyek tertentu.
Examples

Orang Mahasiswa
Usia NIM

Warna Mata Jurusan

Tinggi Tingkat
Feature
Fitur
● Fitur yang informatif merupakan Variabel
fundamental dasar dari analisis data.
● Fitur menggambar menggambarkan objek
yang mendasari, dan untuk membedakan Atribut
dan mengkarakterisasi kelompok objek
yang berbeda (eksplisit atau laten).
● Fitur sangat penting untuk menghasilkan
model prediksi yang akurat dan mudah
dijelaskan, dan menghasilkan hasil yang
baik dalam berbagai tugas analitik data. Fitur
Understanding The Basic
atribut

DateTime Protocol Urgent Malicious

June 2, 2018 TCP FALSE TRUE

June 2, 2018 HTTP TRUE TRUE

Data observasi June 2, 2018 HTTP TRUE FALSE

June 3, 2018 HTTP FALSE TRUE


Understanding The Basic
atribut

Photo Url

http://photo-storage.io/room/1

http://photo-storage.io/room/2

Data observasi http://photo-storage.io/room/3

http://photo-storage.io/room/4
Feature

● Untuk aplikasi tertentu dan dengan domain waktu tertentu, seringkali


sekumpulan fitur tetap dipilih secara implisit untuk menggambarkan semua
objek data yang mendasarinya; setiap objek mengambil nilai tertentu untuk
masing-masing fitur tersebut.
● Hal ini menghasilkan representasi berbasis vektor fitur dari objek data.
● Fitur dibagi menjadi beberapa jenis fitur, antara lain kategoris, ordinal, dan
numerik.
● Jenis fitur yang berbeda memerlukan jenis analisis yang berbeda, karena
perbedaan struktural dalam domainnya.
Feature
Beberapa jenis fitur, antara lain

● Kategori
Fitur berjenis kategori biasanya merupakan sebuah himpunan yang berisi nilai diskrit. Sebagai contoh warna merupakan
sebuah fitur berjenis kategori yang dapat memiliki nilai {hitam, biru, kuning, cokelat, merah} Contoh lainnya adalah nilai
binary, yang mana fitur tersebut hanya dapat memiliki salah satu dari dua nilai yaitu 0 atau 1.

● Ordinal,
Contoh fitur ordinal adalah Degree dimana berisi {Bachelorm Master, PhD} dimana ketiga value tersebut di urutkan sebagai
berikut Bachelor < Master < PhD

● Numerik.
Fitur jenis ini berisi himpunan nilai numerik. Jenis fitur ini juga sering disebut sebagai fitur quantitative atau continuous.
Sebagai contoh: sebuah fitur umur adalah sebuah fitur berjenis numerik dimana merupakan sebuah himpunan nilai integer
antara 0 dan 150.

● Rasio.
Feature

Pemahaman Anda mengenai jenis fitur yang ada sangat


jenis fitur tertentu
penting karena setiap

memerlukan pendekatan analisis


yang berbeda, karena perbedaan struktural dalam
domainnya.
Feature

● Dalam banyak aplikasi, fitur kategori direpresentasikan sebagai nilai numerik.


● Untuk itu, kita perlu berhati-hati dalam merepresentasikan nilai tersebut,
karena jika tidak hasil analisis yang diperlukan dalam kasus-kasus seperti
urutan yang tersirat oleh nilai numerik biasanya tidak berarti jika pendekatan
analisis yang digunakan tidak sesuai.
● Dalam bahasa R variabel kategori diperlakukan sebagai faktor.
● Pendekatan ”one-hot encoding" sering digunakan untuk mengubah fitur
dengan jenis ini.
Feature

Kegunaan (the usefulness / the importance ) dari sebuah fitur dapat diukur
dengan signifikan pengaruh fitur tersebur kepada hasil analitik data yang
dihasilkan. Misalnya, dalam klasifikasi ini sebagian besar dalam hal peningkatan
akurasi klasifikasi. Kemudahan pemahaman dan interpretasi dari fitur juga dapat
digunakan sebagai salah satu tolak ukur yang digunakan.
Feature
“Feature
engineering
Feature
is the process of transforming data
into features that better

Engineering represent the


underlying problem,
resulting in improved machine
learning performance.”
Excerpt From: Sinan Ozdemir. “Feature Engineering Made Easy.”
Bertujuan merepresentasikan Menghasilkan performa
Proses Transformasi Data Fitur
permasalahan lebih baik Pembelajaran yang lebih baik
•Fitur engineering dapat • Fitu dalam hal ini dapat kita •Data yang dikerjakan akan •Rekayasa fitur ada sebagai
diterapkan pada berbagai relasikan sebagai kolom selalu berfungsi untuk bagian tunggal dari proses
status data. pada data tabular yang mewakili masalah tertentu ilmu data. Seperti yang kita
•Term ini tidak terbatas hanya dimiliki atau yang kita sebut dalam domain tertentu. lihat, ini adalah bagian yang
untuk data yang raw, sebagai atribut pada fase Penting untuk memastikan penting dan seringkali
unfiltered,dlsb. transformasi data. bahwa saat kita melakukan diremehkan. Tujuan akhir
•Kita tetap dapat menerapkan teknik ini, kita tidak dari rekayasa fitur adalah
pendekatan ini pada data melupakan gambaran yang untuk mendapatkan data
yang dikategorikan sebagai lebih besar dari yang algoritma pembelajaran
data ‘preprocessed’ lebih permasalahan. Anda akan kami akan dapat
pihak penyedia data. mentransformasi data mengekstrak pola dari dan
sehingga data tersebut digunakan untuk
•Data umumnya
dapat menggambarkan mendapatkan hasil yang
direpresentasikan dalam
permasalahan yang ada lebih baik.
bentuk tabular.
dengan jelas . •Anda akan belajar secara
•Data akan direpresentasikan
mendalam tentang metrik
dalam baris (observasi) dan
dan hasil pembelajaran
kolom ( attribute )
mesin tetapi untuk saat ini,
ketahuilah bahwa kami
melakukan rekayasa fitur
tidak hanya untuk
mendapatkan data yang
lebih bersih, tetapi untuk
akhirnya menggunakan data
tersebut dalam alur
pembelajaran mesin kami.
Feature Engineering
● Feature Understanding
Memahami data dan domain permasalahan dengan informasi kualitatif dan kuantitatif yang dimiliki

● Feature Improvement
Membersihkan data, mengisi nilai yang kosong, mentransformasikan data yang tidak tersturktur, dan normalisasi data

● Feature Transformation
Pembentukan fitur baru dari fitur yang ada; ini sering dicapai dengan menggunakan pemetaan matematika.

● Feature Generation / Construction


Menghasilkan fitur baru yang seringkali tidak hasil transformasi fitur. Misalnya, Anda tidak mengambil piksel dalam gambar
sebagai fitur, melainkan mengekstraksi hasil pemrosesan sebuah operasi misalnya hasil konvolusi untuk region tertentu yang
menghasilkan fitur baru untuk gambar. Selain itu, kita juga dapat mengatakan bahwa fitur didefinisikan dari pola/teksture
salah satu hasil dari feature generation. Banyak cara khusus domain untuk mendefinisikan fitur juga termasuk dalam kategori
pembuatan fitur. Kadang-kadang ekstraksi fitur istilah digunakan untuk generasi fitur.
Feature Engineering

● Feature Selection
adalah tentang memilih satu set kecil fitur dari yang sangat kumpulan fitur yang besar. Ukuran kumpulan
fitur yang dikurangi membuatnya layak secara komputasi untuk menggunakan algoritma tertentu.
Pemilihan fitur juga dapat menyebabkan peningkatan kualitas pada hasil dari algoritma tersebut.

● Feature Analysis
adalah tentang konsep, metode, dan ukuran untuk mengevaluasi kegunaan fitur dan set fitur. Feature
analysis juga sering dimasukkan sebagai salah bagian dari seleksi fitur.

● General Automatic Feature


Metodologi rekayasa fitur otomatis umum adalah tentang pendekatan generik untuk secara otomatis
menghasilkan sejumlah besar fitur dan memilih subset yang efektif dari fitur yang dihasilkan.
Feature Understanding
Tipe Data: Structured vs Unstructured
● Structured data
Data jenis ini biasanya berbentuk tabular, dimana baris merepresentasikan data observasi dan kolom merepresentasikan
atribut atau fitur.

● Unstructured data
Data yang ada sebagai entitas yang mengalir bebas dan tidak mengikuti hierarki organisasi standar seperti tabularitas.
Seringkali, data tidak terstruktur tampak bagi kami sebagai data blob, atau sebagai satu karakteristik (kolom).

Tipe Data: Qualitative vs Quantitative


● Qualitative
Data yang memiliki sifat kategorikal. Mendeskripsikan kulitas dari sebuah obyek tertentu.

● Quantitative
Data yang umumnya bersifat numerik. Mendeskripsikan kuantitas dari sebuah obyek tertentu.
Exploratory Data Analysis
Analisis Data Eksplorasi (EDA) adalah pendekatan/filosofi untuk analisis data yang
menggunakan berbagai teknik (kebanyakan grafis) untuk:
○ memaksimalkan wawasan ke dalam kumpulan data;
○ mengungkap struktur yang mendasarinya;
○ ekstrak variabel penting;
○ mendeteksi outlier dan anomali;
○ menguji asumsi yang mendasarinya;
○ mengembangkan model pelit; dan
○ menentukan pengaturan faktor yang optimal.
Exploratory Data Analysis

Sebagian besar teknik EDA bersifat grafis dengan beberapa teknik kuantitatif.

Alasan ketergantungan yang tinggi pada grafik adalah bahwa pada dasarnya peran
utama EDA adalah untuk mengeksplorasi data secara terbuka, dan grafik
memberikan para gambaran yang lebih jelas mengenai informasi dari data sehingga
dapat memberikan beberapa wawasan baru, yang seringkali tidak terduga, tentang
data. Terutama dalam memahami kombinasi dengan kemampuan pengenalan pola
data yang kita miliki.
Principal Component Analysis (PCA)
merupakan metode pengurangan dimensi menggunakan teknik statistik non-parametrik,
tidak terawasi, yang sering digunakan untuk mengurangi dimensi kumpulan data besar,
dengan mengubah kumpulan variabel besar menjadi lebih kecil yang masih berisi sebagian
besar informasi dalam kumpulan besar. set.

Principal Component Analysis (PCA) adalah sebuah metode yang sering digunakan untuk
pengurangan dimensi dalam pembelajaran mesin.

Dimensi tinggi berarti bahwa dataset memiliki sejumlah besar fitur.


Principal Component Analysis (PCA)
○ Model juga menjadi lebih efisien karena set fitur yang dikurangi meningkatkan
kecepatan pembelajaran dan mengurangi biaya komputasi dengan menghapus fitur
yang berlebihan.

○ PCA mengidentifikasi daftar sumbu utama (principal axes) untuk menggambarkan


kumpulan data yang mendasarinya sebelum memeringkatnya sesuai dengan jumlah
varians yang ditangkap oleh masing-masing sumbu.

○ PCA adalah algoritma pembelajaran tanpa pengawasan karena arah komponen ini
dihitung murni dari set fitur penjelas tanpa referensi ke variabel respons.
Principal Component Analysis (PCA)
○ Normalisasikan data
PCA digunakan untuk mengidentifikasi komponen dengan varians maksimum, dan
kontribusi setiap variabel untuk komponen didasarkan pada besarnya varians. Ini
adalah praktik terbaik untuk menormalkan data sebelum melakukan PCA karena data
yang tidak diskalakan dengan unit pengukuran yang berbeda dapat mendistorsi
perbandingan relatif varians di seluruh fitur.
○ Membuat matriks kovarians untuk dekomposisi Eigen
Cara yang berguna untuk mendapatkan semua kemungkinan hubungan antara
semua dimensi yang berbeda adalah dengan menghitung kovarians di antara mereka
semua dan menempatkannya dalam matriks kovarians yang mewakili hubungan ini
dalam data. Memahami persentase kumulatif varians yang ditangkap oleh setiap
komponen utama merupakan bagian integral dari pengurangan set fitur.
Hands On Session
Referensi
● Ozdemir, Sinan Susarla, Divya - Feature engineering made easy identify unique features from your
dataset in order to build powerful machine learning systems (2018, Packt Publishing)
● Dong, Guozhu, Liu, H. - Feature Engineering For Machine Learning and Data Analytics
Tools / Lab Online

● Jupyter Notebook

Anda mungkin juga menyukai