Skip to main content

Jenis-Jenis Data

Pada tahap kedua dalam Machine Learning Framework, kita mulai berfokus pada data.

Setelah sebelumnya kita menentukan masalah yang ingin diselesaikan, pertanyaan berikutnya adalah:

"Data apa yang kita miliki dan seperti apa karakteristiknya?"

Data merupakan salah satu komponen paling penting dalam Machine Learning karena model belajar menemukan pola berdasarkan data yang diberikan.

Secara sederhana:

Problem

Data

Pattern

Model

Prediction

Semakin baik kita memahami data, semakin baik pula keputusan yang dapat kita ambil ketika melakukan preprocessing, memilih fitur, memilih model, dan mengevaluasi hasilnya.


Mengapa Memahami Jenis Data Penting?

Tidak semua data memiliki bentuk dan karakteristik yang sama.

Kita dapat memiliki:

  • data tabel,
  • gambar,
  • teks,
  • audio,
  • video,
  • data sensor,
  • data transaksi,
  • dan berbagai bentuk lainnya.

Cara menangani masing-masing data tersebut dapat berbeda.

Misalnya:

Data harga rumah
→ tabel
→ Structured Data

Foto kucing
→ gambar
→ Unstructured Data

Rekaman suara
→ audio
→ Unstructured Data

Memahami jenis data membantu kita menentukan teknik yang tepat untuk mengolah dan menggunakan data tersebut.


Structured Data

Structured Data atau data terstruktur adalah data yang memiliki struktur yang jelas dan tersusun dalam format tertentu.

Bentuk yang paling umum adalah tabel dengan:

  • baris,
  • kolom,
  • nama kolom,
  • dan tipe data yang relatif jelas.

Contohnya:

NamaUsiaBeratTekanan DarahPenyakit
Andi2565120Tidak
Budi4580140Ya
Citra3260125Tidak

Setiap baris biasanya merepresentasikan satu observasi atau entitas.

Setiap kolom merepresentasikan sebuah variabel atau fitur.


Contoh Structured Data

Structured Data dapat ditemukan dalam berbagai bentuk, misalnya:

  • file CSV,
  • file Excel,
  • tabel database,
  • data transaksi,
  • data pelanggan,
  • data penjualan,
  • data sensor yang sudah ditabulasikan.

Contoh file CSV:

nama,usia,berat,tekanan_darah,penyakit
Andi,25,65,120,Tidak
Budi,45,80,140,Ya
Citra,32,60,125,Tidak

Data tersebut memiliki struktur yang jelas.

Kita mengetahui:

Kolom:
nama
usia
berat
tekanan_darah
penyakit

Structured Data dengan Pandas

Dalam Python, Structured Data sering diproses menggunakan Pandas.

Contoh:

import pandas as pd

df = pd.read_csv("data_pasien.csv")

print(df.head())

Output secara konseptual akan terlihat seperti:

nama usia berat tekanan_darah penyakit
0 Andi 25 65 120 Tidak
1 Budi 45 80 140 Ya
2 Citra 32 60 125 Tidak

Kita kemudian dapat melakukan eksplorasi data:

print(df.info())
print(df.describe())

Karakteristik Structured Data

Beberapa karakteristik umum Structured Data:

  • memiliki format yang relatif konsisten,
  • tersusun dalam baris dan kolom,
  • mudah disimpan dalam database,
  • relatif mudah dianalisis menggunakan Pandas,
  • dapat digunakan oleh banyak algoritma Machine Learning klasik.

Contoh sederhana:

Feature 1


┌───────────────┐
│ Data │
├───────┬───────┤
│ Usia │ Berat │
├───────┼───────┤
│ 25 │ 65 │
│ 32 │ 60 │
│ 45 │ 80 │
└───────┴───────┘

Unstructured Data

Unstructured Data atau data tidak terstruktur adalah data yang tidak memiliki struktur tabel yang tetap seperti Structured Data.

Contohnya:

  • gambar,
  • teks,
  • audio,
  • video,
  • dokumen,
  • rekaman percakapan.

