Scikit-learn

Scikit-learn adalah pustaka open-source Python yang menyediakan alat sederhana dan efisien untuk analisis data prediktif. Pustaka ini mencakup algoritma untuk klasifikasi, regresi, clustering, dimensionality reduction, dan model selection.

Mengapa Scikit-learn?

  • Konsisten - API yang seragam untuk semua algoritma

  • Lengkap - Banyak algoritma ML klasik tersedia

  • Terintegrasi - Bekerja baik dengan NumPy dan Pandas

  • Terdokumentasi - Dokumentasi yang sangat baik dengan contoh

Instalasi

pip install scikit-learn

Import Scikit-learn

# Import modul yang dibutuhkan
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

Daftar Materi

Alur Kerja Machine Learning

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   Data      │ → │ Preprocessing│ → │   Split     │
│   Loading   │    │   & Feature │    │ Train/Test  │
└─────────────┘    └─────────────┘    └──────┬──────┘
        ┌─────────────────────────────────────┘
┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   Model     │ → │   Model     │ → │   Model     │
│   Training  │    │   Predict   │    │   Evaluate  │
└─────────────┘    └─────────────┘    └─────────────┘

Contoh Cepat

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 1. Load data
iris = load_iris()
X, y = iris.data, iris.target

# 2. Split data
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

# 3. Train model
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

# 4. Predict
y_pred = model.predict(X_test)

# 5. Evaluate
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")  # Accuracy: 1.00

API Konsisten Scikit-learn

Semua estimator di scikit-learn mengikuti pola yang sama:

# Inisialisasi model dengan hyperparameter
model = SomeModel(param1=value1, param2=value2)

# Training
model.fit(X_train, y_train)

# Prediksi
y_pred = model.predict(X_test)

# Probabilitas (untuk classifier)
y_proba = model.predict_proba(X_test)

# Transformasi (untuk transformer)
X_transformed = transformer.transform(X)

# Fit dan transform sekaligus
X_transformed = transformer.fit_transform(X)

Dataset Bawaan

Scikit-learn menyediakan beberapa dataset untuk latihan:

from sklearn import datasets

# Classification
iris = datasets.load_iris()
wine = datasets.load_wine()
digits = datasets.load_digits()

# Regression
boston = datasets.load_diabetes()

# Synthetic data
X, y = datasets.make_classification(n_samples=1000, n_features=20)
X, y = datasets.make_regression(n_samples=1000, n_features=10)
X, y = datasets.make_blobs(n_samples=1000, centers=3)

Langkah Selanjutnya

Lanjutkan ke Alur Kerja ML untuk mempelajari langkah-langkah lengkap dalam membangun model machine learning.