Menu
CoddyTech

K-Katlı Doğrulama

Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 37 / 58.

Bu bölüm, puanlarınızı güvenilir kılar. Bölümün sonunda, bunun gibi grafiklerle bir modeli ayarlayacaksınız:

k değeri 1'den 41'e kadar olan 5 kat için ortalama doğruluk çubukları. Çubuklar k = 1'de 0.85'ten yükselerek k = 15'te vurgulanan en iyi değer olan 0.91'e ulaşır, ardından düşer

Tek bir test bölmesi şanslı olabilir. K katlı çapraz doğrulama, satırları katlara böler; burada 5 kat vardır ve her seferinde sırayla bir kat üzerinde test yaparken geri kalanıyla eğitim yapar:

Beş hücreden oluşan beş satır. Her bölmede, her seferinde farklı bir hücre test katıdır; diğer dördü eğitim için kullanılır. Yanlarında Iris ağacı puanları: 0.967, 0.967, 0.900, 0.967, 1.000

Tek bir çağrı beşinin tamamını çalıştırır; burada iris çiçekleri üzerinde bir ağaç için:

from sklearn.model_selection import cross_val_score

tree = DecisionTreeClassifier(random_state=0)
scores = cross_val_score(tree, X, y, cv=5)
print(np.round(scores, 3))
print(f"{scores.mean():.3f} {scores.std():.3f}")

Şunu yazdırır:

[0.967 0.967 0.9   0.967 1.   ]
0.960 0.033

Ortalama değeri puan, standart sapmayı ise ne kadar dalgalandığı olarak bildirin.

challenge icon

Görev

Orta

Bir kombuça üreticisi, 5 laboratuvar ölçümüne göre bozulmuş partileri tahmin ediyor. Modeli ne kadar istikrarlı? Program kat sayısını okur; başlangıç kodu verileri ve modeli oluşturur.

  1. Modeli bu sayıda kat kullanarak çapraz doğrulayın.
  2. Her katın doğruluğunu, ardından ortalamayı ve std değerini 3 ondalık basamakla yazdırın.
  3. En zayıf katın numarasını 1'den başlayarak yazdırın.

Diğer partiler ve 4 için:

Fold 1: 0.917
Fold 2: 0.933
Fold 3: 0.883
Fold 4: 0.917
Mean 0.912, std 0.018
Weakest fold: 3

Kendin dene

import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression

n_folds = int(input())

# Aşağıdaki satırları değiştirmeyin: 240 kombu çayı partisi, her biri için 5 laboratuvar ölçümü; 1 etiketi bozulmuş anlamına gelir
X, y = make_classification(n_samples=240, n_features=5, n_informative=3, n_redundant=0,
                           flip_y=0.08, class_sep=0.9, random_state=2)
model = LogisticRegression(max_iter=1000)

# Kodunuzu aşağıya yazın
quiz iconKendini test et

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

Kendi başına pratik yap: Online Python derleyicisi