Contoh gambar:

Foto

┌─────────────────┐
│ │
│ 🐱 │
│ │
│ Kucing │
│ │
└─────────────────┘

Tidak terdapat kolom seperti:

usia
berat
tinggi

seperti pada dataset tabel.


Contoh Unstructured Data

Contohnya:

Foto wajah
Foto kendaraan
Foto hewan
Foto produk
Foto X-Ray

Data gambar dapat digunakan untuk:

  • image classification,
  • object detection,
  • face recognition,
  • medical imaging.

Contohnya:

Email
Artikel
Pesan chat
Review pelanggan
Transkrip percakapan
Dokumen

Teks dapat digunakan untuk:

  • sentiment analysis,
  • spam detection,
  • text classification,
  • information extraction,
  • natural language processing.

Contohnya:

Rekaman telepon
Podcast
Perintah suara
Rekaman wawancara

Audio dapat digunakan untuk:

  • speech recognition,
  • speaker identification,
  • audio classification.

Video merupakan kumpulan frame gambar yang berlangsung sepanjang waktu.

Contohnya:

CCTV
Video kendaraan
Video olahraga
Video pembelajaran

Video dapat digunakan untuk:

  • object tracking,
  • activity recognition,
  • surveillance,
  • video classification.

Apakah Unstructured Data Benar-Benar Tidak Bisa Diproses?

Istilah unstructured bukan berarti data tersebut tidak dapat diproses oleh komputer.

Data tersebut tetap dapat diubah menjadi representasi numerik sehingga dapat diproses oleh Machine Learning.

Contohnya sebuah gambar pada akhirnya dapat direpresentasikan sebagai nilai pixel.

Secara sederhana:

Gambar

Pixel

Nilai numerik

Model Machine Learning

Begitu pula teks dapat diubah menjadi representasi numerik.

Teks

Tokenisasi

Representasi numerik

Model

Audio juga dapat diubah menjadi representasi numerik.

Jadi, perbedaan utamanya adalah bentuk data asalnya, bukan berarti data tersebut tidak dapat diproses.


Structured vs Unstructured Data

Perbandingan sederhananya:

Structured DataUnstructured Data
Memiliki struktur tabelTidak memiliki struktur tabel tetap
Baris dan kolomGambar, teks, audio, video
CSVFoto
ExcelVideo
DatabaseAudio
Relatif mudah dianalisisBiasanya membutuhkan preprocessing khusus

Contoh:

Structured
┌───────┬───────┬────────┐
│ Usia │ Berat │ Tinggi │
├───────┼───────┼────────┤
│ 25 │ 65 │ 170 │
│ 30 │ 70 │ 175 │
└───────┴───────┴────────┘

Sedangkan:

Unstructured

┌───────────────┐
│ │
│ FOTO │
│ │
└───────────────┘

Static Data

Selain membedakan data berdasarkan bentuknya, kita juga dapat melihat bagaimana data tersebut berubah dari waktu ke waktu.

Salah satu jenisnya adalah Static Data.

Static Data adalah data yang relatif tidak berubah setelah data tersebut dikumpulkan.

Contohnya:

data.csv

yang berisi rekam medis pasien pada waktu tertentu.

Misalnya:

patient_id,age,blood_pressure,cholesterol
001,45,140,240
002,32,120,180
003,61,150,270

Setelah file tersebut dibuat, datanya tidak otomatis berubah.


Contoh Static Data

Contoh Static Data:

  • dataset penelitian,
  • file CSV,
  • file Excel,
  • data historis transaksi,
  • dataset hasil survei,
  • dataset Machine Learning.

Misalnya kita memiliki dataset:

heart_disease.csv

Kemudian kita melakukan analisis menggunakan Jupyter Notebook.

heart_disease.csv

Jupyter Notebook

Data Analysis

Machine Learning

Dataset tersebut dapat digunakan berulang kali untuk eksperimen.


Streaming Data

Berbeda dengan Static Data, Streaming Data adalah data yang terus masuk atau berubah seiring waktu.

Contohnya:

Data Sensor

