GridSearch parametrelerini ayarlama
Bir hiperparametre, bir fonksiyonun içinde yer alan parametredir. Örneğin, max_depth veya min_samples_leaf, DecisionTreeClassifier() fonksiyonunun hiperparametreleridir. Hiperparametre ayarlama (tuning), en uygun olanları bulmak için farklı hiperparametre değerlerini deneme sürecidir: yani hedeflerine göre en iyi tahminleri verenler. sklearn içinde, farklı hiperparametre kombinasyonlarını denemek için GridSearch kullanabilirsin. Daha da iyisi, GridSearchCV() ile farklı kombinasyonları deneyip aynı anda bu kombinasyonlarda çapraz doğrulama da çalıştırabilirsin!
Bu egzersizde, max_depth ve min_samples_leaf için denemek istediğin farklı değerleri hazırlayacaksın. Sonrasında bunları bir sözlüğe koyacaksın; çünkü GridSearchCV() bunu gerektirir:
- sözlük anahtarları hiperparametre adları olacak
- sözlük değerleri denemek istediğin öznitelikler (hiperparametre değerleri) olacak
Tüm değerleri tek tek yazmak yerine, değerleri artımlı üretmemizi sağlayan range() fonksiyonunu kullanacaksın. Örneğin, range(1, 10, 2) 1 dâhil, 10 hariç olacak şekilde 2'şer artan değerlerden oluşan bir liste üretir. Yani nihai sonuç [1, 3, 5, 7, 9] olacaktır.
Bu egzersiz, kursun bir parçasıdır
İK Analitiği: Python ile Çalışan Terkini (Churn) Tahmin Etme
Egzersiz talimatları
- Yukarıdaki örnekteki formata uyarak, maksimum derinlik için 5'ten 20'ye kadar 1'er artan değerler üret
- Minimum yaprak örnek sayısı için de 50'den 450'ye kadar 50'şer artan değerler üret
- Az önce oluşturduğun değişkenleri kullanarak denenecek
max_depthvemin_samples_leafdeğerlerini belirterek sözlüğü oluştur
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]
# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]
# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)