Izgara Araması
Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 39 / 58.
Elle ayarlama, iç içe döngüler anlamına gelir. GridSearchCV, her ayar kombinasyonunu çapraz doğrular ve en iyisini seçer. 300 tramvay yolculuğunda, geç kalma veya zamanında varma için:
Bir sözlük, her ayarı denenecek değerlerle eşleştirir. min_samples_leaf, bir yaprağın içerebileceği en az satır sayısıdır:
from sklearn.model_selection import GridSearchCV
grid = {"max_depth": [2, 4, 6], "min_samples_leaf": [1, 5, 20]}
search = GridSearchCV(DecisionTreeClassifier(random_state=0), grid, cv=5)
search.fit(X_train, y_train)
print(search.best_params_)
print(f"{search.best_score_:.3f}")
print(f"{search.score(X_test, y_test):.3f}")Bu, şunu yazdırır:
{'max_depth': 4, 'min_samples_leaf': 5}
0.876
0.813Arama, en iyi modeli tüm eğitim satırlarında yeniden eğitir; bu nedenle search.score modeli bir kez test eder. Izgaraları küçük tut: her hücre 5 model eğitimi gerektirir.
Görev
OrtaBir uydu ekibi, pikselleri k-NN ile bulut veya açık gökyüzü olarak etiketler. Program denenecek en büyük k değerini okur; başlangıç kodu veriyi böler.
cv=5ile 1'den bu sayıya kadar olan her tek k değeri veweightsiçin"uniform"veya"distance"(daha yakın komşular daha fazla ağırlık taşır) değerleri üzerinde grid araması yapın.- En iyi ayarları, çapraz doğrulama doğruluklarını ve test doğruluğunu 3 ondalık basamakla yazdırın.
Diğer pikseller ve 7 için:
Best k: 7, weights: distance
Cross-validated accuracy: 0.885
Test accuracy: 0.800Kendin dene
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.neighbors import KNeighborsClassifier
max_k = int(input())
# Aşağıdaki satırları değiştirmeyin: 360 uydu pikseli, her biri için 4 ışık ölçümü; 1 etiketi bulut anlamına gelir
X, y = make_classification(n_samples=360, n_features=4, n_informative=3, n_redundant=0,
flip_y=0.08, class_sep=0.7, random_state=1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# Kodunuzu aşağıya yazın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Denetimli Öğrenme bölümündeki tüm dersler
1İlk Modeliniz
Örneklerden ÖğrenmeEğitim ve Test KümeleriUydurma ve Tahmin EtmeBir Modeli PuanlamaÖzet: Tohum Sınıflandırıcı4Lojistik Regresyon
Evet-Hayır TahminleriKarar EşiğiKanıt Olarak AğırlıklarBirden Fazla SınıfÖzet: Spam Filtresi2En Yakın Komşular
k-NN Nasıl Karar Verirk'yi SeçmekKarar SınırlarıKomşular İçin ÖlçeklemeÖzet: Şarap Komşuları5Sınıflandırıcıları Değerlendirme
Karmaşıklık MatrisiKesinlik ve DuyarlılıkF1 SkoruDengesiz SınıflarROC EğrileriÖzet: Tarama Testi8Çapraz Doğrulama
K-Katlı DoğrulamaModelleri Adil Bir Şekilde KarşılaştırmaIzgara AramasıÖzet: Kaykay Tamiri11Proje: Penguen Türleri
Penguenlerle TanışınVerileri HazırlayınBir Model SeçinEn İyisini AyarlayınModeli Yayına AlınKendi başına pratik yap: Online Python derleyicisi