Skip to main content

Python Manchine Learning

Pengantar Machine Learning​

Machine Learning merupakan salah satu bidang dalam kecerdasan buatan (Artificial Intelligence) yang memungkinkan komputer mempelajari pola dari data dan menghasilkan prediksi atau keputusan tanpa harus diberikan aturan secara eksplisit untuk setiap kondisi.

Dalam pemrograman tradisional, programmer menentukan aturan yang harus diikuti oleh komputer. Sementara itu, pada Machine Learning, programmer menyediakan data dan metode pembelajaran sehingga komputer dapat menemukan pola dari data tersebut.


Mengapa Membutuhkan Machine Learning?​

Untuk memahami Machine Learning, kita dapat membandingkannya dengan pendekatan pemrograman tradisional.

Pemrograman Tradisional​

Dalam pemrograman tradisional, programmer menentukan aturan secara eksplisit.

Contohnya:

Input
↓
Rules / Aturan
↓
Program
↓
Output

Programmer menentukan bagaimana program harus merespons setiap kondisi.

Contoh sederhana:

if nilai >= 75:
status = "Lulus"
else:
status = "Tidak Lulus"

Komputer menjalankan aturan tersebut sesuai dengan instruksi yang telah diberikan.

Pendekatan ini sangat efektif ketika masalah memiliki aturan yang jelas dan terstruktur.

Keterbatasan Pemrograman Tradisional​

Masalah muncul ketika kita berhadapan dengan kondisi dunia nyata yang jauh lebih kompleks.

Misalnya kita ingin membuat program yang dapat mengenali kucing dari sebuah gambar.

Secara teori, kita dapat mencoba membuat banyak aturan:

Memiliki bulu?
Memiliki kumis?
Memiliki telinga?
Memiliki mata?
Memiliki bentuk tertentu?

Namun, mendefinisikan semua karakteristik tersebut secara eksplisit menjadi sangat sulit.

Masalahnya semakin kompleks karena:

  • Bentuk kucing dapat berbeda.
  • Warna kucing dapat berbeda.
  • Posisi kucing dapat berbeda.
  • Kondisi pencahayaan dapat berbeda.
  • Gambar dapat memiliki latar belakang yang berbeda.

Akan sangat sulit jika semua kemungkinan tersebut harus ditulis menggunakan aturan if/else.


Machine Learning sebagai Pendekatan Berbasis Data​

Machine Learning menggunakan pendekatan yang berbeda.

Daripada menuliskan semua aturan secara manual, kita memberikan data kepada komputer dan membiarkan algoritma mempelajari pola yang terdapat di dalam data tersebut.

Secara sederhana:

Data
↓
Algoritma Machine Learning
↓
Proses Pembelajaran
↓
Model
↓
Prediksi

Misalnya kita ingin membuat sistem yang mengenali kucing.

Kita dapat memberikan banyak contoh gambar yang telah diberi label:

Gambar → Kucing
Gambar → Kucing
Gambar → Bukan Kucing
Gambar → Kucing
Gambar → Bukan Kucing

Model kemudian mempelajari pola dari data tersebut.

Setelah proses pembelajaran, model dapat digunakan untuk memberikan prediksi terhadap data baru.

Gambar Baru
↓
Model Machine Learning
↓
Prediksi
↓
Kucing / Bukan Kucing

Dengan pendekatan ini, programmer tidak perlu menuliskan setiap kemungkinan karakteristik kucing secara manual.


Perbedaan Pemrograman Tradisional dan Machine Learning​

Perbedaan sederhananya dapat digambarkan sebagai berikut.

Pemrograman Tradisional​

Data + Rules
↓
Program
↓
Output

Programmer menentukan rules yang digunakan program.

Machine Learning​

Data + Jawaban
↓
Algoritma
↓
Model
↓
Prediksi

Model mempelajari pola dari data yang diberikan.


Machine Learning dalam Kehidupan Sehari-hari​

Machine Learning sudah digunakan dalam berbagai aplikasi yang kita gunakan sehari-hari.

Teknologi ini memungkinkan komputer melakukan tugas yang sebelumnya sulit dilakukan menggunakan aturan sederhana.

Beberapa penerapannya antara lain:

Pengenalan Visual dan Gambar​

Machine Learning dapat digunakan untuk:

Image Classification
Object Detection
Face Detection
Vehicle Detection
Computer Vision

Teknologi seperti ini juga menjadi salah satu komponen penting dalam pengembangan kendaraan otonom.

Natural Language Processing​

Machine Learning juga digunakan untuk memproses bahasa manusia.

Contohnya:

Penerjemah bahasa
Analisis teks
Pengenalan bahasa
Pemrosesan dokumen
Chatbot

Bidang yang berkaitan dengan pemrosesan bahasa manusia dikenal sebagai Natural Language Processing (NLP).

Sistem Rekomendasi​

Machine Learning dapat mempelajari pola perilaku pengguna untuk memberikan rekomendasi.

Contohnya:

Rekomendasi film
Rekomendasi musik
Rekomendasi produk
Rekomendasi konten

Platform streaming dan e-commerce merupakan contoh layanan yang dapat memanfaatkan sistem rekomendasi.

Prediksi dan Analisis Data​

Machine Learning juga dapat digunakan untuk melakukan prediksi berdasarkan data historis.