Data masuk terus-menerus

Sistem

Model

Prediction

Data tidak hanya tersedia sebagai satu file yang selesai dibuat, tetapi terus diperbarui.


Contoh Streaming Data

Beberapa contoh:

  • harga saham,
  • data sensor IoT,
  • transaksi online,
  • data lokasi kendaraan,
  • data monitoring server,
  • aktivitas pengguna,
  • data cuaca,
  • data lalu lintas.

Misalnya harga saham berubah:

09:00 → 10.000
09:01 → 10.050
09:02 → 10.020
09:03 → 10.100
09:04 → 10.150

Data terus berubah berdasarkan waktu dan kondisi terbaru.


Static Data vs Streaming Data

Perbedaannya:

Static DataStreaming Data
Relatif tetapTerus berubah
Biasanya diproses dari datasetDiproses saat data masuk
Contoh CSVSensor real-time
Data historisData terbaru
Cocok untuk eksperimen awalCocok untuk sistem real-time

Contoh sederhana:

Static Data

dataset.csv

Analisis

Training

Model

Sedangkan:

Streaming Data

Data 1 ─┐
Data 2 ─┤
Data 3 ─┼──→ Sistem ──→ Model
Data 4 ─┤
Data 5 ─┘

Prinsip Data dalam Machine Learning

Pada Machine Learning, kita sering membutuhkan contoh yang cukup agar model dapat menemukan pola.

Secara sederhana:

Semakin banyak data yang relevan dan berkualitas, semakin banyak contoh yang tersedia bagi model untuk mempelajari pola.

Namun, lebih banyak data tidak otomatis berarti model lebih baik.

Kualitas data juga sangat penting.

Misalnya:

1.000 data berkualitas

bisa lebih berguna daripada:

100.000 data yang penuh kesalahan

Karena itu kita perlu memperhatikan:

  • kualitas data,
  • relevansi data,
  • kelengkapan data,
  • representasi data,
  • dan kualitas label.

Mengapa Biasanya Memulai dari Static Data?

Dalam pengembangan Machine Learning, kita sering memulai dari Static Data.

Alasannya karena static dataset lebih mudah digunakan untuk:

  • eksplorasi,
  • visualisasi,
  • preprocessing,
  • eksperimen,
  • training,
  • evaluasi,
  • dan perbandingan model.

Contohnya:

CSV

Jupyter Notebook

EDA

Preprocessing

Training

Evaluation

Setelah model cukup matang, sistem dapat dikembangkan untuk menangani data yang masuk secara real-time.


Workflow Data Science dan Machine Learning

Secara umum, proses Data Science dan Machine Learning dapat dimulai dari data yang tersedia.

Workflow sederhananya:

Data

Explore

Analyze

Visualize

Prepare

Model

Evaluate

Improve

Deploy

Setiap tahap memiliki tujuan yang berbeda.


Step 1 - Membuka Data

Pertama kita perlu membuka dataset.

Misalnya kita memiliki file:

data.csv

Kita dapat menggunakan Pandas:

import pandas as pd

df = pd.read_csv("data.csv")

print(df.head())

head() digunakan untuk melihat beberapa baris pertama dataset.


Step 2 - Mengeksplorasi Data

Setelah data dibuka, kita perlu memahami isinya.

Beberapa perintah yang umum digunakan:

print(df.shape)
print(df.columns)
print(df.info())
print(df.describe())

Kita juga dapat memeriksa missing value:

print(df.isna().sum())

Tujuannya adalah mendapatkan gambaran awal mengenai dataset.


Step 3 - Visualisasi Data

Data juga perlu divisualisasikan.

Visualisasi membantu kita melihat pola yang mungkin sulit ditemukan hanya dengan melihat tabel.

Contoh menggunakan Matplotlib:

import matplotlib.pyplot as plt

df["usia"].hist()

plt.xlabel("Usia")
plt.ylabel("Jumlah")
plt.title("Distribusi Usia")
plt.show()

Dengan visualisasi kita dapat melihat:

  • distribusi data,
  • hubungan antarvariabel,
  • outlier,
  • pola,
  • dan kemungkinan masalah pada dataset.

