Membangun Pipeline Prapemrosesan
Pipeline sklearn, ColumnTransformer, dan penggabungan transformator untuk alur kerja prapemrosesan yang rapi.
Membangun Pipeline Prapemrosesan adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Mengapa Menggunakan Alur Pemrosesan?
Alur pemrosesan scikit-learn merangkai langkah prapemrosesan dan model menjadi satu objek. Alur ini menjamin bahwa transformasi yang sama diterapkan pada data latih dan data uji, sehingga mencegah kebocoran dan kode yang berantakan.
Alur Pemrosesan Dasar
Pipeline menerima daftar tuple (nama, langkah). Pemanggilan fit menjalankan setiap langkah secara berurutan; langkah terakhir biasanya merupakan pengestimasi.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
pipe = Pipeline([
("scale", StandardScaler()),
("model", LogisticRegression()),
])fit dan predict pada Seluruh Alur Pemrosesan
Perlakukan alur pemrosesan seperti satu model. fit mempelajari penskala AND melatih model; predict menerapkan penskala lalu model secara otomatis dan konsisten.
pipe.fit(X_train, y_train)
preds = pipe.predict(X_test) # scaling applied automaticallyTanpa Kebocoran karena Dirancang Demikian
Karena alur pemrosesan hanya melakukan fit pada penskala selama fit (pada data pelatihan) dan hanya melakukan transformasi selama predict, kesalahan melakukan fit pada data uji dihilangkan secara otomatis.
Jenis Kolom Campuran
Data nyata mencampurkan kolom NUMERIC dan CATEGORICAL yang memerlukan prapemrosesan berbeda. ColumnTransformer menerapkan transformator yang berbeda pada setiap subset kolom.
ColumnTransformer
Berikan tuple (nama, transformator, kolom). Kolom numerik akan diskalakan; kolom kategorikal akan dikodekan dengan one-hot, semuanya dalam satu langkah.
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
pre = ColumnTransformer([
("num", StandardScaler(), ["age", "income"]),
("cat", OneHotEncoder(handle_unknown="ignore"), ["city"]),
])Menyusun dalam Alur Pemrosesan Lengkap
Jadikan ColumnTransformer sebagai langkah pertama dalam Pipeline, lalu ikuti dengan model, untuk menghasilkan alur kerja lengkap tanpa kebocoran.
full = Pipeline([
("prep", pre),
("model", LogisticRegression()),
])
full.fit(X_train, y_train)Menangani Nilai yang Hilang dalam Suatu Langkah
Tambahkan SimpleImputer di dalam cabang numerik (yang sering kali juga berupa alur pemrosesan kecil) untuk mengisi nilai yang hilang sebelum penskalaan, sehingga semuanya tetap berada di dalam alur pemrosesan.
from sklearn.impute import SimpleImputer
num_pipe = Pipeline([
("impute", SimpleImputer(strategy="median")),
("scale", StandardScaler()),
])fit_transform pada Data Latih, transform pada Data Uji
Aturan emas yang sama berlaku untuk seluruh alur pemrosesan: alur ini mempelajari setiap parameter dari data pelatihan selama fit, lalu hanya mentransformasi data uji selama predict atau transform.
full.fit(X_train, y_train) # learns imputer, scaler, encoder, model
full.predict(X_test) # transform-only pathMenyimpan Alur Pemrosesan
Simpan seluruh alur pemrosesan yang telah di-fit, termasuk prapemrosesan dan model, ke disk dengan joblib. Saat dimuat kembali, alur ini menerapkan prapemrosesan yang sama dalam produksi tanpa langkah manual yang harus diulang.
import joblib
joblib.dump(full, "model.joblib")
loaded = joblib.load("model.joblib")
loaded.predict(X_new) # same preprocessing guaranteedMengapa Ini Penting dalam Produksi
Alur pemrosesan yang disimpan memastikan model yang diterapkan melakukan prapemrosesan data masuk EXACTLY seperti saat pelatihan. Konsistensi ini merupakan pertahanan terbesar terhadap kesalahan ketidaksesuaian antara pelatihan dan penyajian.
Pemeriksaan Singkat
Uji pengetahuan Anda tentang alur pemrosesan.
Ringkasan
Perangkat alur pemrosesan:
Pipelinemerangkai prapemrosesan + model menjadi satu objek fit/predict- Tanpa kebocoran: parameter dipelajari saat
fitdan diterapkan saatpredict ColumnTransformermenangani kolom numerik/kategorikal campuranSimpleImputeruntuk nilai yang hilang di dalam alur pemrosesan- Simpan dengan
joblibuntuk prapemrosesan produksi yang konsisten
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membangun Pipeline Prapemrosesan” gratis?
Ya — teks lengkap “Membangun Pipeline Prapemrosesan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membangun Pipeline Prapemrosesan”?
Pipeline sklearn, ColumnTransformer, dan penggabungan transformator untuk alur kerja prapemrosesan yang rapi. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Membangun Pipeline Prapemrosesan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Deteksi dan Penghapusan Pencilan
- Pengodean Variabel Kategorikal
- Penskalaan Fitur: Normalisasi dan Standardisasi
- Membangun Pipeline Prapemrosesan