Contohnya:

Prediksi harga
Deteksi fraud
Analisis tren
Prediksi permintaan

Tujuan akhirnya adalah menemukan pola yang dapat membantu proses pengambilan keputusan.


Komponen Penting dalam Machine Learning​

Ketika mulai mempelajari Machine Learning, kita akan sering bertemu dengan beberapa konsep utama.

Secara umum, prosesnya dapat digambarkan:

Data
↓
Data Processing
↓
Training
↓
Model
↓
Prediction
↓
Evaluation

Setiap tahap memiliki peran yang berbeda dalam membangun sistem Machine Learning.

Data​

Data merupakan bahan utama yang digunakan dalam proses Machine Learning.

Data dapat berupa:

Angka
Teks
Gambar
Audio
Video
Sensor

Kualitas data sangat berpengaruh terhadap hasil model.

Data Processing​

Data yang diperoleh biasanya perlu diproses sebelum digunakan.

Proses tersebut dapat meliputi:

Membersihkan data
Mengubah format
Menangani missing value
Memilih fitur
Mempersiapkan dataset

Training​

Pada tahap training, algoritma Machine Learning mempelajari pola dari data.

Training Data
↓
Algorithm
↓
Learning Process
↓
Model

Model​

Model merupakan hasil dari proses pembelajaran.

Model dapat digunakan untuk menghasilkan prediksi berdasarkan data baru.

Data Baru
↓
Model
↓
Prediction

Evaluation​

Model perlu dievaluasi untuk mengetahui seberapa baik performanya.

Evaluasi membantu kita memahami apakah model telah menghasilkan prediksi yang sesuai.


Python untuk Machine Learning​

Python merupakan salah satu bahasa pemrograman yang banyak digunakan dalam bidang Machine Learning karena memiliki ekosistem library yang luas.

Beberapa library yang akan sering ditemukan dalam pembelajaran Machine Learning menggunakan Python adalah:

NumPy
Pandas
scikit-learn

Masing-masing memiliki peran yang berbeda.

NumPy​

NumPy banyak digunakan untuk operasi numerik dan manipulasi data berbentuk array.

Contohnya digunakan untuk:

Array
Operasi matematika
Komputasi numerik
Linear algebra

Pandas​

Pandas banyak digunakan untuk mengolah dan menganalisis data.

Contohnya:

Membaca dataset
Membersihkan data
Filtering data
Transformasi data
Analisis data

scikit-learn​

scikit-learn menyediakan berbagai algoritma dan tools untuk Machine Learning.

Library ini dapat digunakan untuk berbagai kebutuhan seperti:

Classification
Regression
Clustering
Preprocessing
Model Evaluation

Alur Belajar Machine Learning​

Pembelajaran Machine Learning sebaiknya dilakukan secara bertahap.

Secara umum:

Python
↓
NumPy
↓
Pandas
↓
Data Processing
↓
Data Visualization
↓
Machine Learning
↓
Model Training
↓
Model Evaluation
↓
Project

Karena kita sudah mempelajari dasar Python, OOP, functional programming, decorator, error handling, generator, module, package, virtual environment, dan beberapa Standard Library, kita sudah memiliki fondasi Python yang cukup untuk mulai masuk ke bidang pengolahan data dan Machine Learning.


Dari Python ke Machine Learning​

Python yang telah dipelajari sebelumnya akan menjadi dasar untuk tahap berikutnya.

Contohnya:

Python Fundamental
↓
Data Structures
↓
Functions
↓
OOP
↓
Modules & Packages
↓
Virtual Environment
↓
NumPy
↓
Pandas
↓
Data Analysis
↓
Machine Learning

Dengan demikian, pembelajaran Machine Learning bukan berarti meninggalkan materi Python sebelumnya.

Sebaliknya, konsep Python tersebut akan digunakan untuk membangun program pengolahan data dan model Machine Learning.


Tujuan Pembelajaran​

Pada tahap awal Machine Learning, fokus pembelajaran bukan langsung membuat model yang kompleks.

Hal yang lebih penting adalah memahami konsep dasar:

Apa itu Machine Learning?
↓
Bagaimana komputer belajar dari data?
↓
Bagaimana data dipersiapkan?
↓
Bagaimana model dilatih?
↓
Bagaimana model menghasilkan prediksi?
↓
Bagaimana performa model dievaluasi?

Setelah memahami konsep tersebut, kita dapat mulai mempelajari algoritma Machine Learning secara lebih mendalam.


Ringkasan​

Machine Learning memungkinkan komputer mempelajari pola dari data tanpa programmer harus menentukan seluruh aturan secara eksplisit.

Perbandingan sederhananya:

Pemrograman Tradisional

Rules
↓
Program
↓
Output

Sedangkan:

Machine Learning

Data
↓
Algorithm
↓
Model
↓
Prediction

Machine Learning dapat diterapkan pada berbagai bidang, seperti:

Computer Vision
NLP
Recommendation System
Prediction
Fraud Detection
Data Analysis

Dalam ekosistem Python, beberapa library yang penting untuk mulai dikenal adalah:

NumPy
Pandas
scikit-learn

Tahap berikutnya adalah mempelajari bagaimana Python digunakan untuk mengolah, menganalisis, dan mempersiapkan data sebelum data tersebut digunakan dalam proses Machine Learning.