Step 4 - Mempersiapkan Data

Sebelum digunakan untuk training, data biasanya perlu dipersiapkan.

Tahapan preprocessing dapat mencakup:

Missing Values

Duplicate

Outlier

Encoding

Scaling

Feature Selection

Tidak semua dataset membutuhkan semua tahap tersebut.

Preprocessing bergantung pada karakteristik data dan algoritma yang digunakan.


Step 5 - Membangun Model

Setelah data siap, kita dapat membangun model Machine Learning.

Salah satu library populer untuk Machine Learning klasik di Python adalah scikit-learn.

Contoh:

from sklearn.linear_model import LinearRegression

model = LinearRegression()

model.fit(X_train, y_train)

Setelah model dilatih, kita dapat melakukan prediksi:

predictions = model.predict(X_test)

Step 6 - Mengevaluasi Model

Model harus dievaluasi menggunakan metric yang sesuai.

Contohnya untuk regression:

from sklearn.metrics import mean_absolute_error

mae = mean_absolute_error(
y_test,
predictions
)

print("MAE:", mae)

Untuk classification kita dapat menggunakan metric seperti:

  • Accuracy,
  • Precision,
  • Recall,
  • F1 Score.

Sedangkan regression dapat menggunakan:

  • MAE,
  • MSE,
  • RMSE,
  • R².

Step 7 - Eksperimen dan Improvement

Jika model belum memberikan hasil yang baik, kita tidak langsung berhenti.

Kita dapat melakukan eksperimen.

Misalnya:

Model pertama

Evaluation

Hasil kurang baik

Perbaiki preprocessing

Coba feature lain

Coba model lain

Tuning

Evaluation kembali

Proses ini merupakan bagian normal dari Machine Learning.


Step 8 - Deployment

Setelah model dianggap cukup baik, model dapat digunakan dalam sistem nyata.

Misalnya:

Jupyter Notebook

Training

Model

API

Application

Contohnya model Machine Learning dapat dibuat menjadi API menggunakan FastAPI.

Aplikasi lain kemudian dapat mengirim data:

Application

HTTP Request

FastAPI

ML Model

Prediction

HTTP Response

Dengan demikian model dapat digunakan oleh aplikasi lain.


Dari Static Data ke Streaming Data

Pengembangan sistem Machine Learning tidak harus langsung menggunakan real-time data.

Biasanya proses dapat dimulai secara sederhana:

Static Dataset

Exploration

Preprocessing

Model Training

Evaluation

Deployment

Setelah model digunakan dalam sistem nyata, kita dapat mulai menangani data yang terus masuk:

Streaming Data

Data Processing

Trained Model

Real-time Prediction

Application

Contohnya sistem rekomendasi dapat menerima aktivitas pengguna secara terus-menerus dan menghasilkan rekomendasi berdasarkan data terbaru.


Contoh Perjalanan Data dalam Proyek Machine Learning

Misalnya kita ingin membangun model untuk memprediksi harga rumah.

Data Awal

Kita memiliki:

rumah.csv

dengan data:

luas
kamar
kamar_mandi
lokasi
harga

Eksplorasi

Kita membuka data:

import pandas as pd

df = pd.read_csv("rumah.csv")

print(df.head())
print(df.info())
print(df.describe())

Kemudian melakukan visualisasi.


Menentukan Feature dan Target

X = df[
[
"luas",
"kamar",
"kamar_mandi"
]
]

y = df["harga"]

Di sini:

X → Features
y → Target

Training

Data kemudian dibagi menjadi training dan testing.

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.2,
random_state=42
)

Kemudian model dilatih:

from sklearn.linear_model import LinearRegression

model = LinearRegression()

model.fit(X_train, y_train)

Prediction

Setelah training:

y_pred = model.predict(X_test)

Model menghasilkan prediksi harga.


Evaluation

Kemudian kita mengukur performanya:

from sklearn.metrics import mean_absolute_error

mae = mean_absolute_error(
y_test,
y_pred
)

