Seu primeiro pipeline - de novo!
De volta à startup de arritmia, sua revisão mensal está chegando e, como parte disso, um(a) programador(a) Python experiente vai revisar seu código. Você decide dar uma organizada seguindo as boas práticas e substituir seu script de seleção de atributos e classificação com random forest por um pipeline. Você está usando um conjunto de dados de treino disponível como X_train e y_train, e alguns módulos: RandomForestClassifier, SelectKBest() e f_classif() para seleção de atributos, além de GridSearchCV e Pipeline.
Este exercício faz parte do curso
Projetando Workflows de Machine Learning em Python
Instruções do exercício
- Crie um pipeline com o seletor de atributos fornecido pelo código de exemplo e um classificador random forest. Dê o nome
feature_selectionà primeira etapa. - Adicione dois pares chave-valor em
params: um para o número de atributoskno seletor com valores 10 e 20, e outro paran_estimatorsna floresta com valores possíveis 2 e 5. - Inicialize um objeto
GridSearchCVcom o pipeline e a grade de parâmetros fornecidos. - Ajuste o objeto aos dados e imprima a melhor combinação de parâmetros.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(___, ___).___)