Materi
scikit-learn menyediakan dua jaringan saraf siap pakai: MLPClassifier untuk klasifikasi dan MLPRegressor untuk regresi. Keduanya dipakai seperti estimator lain, fit lalu predict. Parameter utamanya hidden_layer_sizes, tuple berisi banyak neuron per lapis tersembunyi, misalnya (10,) untuk satu lapis 10 neuron atau (32, 16) untuk dua lapis; activation (bawaan relu); solver (bawaan adam; dokumentasinya menyebut lbfgs bisa konvergen lebih cepat dengan skor lebih tinggi untuk data kecil); max_iter; dan random_state, yang menentukan bobot awal sehingga hasilnya bisa diulang.
Setelah fit, atribut out_activation_ menunjukkan aktivasi keluaran yang dipilih otomatis: logistic untuk dua kelas, softmax untuk lebih dari dua kelas, dan identity untuk MLPRegressor, yang loss-nya kuadrat galat. predict_proba pada MLPClassifier mengembalikan peluang setiap kelas.
User Guide scikit-learn menyatakan MLP peka terhadap skala fitur dan menganjurkan standardisasi, dengan scaler yang di-fit hanya pada data latih. Cara ringkasnya make_pipeline(StandardScaler(), MLPClassifier(...)): pipeline mempelajari rata-rata dan simpangan baku dari data latih saat fit, lalu menerapkannya sendiri saat predict dan score.
from sklearn.neural_network import MLPClassifier
# jam belajar, jam tidur -> lulus?
X = [[1, 5], [2, 6], [6, 7], [7, 8], [3, 4], [8, 6]]
y = [0, 0, 1, 1, 0, 1]
m = MLPClassifier(hidden_layer_sizes=(5,), solver="lbfgs", random_state=0).fit(X, y)
print([w.shape for w in m.coefs_], m.out_activation_) # [(2, 5), (5, 1)] logistic