Přehled hyperparametrů

Hyperparameter Tuning in Python

Alex Scriven

Data Scientist

Co je hyperparametr

Hyperparametry:

  • Hodnoty, které vy nastavujete před modelováním (jako knoflíky na starém rádiu)
    • Hyperparametry také „ladíte"!
  • Algoritmus se je sám nenaučí

Staré rádio s ovladači

Hyperparameter Tuning in Python

Hyperparametry v Random Forest

Vytvořte jednoduchý odhad Random Forest a vypište jej:

rf_clf = RandomForestClassifier()
print(rf_clf)

RandomForestClassifier(n_estimators='warn', criterion='gini', max_depth=None, max_features='auto', max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_jobs=None, oob_score=False, random_state=None, verbose=0,bootstrap=True, class_weight=None, warm_start=False)

Více informací: http://scikit-learn.org

Hyperparameter Tuning in Python

Jeden hyperparametr

Vezměme parametr n_estimators.

Datový typ a výchozí hodnota:

n_estimators : integer, optional (default=10)

Definice:

Počet stromů v lese.

Hyperparameter Tuning in Python

Nastavení hyperparametrů

Nastavte hyperparametry při vytváření odhadce:

rf_clf = RandomForestClassifier(n_estimators=100, criterion='entropy')
print(rf_clf)
RandomForestClassifier(n_estimators=100, criterion='entropy',
            max_depth=None, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_jobs=None,
            oob_score=False, random_state=None, verbose=0,bootstrap=True,
            class_weight=None, warm_start=False)
Hyperparameter Tuning in Python

Hyperparametry v logistické regresi

Zjistěte hyperparametry logistické regrese:

log_reg_clf = LogisticRegression()

print(log_reg_clf) LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, max_iter=100, multi_class='warn', n_jobs=None, penalty='l2', random_state=None, solver='warn', tol=0.0001, verbose=0, warm_start=False)

Tento algoritmus má méně hyperparametrů k ladění!

Hyperparameter Tuning in Python

Důležitost hyperparametrů

 

Některé hyperparametry jsou důležitější než jiné.

Některé neovlivní výkon modelu:

Pro klasifikátor Random Forest:

  • n_jobs
  • random_state
  • verbose

Ne všechny hyperparametry má smysl „trénovat"

Hyperparameter Tuning in Python

Random Forest: důležité hyperparametry

 

Některé důležité hyperparametry:

  • n_estimators (vysoká hodnota)
  • max_features (zkuste různé hodnoty)
  • max_depth & min_sample_leaf (důležité pro přeučení)
  • (případně) criterion

Pamatujte: jde pouze o doporučení

Hyperparameter Tuning in Python

Jak zjistit, které hyperparametry jsou důležité?

 

Zdroje pro studium:

  • Odborné články
  • Blogy a tutoriály z důvěryhodných zdrojů (např. DataCamp!)
  • Dokumentace modulu Scikit-Learn
  • Praxe
Hyperparameter Tuning in Python

Pojďme si procvičit!

Hyperparameter Tuning in Python

Preparing Video For Download...