Creazione di pipeline di preprocessing
sklearn Pipeline, ColumnTransformer e combinazione di transformer per workflow di preprocessing ordinati.
Creazione di pipeline di preprocessing è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Perché usare le pipeline?
Una Pipeline di scikit-learn concatena i passaggi di preprocessing e un modello in un unico oggetto. Garantisce che le stesse trasformazioni vengano applicate ai dati di addestramento e di test, prevenendo il leakage e il codice disordinato.
Una pipeline di base
Pipeline accetta un elenco di tuple (nome, passaggio). La chiamata a fit esegue ogni passaggio nell'ordine; l'ultimo passaggio è di solito un estimator.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
pipe = Pipeline([
("scale", StandardScaler()),
("model", LogisticRegression()),
])fit e predict sull'intera pipeline
Consideri la pipeline come un unico modello. fit apprende lo scaler E addestra il modello; predict applica prima lo scaler e poi il modello, in modo automatico e coerente.
pipe.fit(X_train, y_train)
preds = pipe.predict(X_test) # scaling applied automaticallyNessun leakage per progettazione
Poiché la pipeline esegue il fit dello scaler solo durante fit (sui dati di addestramento) e si limita a trasformare i dati durante predict, elimina automaticamente l'errore di eseguire il fit sui dati di test.
Tipi di colonne misti
I dataset reali combinano colonne NUMERICHE e CATEGORICHE che richiedono preprocessing diversi. ColumnTransformer applica un trasformatore diverso a ciascun sottoinsieme di colonne.
ColumnTransformer
Fornisca tuple nella forma (nome, trasformatore, colonne). Le colonne numeriche vengono scalate; quelle categoriche vengono codificate con one-hot, tutto in un unico passaggio.
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
pre = ColumnTransformer([
("num", StandardScaler(), ["age", "income"]),
("cat", OneHotEncoder(handle_unknown="ignore"), ["city"]),
])Annidamento in una pipeline completa
Inserisca ColumnTransformer come primo passaggio di una Pipeline, seguito dal modello, per ottenere un flusso di lavoro completo e privo di leakage.
full = Pipeline([
("prep", pre),
("model", LogisticRegression()),
])
full.fit(X_train, y_train)Gestione dei valori mancanti in un passaggio
Aggiunga un SimpleImputer all'interno del ramo numerico, spesso a sua volta una piccola pipeline, per riempire i valori mancanti prima della scalatura, mantenendo tutto all'interno della pipeline.
from sklearn.impute import SimpleImputer
num_pipe = Pipeline([
("impute", SimpleImputer(strategy="median")),
("scale", StandardScaler()),
])fit_transform sui dati di addestramento, transform sui dati di test
La stessa regola d'oro si applica all'intera pipeline: durante fit apprende ogni parametro dai dati di addestramento, poi durante predict o transform si limita a trasformare i dati di test.
full.fit(X_train, y_train) # learns imputer, scaler, encoder, model
full.predict(X_test) # transform-only pathSalvare una pipeline
Salvi su disco l'intera pipeline sottoposta a fit, preprocessing e modello inclusi, usando joblib. Quando la caricherà in seguito, applicherà lo stesso preprocessing in produzione, senza passaggi manuali da riprodurre.
import joblib
joblib.dump(full, "model.joblib")
loaded = joblib.load("model.joblib")
loaded.predict(X_new) # same preprocessing guaranteedPerché è importante in produzione
Una pipeline salvata garantisce che il modello distribuito esegua il preprocessing dei dati in ingresso ESATTAMENTE come durante l'addestramento. Questa coerenza è la principale difesa contro i bug dovuti alla discrepanza tra addestramento e servizio.
Verifica rapida
Metta alla prova le proprie conoscenze sulle pipeline.
Riepilogo
Strumenti per le pipeline:
Pipelineconcatena preprocessing e modello in un unico oggetto per fit/predict- Nessun leakage: i parametri vengono appresi con
fite applicati conpredict ColumnTransformergestisce colonne numeriche e categoriche misteSimpleImputergestisce i valori mancanti all'interno della pipeline- Salvi con
joblibper mantenere coerente il preprocessing in produzione
Domande Frequenti
La lezione «Creazione di pipeline di preprocessing» è gratuita?
Sì — il testo completo di «Creazione di pipeline di preprocessing» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Creazione di pipeline di preprocessing»?
sklearn Pipeline, ColumnTransformer e combinazione di transformer per workflow di preprocessing ordinati. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Creazione di pipeline di preprocessing»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Rilevamento e rimozione degli outlier
- Codifica delle variabili categoriche
- Ridimensionamento delle feature: normalizzazione e standardizzazione
- Creazione di pipeline di preprocessing