Skip to main content

Tools Machine Learning

Machine Learning tidak hanya membutuhkan algoritma. Dalam praktiknya, seorang praktisi Machine Learning menggunakan berbagai bahasa pemrograman, library, dan environment untuk menjalankan proses mulai dari mengolah data hingga membangun model.

Secara sederhana, ekosistemnya dapat digambarkan seperti berikut:

Machine Learning
│
┌──────────────────┼──────────────────┐
│ │ │
Python Data Tools ML Tools
│ │ │
│ ┌───────┼───────┐ │
│ │ │ │ │
│ NumPy Pandas Matplotlib scikit-learn
│
└─────────────────────────────────────┐
│
Deep Learning
│
┌───────┴───────┐
│ │
TensorFlow PyTorch

Untuk menjalankan dan bereksperimen dengan kode, praktisi juga dapat menggunakan Jupyter Notebook sebagai environment interaktif.


Python​

Python merupakan salah satu bahasa pemrograman utama yang banyak digunakan dalam Machine Learning dan Data Science.

Beberapa alasan Python banyak digunakan antara lain:

  • Sintaks relatif sederhana dan mudah dibaca.
  • Memiliki ekosistem library yang sangat luas.
  • Mendukung berbagai kebutuhan mulai dari pengolahan data hingga Machine Learning dan Deep Learning.
  • Banyak digunakan dalam pembelajaran maupun pengembangan aplikasi Machine Learning.

Python dapat menjadi dasar yang menghubungkan berbagai library dalam ekosistem Machine Learning.

Python
│
├── NumPy
├── Pandas
├── Matplotlib
├── scikit-learn
├── TensorFlow
└── PyTorch

NumPy​

NumPy digunakan untuk melakukan komputasi numerik dan bekerja dengan array multidimensi.

NumPy sangat penting dalam ekosistem Python karena menyediakan struktur dan operasi numerik yang efisien.

Contoh penggunaannya dalam Machine Learning antara lain:

Array
Matriks
Operasi Numerik
Perhitungan Matematis

Secara sederhana:

Data Numerik
↓
NumPy
↓
Operasi / Perhitungan

NumPy juga menjadi salah satu fondasi bagi berbagai library pengolahan dan analisis data dalam Python.


Pandas​

Pandas digunakan untuk memanipulasi dan menganalisis data terstruktur.

Salah satu struktur data utama yang digunakan Pandas adalah DataFrame.

DataFrame dapat dibayangkan seperti tabel:

Name Age Salary
-----------------------
Budi 25 5000000
Andi 30 7000000
Siti 27 6000000

Pandas sangat berguna dalam tahap persiapan data, terutama untuk:

  • Membaca dataset.
  • Memeriksa data.
  • Membersihkan data.
  • Memanipulasi kolom dan baris.
  • Menyiapkan data sebelum digunakan untuk Machine Learning.

Alur sederhananya:

Dataset
↓
Pandas
↓
Data Cleaning
↓
Data Preparation
↓
Machine Learning

Matplotlib​

Matplotlib digunakan untuk membuat visualisasi data.

Visualisasi membantu manusia memahami pola atau hubungan yang terdapat di dalam dataset.

Contohnya:

Data
↓
Matplotlib
↓
Graph / Chart
↓
Analisis Visual

Beberapa bentuk visualisasi yang dapat dibuat antara lain:

Line Chart
Bar Chart
Scatter Plot
Histogram

Visualisasi sangat berguna sebelum membuat model karena dapat membantu kita memahami karakteristik data.


scikit-learn​

scikit-learn merupakan salah satu library utama Python untuk Machine Learning.

Library ini menyediakan berbagai algoritma Machine Learning yang siap digunakan.

Beberapa algoritma yang tersedia antara lain:

Decision Tree
Random Forest
K-Nearest Neighbors
Linear Regression

Selain menyediakan algoritma, scikit-learn juga menyediakan berbagai tools yang membantu workflow Machine Learning.

Secara sederhana:

Dataset
↓
scikit-learn
↓
Train Model
↓
Prediction
↓
Evaluation

Dengan library seperti scikit-learn, programmer tidak perlu mengimplementasikan seluruh algoritma Machine Learning dari awal.


TensorFlow dan PyTorch​

Ketika kebutuhan Machine Learning menjadi lebih kompleks, kita dapat memasuki bidang Deep Learning.

Dua library yang banyak digunakan untuk Deep Learning adalah:

TensorFlow
PyTorch

Keduanya dapat digunakan untuk membangun dan melatih Neural Networks.

Secara sederhana:

Machine Learning
↓
Deep Learning
↓
Neural Network
↓
TensorFlow / PyTorch

Deep Learning banyak digunakan pada berbagai masalah kompleks, seperti:

Image Recognition
Speech / Audio
Natural Language Processing

TensorFlow dikembangkan oleh Google, sedangkan PyTorch dikembangkan oleh Meta.


Jupyter Notebook​

Jupyter Notebook merupakan environment interaktif yang banyak digunakan dalam Data Science dan Machine Learning.

Berbeda dengan menjalankan program Python sebagai satu file secara keseluruhan, Jupyter Notebook memungkinkan kita menjalankan kode dalam beberapa cell.

Contohnya:

Cell 1
↓
Import Library

Cell 2
↓
Load Dataset

Cell 3
↓
Data Analysis

