Contoh Program Machine Learning Python Sederhana

Fitur (X) Target (Y) Model Visualisasi Pembelajaran Data

Machine Learning (ML) adalah cabang dari Kecerdasan Buatan (AI) yang memungkinkan sistem belajar dari data, mengidentifikasi pola, dan membuat keputusan atau prediksi dengan intervensi manusia minimal. Python telah menjadi bahasa pilihan utama dalam bidang ini berkat ekosistem pustaka yang kaya seperti NumPy, Pandas, Scikit-learn, dan TensorFlow.

Mengapa Python Populer untuk Machine Learning?

Popularitas Python tidak terlepas dari sintaksnya yang bersih dan mudah dibaca, yang mempercepat iterasi pengembangan. Selain itu, komunitas yang besar memastikan dukungan yang berkelanjutan dan ketersediaan berbagai alat siap pakai. Pustaka inti seperti Scikit-learn menyediakan algoritma ML klasik yang siap digunakan untuk klasifikasi, regresi, dan pengelompokan, menjadikannya titik awal yang sangat baik untuk setiap pemula.

Contoh Program: Regresi Linier Sederhana dengan Scikit-learn

Regresi linier adalah salah satu model ML paling dasar yang bertujuan untuk memodelkan hubungan antara variabel independen (fitur) dan variabel dependen (target) dengan menggambar garis lurus melalui data. Berikut adalah contoh langkah demi langkah menggunakan Python dan Scikit-learn.

1. Persiapan Data

Dalam contoh ini, kita akan menggunakan data dummy sederhana. Dalam skenario nyata, Anda mungkin menggunakan Pandas untuk memuat data dari file CSV atau database.


import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# 1. Membuat Data Dummy (Fitur X dan Target Y)
# X harus berupa array 2D, jadi kita menggunakan reshape(-1, 1)
X = np.array([5, 15, 25, 35, 45, 55]).reshape((-1, 1))
# Y adalah variabel yang ingin kita prediksi
Y = np.array([5, 20, 14, 32, 22, 38])

print("Data X:\n", X)
print("Data Y:\n", Y)
        

2. Membagi Data (Opsional namun Penting)

Penting untuk memisahkan data menjadi set pelatihan (training set) dan set pengujian (testing set) untuk mengevaluasi seberapa baik model bekerja pada data yang belum pernah dilihat sebelumnya.


# Membagi data menjadi 70% untuk training dan 30% untuk testing
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=42)

print("\\nUkuran Set Pelatihan (Train):", len(X_train))
print("Ukuran Set Pengujian (Test):", len(X_test))
        

3. Melatih Model

Kita membuat instance dari model Regresi Linier dan melatihnya menggunakan data pelatihan (X_train dan Y_train) dengan memanggil metode `.fit()`.


# 3. Inisialisasi dan Melatih Model
model = LinearRegression()
model.fit(X_train, Y_train)

# Melihat parameter model yang dipelajari
r_sq = model.score(X_test, Y_test)
print(f"Koefisien Determinasi (R^2) pada data test: {r_sq:.2f}")
print(f"Koefisien (Slope/M): {model.coef_[0]:.2f}")
print(f"Intersep (Intercept/C): {model.intercept_:.2f}")
        

4. Membuat Prediksi

Setelah model dilatih, kita dapat menggunakannya untuk membuat prediksi pada data uji atau data baru.


# 4. Membuat Prediksi
Y_pred = model.predict(X_test)

print("\\nData X Test Sebenarnya:")
print(X_test.flatten())
print("Target Y Sebenarnya:")
print(Y_test)
print("Prediksi Model:")
print(Y_pred.round(2))
        

Kesimpulan

Contoh program machine learning python di atas menunjukkan alur kerja dasar: persiapan data, pembagian data, pelatihan model, dan evaluasi/prediksi. Meskipun ini adalah model linier sederhana, prinsip-prinsip ini berlaku untuk algoritma yang jauh lebih kompleks. Kemudahan implementasi menggunakan pustaka seperti Scikit-learn memungkinkan para peneliti dan pengembang untuk fokus pada pemahaman data dan peningkatan kinerja model, alih-alih membangun algoritma dari nol. Eksplorasi lebih lanjut dapat melibatkan pembersihan data yang lebih mendalam, rekayasa fitur (feature engineering), dan penggunaan model yang lebih canggih seperti Random Forest atau Jaringan Saraf Tiruan (Neural Networks).