print("MAE:", mae)

Proses tersebut merupakan contoh sederhana workflow Machine Learning menggunakan Static Data.


Hubungan Jenis Data dengan Machine Learning

Kita dapat mengelompokkan pembahasan data menjadi dua sudut pandang.

Berdasarkan Bentuk

Data

├── Structured Data
│ ├── CSV
│ ├── Excel
│ └── Database

└── Unstructured Data
├── Image
├── Text
├── Audio
└── Video

Berdasarkan Perubahan Waktu

Data

├── Static Data

└── Streaming Data

Kedua klasifikasi tersebut berbeda.

Sebuah data dapat memiliki kombinasi karakteristik tertentu.

Misalnya:

CSV historis
→ Structured + Static

Sedangkan data sensor yang masuk secara real-time:

Sensor IoT
→ dapat berupa structured/semi-structured + streaming

Jadi, Structured/Unstructured menjelaskan bentuk data, sedangkan Static/Streaming menjelaskan bagaimana data tersedia atau berubah terhadap waktu.


Hal Penting tentang Data

Ada beberapa prinsip yang perlu diingat.

Data Adalah Bahan Bakar Machine Learning

Model Machine Learning belajar berdasarkan data.

Data

Learning

Model

Prediction

Tanpa data yang sesuai, model sulit menghasilkan prediksi yang dapat diandalkan.


Lebih Banyak Tidak Selalu Lebih Baik

Kuantitas penting, tetapi kualitas juga sangat penting.

Misalnya:

100.000 data buruk

tidak selalu lebih baik daripada:

10.000 data berkualitas

Karena itu kita perlu memperhatikan kualitas dataset.


Data Harus Relevan

Data harus berhubungan dengan masalah yang ingin diselesaikan.

Jika ingin memprediksi harga rumah, feature seperti:

luas
jumlah kamar
lokasi
kondisi rumah

kemungkinan lebih relevan daripada informasi yang tidak memiliki hubungan dengan harga.


Data Dunia Nyata Tidak Selalu Bersih

Dataset nyata dapat memiliki:

Missing Value
Duplicate
Outlier
Kesalahan input
Format tidak konsisten
Data tidak seimbang

Karena itu, memahami data merupakan bagian penting dari workflow Machine Learning.


Checklist Memahami Data

Sebelum melanjutkan ke proses Machine Learning, biasakan memeriksa:

□ Apa sumber data?
□ Structured atau Unstructured?
□ Static atau Streaming?
□ Berapa jumlah data?
□ Apa saja feature yang tersedia?
□ Apa targetnya?
□ Apakah terdapat missing value?
□ Apakah terdapat duplicate?
□ Apakah terdapat outlier?
□ Apakah data relevan dengan masalah?
□ Apakah data cukup mewakili masalah?
□ Bagaimana data akan digunakan untuk training?

Checklist tersebut membantu kita memahami dataset sebelum melakukan modeling.


Ringkasan

Pada tahap Data, kita perlu memahami jenis dan karakteristik data yang tersedia.

Berdasarkan bentuknya, data dapat dibagi menjadi:

Structured Data
→ Data berbentuk tabel dengan struktur yang jelas

Unstructured Data
→ Data seperti gambar, teks, audio, dan video

Berdasarkan perubahan waktunya:

Static Data
→ Data relatif tetap

Streaming Data
→ Data terus masuk atau berubah dari waktu ke waktu

Workflow sederhananya:

Data

Explore

Analyze

Visualize

Prepare

Model

Evaluate

Improve

Deploy

Hal penting yang perlu diingat:

Machine Learning tidak dimulai dari algoritma, tetapi dari pemahaman terhadap masalah dan data.

Semakin baik kita memahami data, semakin mudah menentukan preprocessing, feature, algoritma, dan strategi evaluasi yang sesuai.

Pada materi berikutnya, kita akan mulai membahas Evaluation, yaitu bagaimana menentukan ukuran keberhasilan sebuah model Machine Learning dan bagaimana memilih metric yang tepat untuk mengukur performanya.