Apa Itu Data?
Data adalah sekumpulan informasi yang diperoleh melalui pengamatan,
pengukuran, atau penelitian. Data dapat berbentuk angka, teks, gambar, atau
simbol yang dapat digunakan untuk mengidentifikasi pola atau tren dalam
konteks tertentu.
Jenis-Jenis Data
1. Berdasarkan Sumber Pengumpulan:
- Data Primer: Data yang dikumpulkan langsung dari sumber pertama melalui survei, wawancara, atau eksperimen.
- Data Sekunder: Data yang diperoleh dari sumber yang sudah ada sebelumnya, seperti laporan penelitian, literatur, atau database publik.
2. Berdasarkan Sifatnya:
- Data Kualitatif: Data deskriptif yang tidak dapat diukur dalam bentuk angka, misalnya opini atau karakteristik.
- Data Kuantitatif: Data yang dapat diukur dan diekspresikan dalam bentuk angka, seperti jumlah penjualan atau hasil pengukuran statistik.
Fungsi dan Manfaat Data
Data membantu dalam pengambilan keputusan yang tepat berdasarkan fakta dan
analisis. Selain itu, data berfungsi sebagai bahan evaluasi untuk menilai
efektivitas suatu program dan membantu mengidentifikasi akar permasalahan
yang dialami.
Contoh Penggunaan Data
Shopee merupakan aplikasi toko online yang memanfaatkan data pelanggan untuk
memberikan pengalaman berbelanja yang dipersonalisasi. Dengan menganalisis
data perilaku belanja dan riwayat pencarian pelanggannya, Shopee dapat
merekomendasikan produk yang relevan bagi setiap pelanggan.
Apa itu Data Analyst?
Data Analyst adalah profesi yang bertugas mengumpulkan, menganalisis, dan
menafsirkan data untuk mendukung pengambilan keputusan dalam berbagai bidang,
termasuk bisnis, kesehatan, dan teknologi.
Tugas Utama Data Analyst
Tugas Utama seorang Data Analyst meliputi:
2. Membersihkan dan Memproses Data: Melakukan pembersihan data untuk menghilangkan kesalahan atau inkonsistensi, lalu data diproses agar siap untuk dianalisis.
3. Analisis Data: Menggunakan statistika dan software analisis data untuk menemukan pola dan tren dari data yang telah di proses.
4. Visualisasi Data: Membuat visualisasi data seperti grafik yang kemudian dipresentasikan kepada pemangku kepentingan.
5. Pelaporan: Merangkum hasil analisis menjadi laporan lalu
memberikan rekomendasi yang sesuai kepada pemangku kepentingan berdasarkan
data.
Skill Data Analyst
Adapun skill yang diperlukan untuk menjadi seorang Data Analyst, di
antaranya:
- Kemampuan dan keterampilan dalam bidang matematika dan statistika.
- Kemampuan pemrograman dalam bahasa pemrogramman seperti Python, R, dan SQL.
- Pemahaman tentang database seperti SQL Server, Oracle, dan SAP.
- Menguasai cara riset, analisis, dan visualisasi data menggunakan alat seperti Tableau atau Power BI.
- Pemahaman mengenai Machine Learning dan Artificial Intelligence.
Big Data
Big Data merujuk pada kumpulan data yang sangat besar dan kompleks sehingga
tidak dapat diolah menggunakan alat dan teknik pengolahan data tradisional.
Data ini berasal dari berbagai sumber, seperi aplikasi, media sosial, dan
lainnya.
Enam 'V' dalam Big Data
![]() |
Enam 'V' |
Big Data sering digambarkan dengan enam karakteristik utama yang dikenal
sebagai enam 'V':
1. Volume: Merujuk pada jumlah data yang sangat besar yang perlu
dikelola dan dianalisis. Contoh: data yang dihasilkan oleh platform media
sosial setiap hari.
2. Velocity: Kecepatan di mana data dihasilkan dan diproses.
Misalnya, data transaksi kartu kredit yang harus diproses secara real-time
untuk mendeteksi penipuan.
3. Variety: Jenis data yang beragam, baik terstruktur (seperti data
tabel dalam database) maupun tidak terstruktur (seperti teks, gambar, dan
video).
4. Veracity: Tingkat keakuratan dan keandalan data.
5. Value: Nilai potensial yang dapat diekstrak dari data yang bisa
meningkatkan efisiensi operasional.
6. Variability: Seberapa cepatnya perubahan yang terjadi pada
struktur data. Contohnya adalah data yang polanya berubah-ubah dari waktu
ke waktu, seperti tren media sosial.
Contoh Penggunaan Big Data
1. Personalisasi Iklan di Media Sosial
Platform media sosial seperti Facebook dan Instagram menggunakan Big Data
untuk menampilkan iklan yang relevan dengan minat pengguna. Platform
tersebut menggunakan Algoritma untuk menganalisis data aktivitas online,
seperti halaman yang disukai, postingan yang diikuti, dan interaksi dengan
konten kemudian menargetkan iklan yang sesuai dengan preferensi individu.
2. Rekomendasi Konten di Layanan Streaming
Layanan streaming seperti YouTube menggunakan Big Data untuk
merekomendasikan video atau konten yang mungkin disukai oleh pengguna.
Algortima menganalisis data tontonan, pencarian, dan komentar untuk
memahami selera pengguna. Kemudian merekomendasikan konten baru yang
sesuai minat pengguna.
3. Pendeteksian Penipuan di Perbankan
Bank dan institusi keuangan menggunakan Big Data untuk mendeteksi
aktivitas penipuan secara real-time. Caranya dengan menganalisis pola
transaksi yang mencurigakan dan membandingkannya dengan data historis.
Dengan begitu sistem dapat mengidentifikasi transaksi yang tidak biasa.
Outlier pada Data Analytic
Outlier adalah data yang berbeda secara signifikan dari data lainnya dalam
dataset. Outlier dapat berupa nilai yang sangat tinggi atau sangat rendah
dibandingkan dengan sebagian besar data lainnya. Kehadiran outlier bisa
disebabkan oleh variasi yang wajar dalam data atau bisa menunjukkan
kesalahan pengukuran atau pencatatan data.
Penyebab Outlier
- Kesalahan Pengukuran: Data yang salah dicatat atau alat pengukur yang tidak akurat.
- Kesalahan Pencatatan Data: Kesalahan dalam memasukkan data secara manual.
- Perubahan Sistematis dalam Kondisi: Kejadian yang tidak biasa atau kondisi ekstrem yang tidak mencerminkan situasi normal.
- Variasi Alamiah dalam Data: Data yang memang memiliki variasi yang sangat besar secara alami.
Tipe-tipe Outlier
1. Global Outlier
Global outlier adalah jenis outlier yang paling umum. Nilai ini terpisah
secara signifikan dari sebagian besar nilai lain dalam kumpulan data.
Sebagai contoh, dalam kumpulan data berat badan orang dewasa, seseorang
dengan berat badan 370 kg dianggap sebagai global outlier karena berat
badan tersebut berada jauh di luar rentang normal.
2. Contextual Outlier
Contextual outlier adalah nilai abnormal yang berada dalam konteks
tertentu, tetapi tidak secara keseluruhan. Misalnya, suhu udara 30
derajat celcius di musim panas mungkin dianggap normal. Namun, jika
terjadi pada musim dingin, nilai ini bisa dianggap sebagai contextual
outlier. Dalam kasus ini, 'musim' adalah konteks yang membuat suhu
tersebut menjadi outlier.
3. Collective Outlier
Collective outlier adalah sekumpulan nilai yang secara kolektif dianggap
abnormal, meski masing-masing nilai mungkin tidak dianggap outlier.
Contohnya, terjadi peningkatan tajam pada penjualan suatu produk dalam
beberapa hari berturut-turut. Nilai penjualan harian tersebut mungkin
dianggap normal, tetapi jika digabungkan dengan periode waktu lain,
peningkatan itu bisa saja abnormal dan merupakan collective outlier.
Penanganan Outlier
- Menghapus Outlier: Jika outlier dianggap sebagai kesalahan atau data yang tidak relevan, mereka dapat dihapus dari dataset.
- Mengubah Nilai Outlier: Mengganti nilai outlier dengan nilai yang lebih masuk akal, seperti rata-rata atau median dari data non-outlier.
- Memisahkan Analisis: Menganalisis data dengan dan tanpa outlier untuk memahami dampaknya terhadap hasil analisis.
Pandas DataFrame Library
Pandas adalah sebuah library Python bersifat open-source yang menyediakan
alat-alat untuk menganalisis dan memanipulasi data. Pandas menyediakan
berbagai alat dan fungsi untuk menangani data, mulai dari membaca,
membersihkan, hingga menganalisis data dalam berbagai format. Nama
"Pandas" berasal dari istilah "Panel Data," yang merujuk pada data
multidimensi.
Salah satu komponen utama dari Pandas adalah DataFrame. DataFrame
adalah struktur data dua dimensi yang menyerupai tabel, di mana data
disusun dalam baris dan kolom.
DataFrame dapat dibuat dari berbagai sumber data, termasuk:
- CSV (Comma-Separated Values)
- Excel file
- SQL databases
- JSON data
Cara Menggunakan Pandas
Pertama kita harus menginstall library Pandas menggunakan PIP. Kita bisa
ketik command berikut ini di terminal.
pip install pandas
Setelah itu, untuk mengggunakannya kita `import` modul pandas ke
file Python.
import pandas as pd
Contoh Penggunaan Pandas DataFrame
1. Membuat DataFrame
Program untuk menampilkan dictionary dalam bentuk DataFrame.
- `pd.DataFrame()` digunakan untuk mengubah data menjadi bentuk DataFrame.
import pandas as pd
# Membuat DataFrame dari dictionary
data = {
'Nama': ['Ali', 'Budi', 'Cici', 'Dewi'],
'Umur': [23, 25, 21, 30],
'Kota': ['Jakarta', 'Bandung', 'Surabaya', 'Medan']
}
df = pd.DataFrame(data)
# Menampilkan DataFrame
print(df)
Nama Umur Kota
0 Ali 23 Jakarta
1 Budi 25 Bandung
2 Cici 21 Surabaya
3 Dewi 30 Medan
2. Filter Data
Program untuk memfilter umur lebih dari 24 tahun.
- `df['Umur']` Mengambil data 'umur' pada DataFrame.
- `df['Umur'] > 24` Menetapkan kondisi dimana umur lebih/kurang dari 25 ditetapkan value
boolean (True/False) untuk setiap elemen yang ada di data 'umur'.
- `df[df['Umur'] > 24]` Mengambil data 'umur' yang sesuai dengan kondisi atau memiliki boolean
'True'.
import pandas as pd
data = {
'Nama': ['Ali', 'Budi', 'Cici', 'Dewi'],
'Umur': [23, 25, 21, 30],
'Kota': ['Jakarta', 'Bandung', 'Surabaya', 'Medan']
}
df = pd.DataFrame(data)
filtered_df = df[df['Umur'] > 24]
print(filtered_df)
Nama Umur Kota
1 Budi 25 Bandung
3 Dewi 30 Medan
3. Menggabungkan DataFrame
Program untuk menggabungkan dua DataFrame yang memili data 'Name' yang
sama.
- `pd.merge(df1, df2, on='Name')` Digunakan untuk menggabungkan `df1` dan `df2` yang
memiliki data 'Name' yang
sama.
import pandas as pd
data1 = {
'Name': ['Budi', 'Doni', 'Bambang', 'Siti'],
'Age': [25, 30, 35, 28]
}
df1 = pd.DataFrame(data1)
data2 = {
'Name': ['Budi', 'Doni', 'Bambang', 'Tensor'],
'City': ['New York', 'Los Angeles', 'Chicago', 'Atlantis']
}
df2 = pd.DataFrame(data2)
merged_df = pd.merge(df1, df2, on='Name')
print(merged_df)
Name Age City
0 Budi 25 New York
1 Doni 30 Los Angeles
2 Bambang 35 Chicago
Library Visualisasi data untuk Python
1. Matplotlib
Matplotlib adalah library di Python yang digunakan untuk membuat berbagai
jenis grafik dan visualisasi data. Dengan Matplotlib, pengguna dapat
membuat plot seperti garis, bar, histogram, scatter plot, dan banyak lagi,
serta menyesuaikan detail visualisasi seperti judul, label sumbu, dan
warna.
2. Seaborn
Seaborn adalah library yang dibangun di atas Matplotlib dan menyediakan
antarmuka yang lebih mudah digunakan untuk membuat visualisasi data
statistik yang menarik dan informatif.
3. Plotly
Plotly adalah library visualisasi data yang bersifat interaktif. Plotly
bisa diintegrasikan di dalam aplikasi web dan Jupyter Notebook. Plotly
mendukung berbagai jenis plot, termasuk scatter plots, line plots, bar
plots, heatmaps, dan banyak lagi. Plotly memungkinkan pengguna untuk
membuat visualisasi yang dapat berinteraksi langsung di browser, dengan
fitur seperti zoom, pan, dan hover tooltips.
4. Bokeh
Bokeh adalah library visualisasi yang dirancang untuk memungkinkan
pembuatan visualisasi data interaktif. Dibandingkan dengan Plotly, Bokeh
lebih fokus pada pembuatan visualisasi yang responsif dengan sedikit kode.
5. PyGWalker
PyGWalker adalah library Python yang mengintegrasikan Jupyter Notebook
dengan Graphic Walker, sebuah alternatif open-source untuk Tableau.
PyGWalker mengubah pandas DataFrame menjadi visualisasi interaktif hanya
dengan "drag and drop" komponen yang telah disediakan.
Machine Learning
Machine Learning (ML) adalah cabang dari
Artificial Intelligence (AI) yang fokus pada pengembangan algoritma
dan model yang memungkinkan komputer untuk belajar dari data dan membuat
prediksi atau keputusan tanpa diprogram secara eksplisit. Dengan kata
lain, melalui machine learning, sistem komputer dapat meningkatkan
kinerjanya secara otomatis berdasarkan pengalaman dan data historis.
Prinsip Dasar Machine Learning
Prinsip dasar dari machine learning adalah menggunakan data untuk melatih
model yang kemudian dapat digunakan untuk membuat prediksi atau keputusan.
Proses ini biasanya melibatkan beberapa langkah, yaitu:
1. Pengumpulan Data: Mengumpulkan dataset yang cukup besar dan
representatif untuk masalah yang ingin diselesaikan.
2. Pra-pemrosesan Data: Membersihkan dan menyiapkan data untuk
analisis, termasuk menangani missing values, normalisasi, dan pengkodean
fitur.
3. Pembagian Data: Memisahkan data menjadi set pelatihan dan set
pengujian untuk mengevaluasi kinerja model.
4. Pemilihan Model: Memilih algoritma machine learning yang sesuai,
seperti linear regression, decision tree, atau artifical neural network.
5. Pelatihan Model: Melatih model menggunakan set data pelatihan,
di mana model belajar menemukan pola atau hubungan dalam data.
6. Evaluasi Model: Menguji model pada set data pengujian untuk
menilai seberapa baik model tersebut bekerja.
7. Optimasi Model: Menyesuaikan model untuk meningkatkan
kinerjanya, seperti mengubah hiperparameter atau menggunakan teknik
ensemble.
8. Implementasi dan Penggunaan Model: Menggunakan model yang telah
dilatih untuk membuat prediksi atau keputusan pada data baru.
Model Machine Learning
1. Supervised Learning: Model dilatih menggunakan data yang
berlabel, yang berarti setiap contoh dalam dataset memiliki input dan
output yang sesuai. Supervised learning digunakan untuk masalah seperti
klasifikasi (misalnya, mengidentifikasi apakah email adalah spam atau
bukan) dan regresi (misalnya, memprediksi harga rumah berdasarkan
fitur-fitur tertentu).
2. Unsupervised Learning: Model dilatih menggunakan data yang tidak
berlabel, yang berarti hanya ada input tanpa output yang diketahui.
Unsupervised learning digunakan untuk menemukan pola tersembunyi atau
struktur dalam data, seperti segmentasi pelanggan.
3. Semi-supervised Learning: Menggabungkan supervised dan
unsupervised learning, di mana model dilatih menggunakan sejumlah kecil
data berlabel dan sejumlah besar data tidak berlabel. Pendekatan ini
berguna ketika pelabelan data mahal atau memakan waktu.
4. Reinforcement Learning: Model belajar melalui trial and error
untuk mencapai tujuan tertentu. Model menerima umpan balik dalam bentuk
reward atau punishment berdasarkan tindakan yang diambil. Contoh penerapan
reinforcement learning termasuk permainan catur atau pengendalian robot.
5. Deep Learning: Subset dari machine learning yang menggunakan
jaringan saraf tiruan (artifical neural network) dengan banyak lapisan
(deep neural networks) untuk memodelkan data yang kompleks dan abstrak.
Deep learning telah digunakan dengan sukses dalam pengenalan gambar,
pemrosesan bahasa alami, dan banyak bidang lainnya.
Cross validation
Cross-validation adalah teknik yang digunakan untuk menilai
seberapa baik model machine learning akan bekerja pada data yang tidak
terlihat sebelumnya. Tujuan utama dari cross-validation adalah untuk
memastikan bahwa model tidak overfitting atau
underfitting terhadap data pelatihan.
- Model yang overfitting "menghafal" data training dengan sangat detail, termasuk kebisingan dan variasi acak yang tidak relevan. Akibatnya, model memiliki performa sangat baik pada data training, tetapi sangat buruk pada data baru
- Model yang underfitting tidak mempelajari pola dan hubungan dalam data dengan baik. Akibatnya, model tidak dapat memprediksi dengan akurat saat dihadapkan dengan data baru yang belum pernah dilihat sebelumnya.
Cara Kerja Cross Validation
Cross-validation bekerja dengan membagi dataset menjadi beberapa bagian
yang disebut "fold". Misalnya, jika kita menggunakan 5-fold
cross-validation, data akan dibagi menjadi 5 bagian yang kurang lebih sama
besar.
- Pembagian Data: Dataset dibagi menjadi 5 bagian.
- Pelatihan dan Pengujian: Model dilatih menggunakan 4 bagian (fold) dan diuji pada bagian yang tersisa.
- Pengulangan: Proses pelatihan dan pengujian diulangi 5 kali, setiap kali menggunakan bagian yang berbeda sebagai data uji dan sisanya sebagai data latih.
- Evaluasi Kinerja: Hasil dari setiap pengujian dicatat, kemudian dihitung rata-rata untuk mendapatkan gambaran kinerja model secara keseluruhan.
Jenis-Jenis Cross-Validation
1. K-Fold Cross Validation
- Membagi data: Membagi dataset menjadi K subset (fold) yang sama besar.
- Pelatihan dan Evaluasi: Melatih model K kali, setiap kali menggunakan fold yang berbeda sebagai data testing dan K-1 fold lainnya sebagai data training.
- Keuntungan: Memberikan perkiraan performa model yang dapat dipercaya dan memastikan semua data digunakan.
- Kekurangan: Membutuhkan komputasi yang relatif lebih banyak.
2. Hold-Out Cross Validation
- Membagi data: Membagi dataset menjadi dua bagian: satu set training dan satu set testing yang terpisah.
- Pelatihan dan Evaluasi: Melatih model pada set training dan kemudian mengevaluasinya pada set testing.
- Keuntungan: Cepat dan mudah diterapkan.
- Kekurangan: Memiliki varians yang lebih tinggi karena partisi data secara acak dan tidak menggunakan semua data untuk training dan testing.
3. Stratified K-Fold Cross Validation:
- Membagi data: Mirip dengan K-Fold Cross Validation, tetapi memastikan keseimbangan distribusi kelas di setiap fold.
- Pelatihan dan Evaluasi: Melatih dan mengevaluasi model dengan cara yang sama seperti K-Fold Cross Validation.
- Keuntungan: Mencegah bias dalam evaluasi model untuk dataset tidak seimbang.
- Kekurangan: Membutuhkan komputasi yang relatif lebih banyak.
4. Leave-P-Out Cross Validation:
- Membagi data: Mengulangi pengujian model dengan tidak mengikutkan satu data (p) untuk pengujian dan menggunakan sisanya untuk training.
- Pelatihan dan Evaluasi: Melatih dan mengevaluasi model secara berulang untuk semua kemungkinan kombinasi tanpa nilai p.
- Keuntungan: Memberikan evaluasi performa model yang menyeluruh.
- Kekurangan: Membutuhkan komputasi yang sangat banyak.
Hyperparameter Tuning
Hyperparameter adalah parameter yang menentukan arsitektur dan
perilaku model, dan tidak dipelajari secara langsung dari data, namun
ditentukan sebelum model dilatih. Hyperparameter tuning adalah proses
untuk menentukan kombinasi optimal dari hyperparameter pada model machine
learning untuk meningkatkan performanya. Proses hyperparameter tuning
biasanya melibatkan banyak percobaan yang dilakukan secara berulang dengan
berbagai kombinasi nilai hyperparameter. Nantinya kita akan memilih
kombinasi yang bisa menghasilkan performa model terbaik.
Teknik Hyperparameter Tuning
- Grid Search: Grid search adalah teknik paling sederhana di mana kita menentukan daftar nilai yang mungkin untuk setiap hyperparameter yang ingin kita uji. Kemudian, model akan diuji menggunakan setiap kombinasi nilai hyperparameter tersebut, dan kita memilih kombinasi yang memberikan hasil terbaik.
- Random Search: Random search mirip dengan grid search, tetapi alih-alih mencoba semua kombinasi nilai hyperparameter, random search secara acak memilih kombinasi nilai dari distribusi yang diberikan. Hal ini memungkinkan eksplorasi yang lebih luas dari ruang hyperparameter, terutama saat jumlah hyperparameter besar atau ketika kita tidak memiliki pengetahuan sebelumnya tentang nilai optimal.
- Bayesian Optimization: Metode ini menggunakan pendekatan probabilistik untuk menentukan nilai hyperparameter yang optimal. BayesOpt, seperti yang sering disebut, memodelkan fungsi objektif sebagai distribusi probabilitas dan secara iteratif memperbarui modelnya berdasarkan hasil observasi sebelumnya. Ini memungkinkan algoritma untuk fokus pada area yang paling menjanjikan dalam ruang hyperparameter, mengurangi jumlah percobaan yang diperlukan untuk menemukan nilai optimal.
0 Komentar