Introducere în reglarea hiperparametrilor

Validarea modelelor în Python

Kasey Jones

Data Scientist

Parametrii modelului

Parametrii sunt:

  • Învățați sau estimați din date
  • Rezultatul antrenării unui model
  • Utilizați pentru predicții viitoare
  • Nu sunt setați manual
Validarea modelelor în Python

Parametrii regresiei liniare

Parametrii sunt creați prin antrenarea unui model:

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X, y)
print(lr.coef_, lr.intercept_)
[[0.798, 0.452]] [1.786]
Validarea modelelor în Python

Parametrii regresiei liniare

Parametrii nu există înainte de antrenarea modelului:

lr = LinearRegression()
print(lr.coef_, lr.intercept_)
AttributeError: 'LinearRegression' object has no attribute 'coef_'
Validarea modelelor în Python

Hiperparametrii modelului

Hiperparametrii:

  • Setați manual înainte de antrenare
  • Specifică modul în care se realizează antrenarea
Validarea modelelor în Python

Hiperparametrii Random Forest

Hiperparametru Descriere Valori posibile (implicit)
n_estimators Numărul de arbori de decizie din pădure 2+ (10)
max_depth Adâncimea maximă a arborilor de decizie 2+ (None)
max_features Numărul de caracteristici luate în considerare la o divizare Vezi documentația
min_samples_split Numărul minim de eșantioane necesar pentru o divizare 2+ (2)
Validarea modelelor în Python

Ce este reglarea hiperparametrilor?

Reglarea hiperparametrilor:

  • Selectarea hiperparametrilor
  • Rularea unui singur tip de model cu seturi diferite de valori
  • Crearea unor intervale de valori posibile
  • Specificarea unei singure metrici de acuratețe
Validarea modelelor în Python

Specificarea intervalelor

depth = [4, 6, 8, 10, 12]
samples = [2, 4, 6, 8]
features = [2, 4, 6, 8, 10]

# Specify hyperparameters rfc = RandomForestRegressor( n_estimators=100, max_depth=depth[0], min_samples_split=samples[3], max_features=features[1])
rfr.get_params()
{'bootstrap': True,
 'criterion': 'mse'
 ...
}
Validarea modelelor în Python

Prea mulți hiperparametri!

rfr.get_params()
{'bootstrap': True,
 'criterion': 'mse',
 'max_depth': 4,
 'max_features': 4,
 'max_leaf_nodes': None,
 'min_impurity_decrease': 0.0,
 'min_impurity_split': None,
 'min_samples_leaf': 1,
 'min_samples_split': 8,
 ...
 }
Validarea modelelor în Python

Recomandări generale

  • Începeți cu elementele de bază
  • Citiți documentația
  • Testați intervale practice
Validarea modelelor în Python

Să exersăm!

Validarea modelelor în Python

Preparing Video For Download...