Gambaran Umum Hyperparameter

Penyetelan Hyperparameter di Python

Alex Scriven

Data Scientist

Apa itu hyperparameter

Hyperparameter:

  • Sesuatu yang Anda tetapkan sebelum pemodelan (seperti kenop radio lama)
    • Anda juga dapat “menyetel” hyperparameter!
  • Algoritma tidak mempelajarinya

Radio tua dengan kenop

Penyetelan Hyperparameter di Python

Hyperparameter di Random Forest

Buat estimator random forest sederhana dan cetak:

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)

Info lebih lanjut: http://scikit-learn.org

Penyetelan Hyperparameter di Python

Satu hyperparameter

Ambil parameter n_estimators.

Tipe Data & Nilai Bawaan:

n_estimators : integer, optional (default=10)

Definisi:

Jumlah pohon dalam forest.

Penyetelan Hyperparameter di Python

Menetapkan hyperparameter

Tetapkan beberapa hyperparameter saat membuat 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)
Penyetelan Hyperparameter di Python

Hyperparameter di Logistic Regression

Cari hyperparameter 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)

Hyperparameter yang perlu disetel untuk algoritme ini lebih sedikit!

Penyetelan Hyperparameter di Python

Pentingnya Hyperparameter

 

Beberapa hyperparameter lebih penting dari yang lain.

Sebagian tidak meningkatkan kinerja model:

Untuk random forest classifier:

  • n_jobs
  • random_state
  • verbose

Tidak semua hyperparameter layak untuk “dilatih”

Penyetelan Hyperparameter di Python

Random Forest: Hyperparameter Penting

 

Beberapa hyperparameter penting:

  • n_estimators (nilai tinggi)
  • max_features (coba beberapa nilai)
  • max_depth & min_sample_leaf (penting untuk overfitting)
  • (mungkin) criterion

Ingat: ini hanya panduan

Penyetelan Hyperparameter di Python

Cara menemukan hyperparameter yang penting?

 

Sumber untuk mempelajari ini:

  • Makalah akademik
  • Blog dan tutorial dari sumber tepercaya (seperti DataCamp!)
  • Dokumentasi modul Scikit-Learn
  • Pengalaman
Penyetelan Hyperparameter di Python

Ayo berlatih!

Penyetelan Hyperparameter di Python

Preparing Video For Download...