Materi
Setiap baris tabel adalah satu sampel (satu rumah, satu pelanggan) dan setiap kolom masukan adalah satu fitur. Kolom yang ingin ditebak adalah label atau target. Getting Started scikit-learn menjelaskan bentuk yang diminta fit: X berbentuk matriks (n_samples, n_features) dan y berbentuk vektor (n_samples,) — satu label untuk setiap baris X.
Dari DataFrame pandas, X diambil dengan daftar nama kolom di dalam kurung siku ganda, sehingga hasilnya tetap tabel dua dimensi walau kolomnya hanya satu. y diambil dengan satu nama kolom di kurung siku tunggal, sehingga hasilnya Series satu dimensi. Cara lain yang sama hasilnya: df.drop(columns="label") untuk X ketika hampir semua kolom dipakai.
import pandas as pd
motor = pd.DataFrame({
"umur_tahun": [1, 3, 5, 8],
"km_ribu": [8, 30, 55, 90],
"harga_juta": [18.5, 15.0, 12.0, 8.5],
})
X = motor[["umur_tahun", "km_ribu"]] # (4, 2)
y = motor["harga_juta"] # (4,)
print(X.shape, y.shape)Array numpy satu dimensi diubah menjadi satu kolom dengan reshape(-1, 1): angka -1 berarti "hitung sendiri banyak barisnya".