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
İK Analitiği: Python ile Çalışan Terkini (Churn) Tahmin Etme
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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=____)