Cell 4
↓
Visualization

Cell 5
↓
Machine Learning

Hasil kode dapat ditampilkan langsung di dalam notebook.

Misalnya:

Kode Python
↓
Jalankan Cell
↓
Output
↓
Tabel / Grafik

Hal ini membuat Jupyter Notebook sangat cocok untuk proses eksplorasi data dan eksperimen Machine Learning.


Hubungan Antar Tools​

Tools dalam ekosistem Machine Learning biasanya tidak digunakan secara terpisah.

Sebuah workflow sederhana dapat menggunakan beberapa tools sekaligus:

Dataset
↓
Pandas
↓
Data Cleaning
↓
NumPy
↓
Numerical Processing
↓
Matplotlib
↓
Data Visualization
↓
scikit-learn
↓
Train Model
↓
Prediction
↓
Evaluation

Untuk eksperimen, seluruh proses tersebut dapat dilakukan menggunakan Jupyter Notebook.

Jupyter Notebook
│
┌───────────────┼────────────────┐
↓ ↓ ↓
Pandas NumPy Matplotlib
│ │ │
└───────────────┼────────────────┘
↓
scikit-learn
↓
Model

Kapan Menggunakan Masing-Masing Tools?​

ToolFungsi Utama
PythonBahasa pemrograman utama
NumPyKomputasi numerik dan array
PandasManipulasi dan analisis data
MatplotlibVisualisasi data
scikit-learnMachine Learning
TensorFlowDeep Learning
PyTorchDeep Learning
Jupyter NotebookEnvironment interaktif untuk eksperimen

Workflow Sederhana Machine Learning dengan Python​

Bayangkan kita mendapatkan dataset dari sebuah file CSV.

Tahap awal:

CSV
↓
Pandas
↓
DataFrame

Kemudian kita membersihkan dan mempersiapkan data:

DataFrame
↓
Data Cleaning
↓
Data Preparation

Selanjutnya kita dapat menggunakan NumPy untuk kebutuhan komputasi numerik tertentu:

Prepared Data
↓
NumPy
↓
Numerical Processing

Kemudian kita dapat memvisualisasikan data menggunakan Matplotlib:

Data
↓
Matplotlib
↓
Visualization

Setelah data siap, kita dapat menggunakan scikit-learn untuk membuat model:

Prepared Data
↓
scikit-learn
↓
Training
↓
Model
↓
Prediction

Jika masalah yang dihadapi membutuhkan Deep Learning, kita dapat menggunakan framework seperti TensorFlow atau PyTorch.


Machine Learning vs Deep Learning​

Penting untuk memahami posisi tools tersebut dalam ekosistem yang lebih luas.

Artificial Intelligence
│
└── Machine Learning
│
└── Deep Learning

Tools yang digunakan dapat berbeda tergantung kebutuhan:

Machine Learning
↓
scikit-learn

Sedangkan untuk Deep Learning:

Deep Learning
↓
TensorFlow / PyTorch

Sementara library seperti NumPy, Pandas, dan Matplotlib dapat mendukung berbagai tahap pengolahan dan analisis data.


Ekosistem Machine Learning​

Secara keseluruhan, ekosistem yang perlu mulai dikenali adalah:

Python
│
┌─────────────┼─────────────┐
│ │ │
NumPy Pandas Matplotlib
│ │ │
└─────────────┼─────────────┘
│
↓
scikit-learn
│
↓
Machine Learning
│
↓
Deep Learning
/ \
/ \
TensorFlow PyTorch

Sedangkan Jupyter Notebook dapat digunakan sebagai lingkungan untuk menjalankan dan mendokumentasikan proses tersebut.


Ringkasan​

Beberapa tools utama yang perlu dipahami:

Python​

Bahasa pemrograman yang digunakan untuk membangun berbagai solusi Machine Learning dan Data Science.

NumPy​

Digunakan untuk komputasi numerik dan pengolahan array.

Pandas​

Digunakan untuk mengolah, membersihkan, dan menganalisis data terstruktur menggunakan DataFrame.

Matplotlib​

Digunakan untuk membuat visualisasi sehingga pola dalam data lebih mudah dipahami.

scikit-learn​

Digunakan untuk membangun model Machine Learning menggunakan berbagai algoritma yang tersedia.

TensorFlow dan PyTorch​

Digunakan untuk kebutuhan Deep Learning dan pembangunan Neural Network.

Jupyter Notebook​

Digunakan sebagai environment interaktif untuk menjalankan kode, melakukan eksperimen, menganalisis data, dan menampilkan visualisasi.


Kesimpulan​

Machine Learning merupakan ekosistem yang terdiri dari berbagai tools yang saling melengkapi.

Kita dapat membayangkan pembagian perannya seperti berikut:

Python
↓
Bahasa Pemrograman

NumPy
↓
Komputasi Numerik

Pandas
↓
Pengolahan Data

Matplotlib
↓
Visualisasi

scikit-learn
↓
Machine Learning

TensorFlow / PyTorch
↓
Deep Learning

Jupyter Notebook
↓
Environment Eksperimen

Memahami fungsi masing-masing tool lebih penting daripada mencoba menghafal seluruh API-nya. Dalam perjalanan belajar Machine Learning, tools tersebut akan digunakan secara bertahap sesuai dengan kebutuhan proyek dan jenis masalah yang sedang diselesaikan.