La tua prima pipeline - di nuovo!
Tornando alla startup che si occupa di aritmie, si avvicina la review mensile e, come parte di quella, un programmatore Python esperto controllerà il tuo codice. Decidi di fare pulizia seguendo le best practice e sostituire lo script per la selezione delle caratteristiche e la classificazione con random forest con una pipeline. Stai usando un insieme di dati di training disponibile come X_train e y_train, e diversi moduli: RandomForestClassifier, SelectKBest() e f_classif() per la selezione delle caratteristiche, oltre a GridSearchCV e Pipeline.
Questo esercizio fa parte del corso
Progettare workflow di Machine Learning in Python
Istruzioni dell'esercizio
- Crea una pipeline con il selettore di caratteristiche fornito dal codice di esempio e un classificatore random forest. Dai alla prima fase il nome
feature_selection. - Aggiungi due coppie chiave-valore in
params: una per il numero di caratteristicheknel selettore con valori 10 e 20, e una pern_estimatorsnella foresta con possibili valori 2 e 5. - Inizializza un oggetto
GridSearchCVcon la pipeline e la griglia di parametri fornite. - Adatta l'oggetto ai dati e stampa la combinazione di parametri con le prestazioni migliori.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create pipeline with feature selector and classifier
pipe = ___([
(___, SelectKBest(f_classif)),
('clf', ___(random_state=2))])
# Create a parameter grid
params = {
'feature_selection__k':___,
___:[2, 5]}
# Initialize the grid search object
grid_search = ___(___, ___=params)
# Fit it to the data and print the best value combination
print(grid_search.fit(___, ___).___)