Hyperparameter Tuning in Python
Alex Scriven
Data Scientist
Hyperparameters:

Maak een simpele random forest-estimator en print ’m:
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)
Meer info: http://scikit-learn.org
Neem de parameter n_estimators.
Datatype & standaardwaarde:
n_estimators : integer, optioneel (standaard=10)
Definitie:
Het aantal bomen in het bos.
Stel hyperparameters in bij het maken van de estimator:
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)
Zoek de hyperparameters van een Logistic Regression:
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)
Er zijn minder hyperparameters om te tunen met dit algoritme!
Sommige hyperparameters zijn belangrijker dan andere.
Sommige helpen de modelprestatie juist niet:
Voor de random forest-classifier:
n_jobsrandom_state verboseNiet alle hyperparameters zijn logisch om te ‘trainen’.
Belangrijke hyperparameters:
n_estimators (hoog instellen)max_features (verschillende waarden proberen)max_depth & min_sample_leaf (belangrijk tegen overfitting)criterionOnthoud: dit is alleen een leidraad
Bronnen om dit te leren:
Hyperparameter Tuning in Python