Materi Data Wrangling
Materi Data Wrangling
21 November 2024
Introduction to Data
Wrangling: from Raw Data to
Actionable Insights
Ira Puspitasari, S.T., M.T., Ph.D.
Universitas Airlangga
[email protected]
01 Pengantar Data Wrangling
• Data Science
• CRISP Data Mining
Agenda
• Data Wrangling
2
Data Science
Creates smart machines to
Study of data to extract Artificial mimic human behavior,
meaningful insights for Intelligence perform cognitive functions.
business.
Machine
Data Science Learning Uses algorithms to make
the AI learn without
programming it explicitly.
Data Analytics
Focuses on more
specific, business-
oriented applications Deep Cascade of Neural
of data examination Learning Network, part of M.L.
and interpretation.
Uses artificial neural networks
with multiple layers (hence
"deep") to progressively
extract higher-level features
from raw input.
Data Mining 3
Data
Understanding
Crisp Data
Mining
Cross Industry Standard Process for
Data Mining (CRISP-DM; Shearer, 2000)
4
• Fase awal di semua proyek data mining
dan task data wrangling.
• Menetapkan tujuan bisnis (business
objective), kriteria keberhasilan, dan tujuan
teknis proyek data mining
• Menilai situasi: identifikasi ketersediaan
sumber daya yang mendukung kesuksesan
Business proyek, analisis resiko dan kontingensi
• Mengidentifikasi stakeholder
Understanding • Membuat rencana pelaksanaan proyek
8
Data Preparation: Data cleaning
Wrangling
Data integration
Transactions
T1 T1
Transactions
T2 T4
• Bagaimana melakukan data T3 ...
T4 T1456
wrangling untuk meningkatkan ...
kualitas data dan hasil analisis data? T2000
Data transformation !2, 32, 100, 59, 48 !0.02, 0.32, 1.00, 0.59, 0.48
10
Perbandingan Tools Data Wrangling
Cleaning Data
Enriching Data
12
Tujuan: identifikasi masalah pada
pengumpulan data, insights awal, and
bagian yang “menarik” untuk hipotesis.
Discovering • Pengumpulan Data: identifikasi data
13
• Ignore the tuple: row data yang mengandung nilai
kosong pada satu atau lebih atribut tidak digunakan
pada tahap selanjutnya.
• Fill in the missing value manually: cara ini time
consuming dan tidak feasible untuk volume data besar
dengan banyak missing values.
• Use a global constant to fill in the missing value:
Cleaning Mengganti semua nilai yang kosong pada atribut
dengan suatu konstanta, seperti “Unknown”, −∞, “N/A”
Data • Use a measure of central tendency for the attribute
to fill in the missing value:
• Distribusi data normal: mean
Menangangi masalah • Distribusi data tidak normal (skewed): median
missing values
• Use the most probable value to fill in the missing
value: analisis regresi, tools inferensi, seperti Bayesian
formalism, atau decision tree.
14
• Penyebab inkonsistensi data:
• faktor manusia (human error),
• teknis pengumpulan data: sumber data heterogen,
waktu pengumpulan data berbeda, perbedaan
prosedur pengumpulan
• faktor teknologi: perbedaan format dan aplikasi,
masalah pada migrasi data, masalah integrasi data.
16
• Berisi data anggaran dari berbagai
Contoh departemen, dengan informasi tentang
Dataset alokasi anggaran, realisasi, jenis anggaran,
prioritas, dan status realisasinya.
Anggaran • Dataset ini dapat digunakan untuk analisis
efisiensi anggaran, penentuan prioritas, dan
pengelompokan pola pengeluaran.
• Tools: Google Sheets, WEKA.
17
Atribut (Kolom) Deskripsi Tipe Data
Kode unik yang mengidentifikasi setiap String
kode_anggaran
anggaran. (kategori)
Dataset Nama departemen yang mengelola anggaran String
Anggaran departemen
(misalnya, Keuangan, IT, Operasional, dll.). (kategori)
20
Teknik Melengkapi Nilai Atribut ‘realisasi’
• Diisi secara manual, konfirmasi ke PIC departemen
Cleaning Data yang bersangkutan à dapat dilakukan untuk volume
data kecil, usulan solusi mementingkan dan
membutuhkan akurasi data, waktu relatif lama.
Menangani missing • Menghapus instance / tuple yang mengandung nilai
values kosong pada satu atau lebih atributnya
• Hati-hati melakukan strategi ini!
melengkapi nilai atribut
yang kosong • Jika nilai kosong lebih dari 20 – 30% (tergantung
karakteristik data dan urgensi masalah), maka strategi
ini tidak dilakukan.
• Imputasi: diisi dengan nilai mean atau median.
• Isi nilai yang kosong dengan rata-rata atau median dari
realisasi untuk data serupa.
• Contoh: menggunakan nilai rata-rata realisasi
berdasarkan jenis_anggaran atau departemen
21
Teknik Melengkapi Nilai Atribut ‘waktu_realisasi’
• Diisi secara manual, konfirmasi ke PIC departemen
Cleaning Data yang bersangkutan à dapat dilakukan untuk volume
data kecil, usulan solusi mementingkan dan
membutuhkan akurasi data, waktu relatif lama.
• Menghapus instance / tuple yang mengandung nilai
Menangani missing kosong pada satu atau lebih atributnya
values
• Hati-hati melakukan strategi ini!
melengkapi nilai atribut • Jika nilai kosong lebih dari 20 – 30% (tergantung
yang kosong karakteristik data dan urgensi masalah), maka strategi ini
tidak dilakukan.
• Imputasi: diisi dengan nilai median.
• Isi nilai yang kosong dengan nilai median dari realisasi
untuk data serupa, misalnya berdasarkan jenis_anggaran
atau departemen
• Pastikan konsistensi dengan nilai atribut status dan
realisasi.
22
Imputasi: diisi dengan nilai berdasarkan status.
• Status proses atau selesai: isi nilai atribut realisasi dengan
nilai rata-rata, dan atribut waktu_realisasi dengan median.
27
9. Ganti filter pada kolom status, klik simbol
segitiga terbalik di bagian kanan header kolom
Cleaning Data status.
• Centang hanya pada pilihan nilai ‘Tertunda’.
10. Isi nilai kolom realisasi dan waktu_realisasi yang
Menangani missing kosong dengan nilai 0. Isi di salah satu sel, lalu
values salin ke semua baris yang nilainya masih
melengkapi nilai atribut kosong.
yang kosong 11. Jika semua nilai di kolom realisasi dan
waktu_reaalisasi sudah terisi, hapus isi data di
Tool: Google Sheets
sel K4, K9, L4, L9.
12. Unduh file csv yang sudah dibersihkan tersebut
• Pilih menu File à Download à Comma Separated
Values (.csv)
• Rename file menjadi 2_budget_cleaned.csv.
28
Tampilan Hasil dari Langkah 11
29
• Atribut departemen mengandung nilai-nilai yang
berbeda, tapi sebenarnya mengacu pada entitas yang
Cleaning Data sama.
• "SDM", "Sumber Daya Manusia", dan "Sumber Daya"
merujuk pada departemen yang sama.
Menangani • "Operasional” dan ”Operational” merujuk pada
Inkonsistensi departemen yang sama.
Data departemen • "IT", "TI", dan "Teknologi Informasi" juga memiliki
arti yang sama.
Tool: WEKA
30
WEKA Waikato Environment for Knowledge Analysis
https://waikato.github.io/weka-wiki/downloading_weka/
31
WEKA
1 Explorer
Preprocess
Open File: pilih file
2_budget_cleaned.
csv
Label departemen
tidak konsisten
32
WEKA
Explorer
1 2 6 1. Filter à Choose: filters à
unsupervised à attribute.
2. Pilih
RenameNominalValues,
lalu klik sekali
3. Isi selectedAttributes
dengan departemen
4. Isi valueReplacements
dengan nilai berikut:
TI:Teknologi Informasi,
IT:Teknologi Informasi,
3 SDM:Sumber Daya
4 Manusia, Sumber
Daya:Sumber Daya
Manusia,
Operational:Operasional,
5 Operation:Operasional
5. Klik OK
6. Klik Apply 33
WEKA
Explorer
1. Simpan File dengan
klik tombol Save.
2. Pilih type of file à CSV
files: comma delimiters
values (*.csv)
3. Nama file:
Label departemen 3_budget_cleaned_c
onsistent.csv
konsisten
34
Cleaning Data Potensi Outlier (Noisy data) pada Data
Numerik
• Amati atribut rencana dan realisasi
Deteksi Outlier • Sejumlah nilai pada atribut rencana sangat
Data rencana dan tinggi atau sangat rendah dibandingkan
realisasi dengan distribusi umum.
35
Deteksi
Outlier
1 2 7 1. Filter à Choose: filters à
unsupervised à attribute.
2. Pilih InterquartileRange,
lalu klik sekali
3. Isi attributeIndices
3 dengan 6,9. 6 dan 9
masing-masing adalah
indeks untuk atribut
rencana dan realisasi.
4. Isi extremeValuesFactor
4 dengan 4.0 atau nilai
lainnya yang sesuai.
5
5. Isi outlineFactor dengan
1.5 atau nilai lainnya yang
sesuai
6 6. Klik OK
7. Klik Apply
36
Deteksi
3 4
Outlier
1. Muncul 4 atribut baru yang
menunjukkan hasil deteksi
outlier dari atribut rencana
dan atribut realisasi.
2 2. Pada informasi tentang
outlier atribut rencana,
terrdapat 14 nilai yang
diketagorikan sebagai
outlier.
3. Untuk melihat nilai outlier
tersebut, klik tombol Edit
4. Untuk menyimpan file, klik
tombol Save. Pilih type of
1 file à CSV files: comma
delimiters values (*.csv)
Nama file:
4_budget_outlier.csv.
37
Deteksi Outlier
1
Berdasarkan hasil deteksi
outlier: nilai rencana pada
kode_anggaran BGT000015
terrmasuk outlier.
38
• Smoothing, untuk meminimalkan noise dalam data
dengan teknik binning, regression, and clustering.
Perhatikan tujuan analisis data sebelum melakukan
smoothing.
• Konstruksi atribut baru (feature construction):
penambahan atribut baru untuk meningkatkan kualitas
data, membantu proses mining di tahap selanjutnya.
• Normalization, transformasi nilai agar berada dalam
Enriching rentang yang lebih kecil atau umum seperti [−1,1] atau
Data
[0.0, 1.0]. Teknik: min-max, decimal scaling, z-score.
• Memberikan bobot yang sama pada semua atribut
• Sangat berguna untuk teknik clustering, neural networks
Transformasi Data • Discretization, mengubah repsentasi nilai numerik
menjadi interval atau label konseptual. Contoh: atribut
waktu_realisasi dapat diubah menjadi:
• interval nilai dengan label (0-26.33; 26.34-57.67; 57.68-
inf ) atau
• label konseptual (cepat, sedang, lambat).
39
Konstruksi
Atribut
Baru
1 2 6 Menambah atribut
baru rasio_realisasi
40
Konstruksi
Atribut
3
Baru
Menambah atribut
baru rasio_realisasi
2 1. Atribut rasio_realisasi
berhasil ditambahkan.
2. Terdapat nilai
rasio_realisasi di atas 100%,
perlu ditindaklanjuti.
3. Untuk menyimpan file, klik
tombol Save. Pilih type of
file à CSV files: comma
delimiters values (*.csv)
Nama file:
5_budget_newattribute.csv.
1
41
• Ekstraksi fitur dengan Principal Component
Analysis (PCA): teknik reduksi dimensi yang
digunakan untuk mengubah data dengan dimensi
tinggi menjadi dimensi yang lebih rendah.
• PCA mencari representasi data terbaik dengan
mengidentifikasi sekumpulan atribut penting.
• Misalkan data yang akan direduksi terdiri dari vektor
42
• Dataset untuk analisis dapat berisi ratusan atribut,
yang di antaranya bersifat redundan atau mungkin
tidak relevan dengan task mining.
• Contoh: klasifikasi pelanggan berdasarkan apakah
pelanggan membeli musik baru yang populer atau
tidak. Pada kasus ini, atribut usia dan selera musik
relevan, sedangkan atribut nomor telepon pelanggan
tidak relevan.
43
• Masalah utama yang terjadi pada penggabungan
dataset dari sejumlah sumber: bagaimana
meminimalkan redundansi and inkonsistensi data?
44
03
From Data Wrangling to
Business Solutions
45
• Identifikasi jenis model yang sesuai
dengan tujuan dan karakteristik data,
seperti menemukan hubungan dalam
Analisis Data data, analisis diagnostik, dan analisis
Lanjut dan prediktif.
46
Analisis Diagnostik:
• Evaluasi kinerja departemen dalam penggunaan anggaran
• Identifikasi bottleneck dalam proses realisasi
• Analisis faktor-faktor yang mempengaruhi keberhasilan
Analisis Data realisasi
Pengambilan Keputusan
• Alokasi anggaran berbasis kinerja historis
• Penyesuaian timeline dan target realisasi yang lebih
realistis
47
Analisis Data Lanjut
dan Pembuatan Model
48
Terima kasih
49
Machine
Learning
Subfield of Artificial
Intelligence:
§ Learning without being
explicitly programmed,
§ Identifies relationships
and trends in data that
might otherwise not
accessible or identified.
50