Začněte nyníZačněte zdarma

Vše dohromady

Máš dvě obavy ohledně svého pipeline ve startupu zaměřeném na detekci arytmií:

  • Aplikace byla trénovaná na pacientech všech věkových kategorií, ale primárně ji používají fitness uživatelé, kteří bývají mladí. Máš podezření, že jde o případ domain shift, a proto chceš vyloučit všechny příklady s věkem nad 50 let.
  • Stále tě trápí přetrénování, takže chceš zjistit, zda by pomohlo snížit složitost klasifikátoru random forest a vybrat jen část příznaků.

Vytvoříš pipeline s krokem výběru příznaků SelectKBest() a klasifikátorem RandomForestClassifier(), které jsou již naimportované. Máš také k dispozici GridSearchCV(), Pipeline, numpy jako np a pickle. Data jsou dostupná jako arrh.

Toto cvičení je součástí kurzu

Designing Machine Learning Workflows in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř pipeline s SelectKBest() jako krokem ft a RandomForestClassifier() jako krokem clf.
  • Vytvoř mřížku parametrů pro ladění k v SelectKBest() a max_depth v RandomForestClassifier().
  • Použij GridSearchCV() k optimalizaci pipeline na této mřížce s daty obsahujícími pouze osoby mladší 50 let.
  • Ulož optimalizovaný pipeline do pickle souboru pro nasazení do produkce.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create a pipeline 
pipe = Pipeline([
  ('ft', ____), ('clf', ____(random_state=2))])

# Create a parameter grid
grid = {'ft__k':[5, 10], '____':[10, 20]}

# Execute grid search CV on a dataset containing under 50s
grid_search = ____(pipe, param_grid=grid)
arrh = arrh.____[____(arrh['age'] < 50)]
____.____(arrh.drop('class', 1), arrh['class'])

# Push the fitted pipeline to production
with ____('pipe.pkl', ____) as file:
    pickle.dump(____, file)
Upravit a spustit kód