Menu
CoddyTech

İşlem Hattını Ayarlama

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

Bir işlem hattı, temizleme adımları da dahil olmak üzere her model gibi ayarlanabilir. Her ayar; adımının adı, iki alt çizgi ve ardından parametreyle adlandırılır:

pipe = make_pipeline(SimpleImputer(), DecisionTreeClassifier(random_state=0))
grid = {"simpleimputer__strategy": ["mean", "median", "most_frequent"],
        "decisiontreeclassifier__max_depth": [2, 4, 6, 8]}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)

make_pipeline her adıma sınıfının adını küçük harflerle verir. 300 m'ye ulaşıp ulaşmadıklarıyla ilgili 200 model roket fırlatması için 12 ayarın puanları:

Ortalama CV doğruluklarının ızgarası: ortalama, medyan ve most_frequent doldurma yöntemleri için satırlar; 2, 4, 6 ve 8 ağaç derinlikleri için sütunlar. Puanlar 0.733 ile 0.820 arasında değişiyor ve 6 derinlikte medyan doldurma hücresi 0.820 ile en iyi olarak işaretlenmiş

Her kat, eksik değerleri dolduran araç da dâhil olmak üzere tüm işlem hattını yeniden uyarlar; böylece hiçbir kat, kendisini test eden satırlara bakmaz.

challenge icon

Görev

Orta

Bir müzik okulu, hangi keman öğrencilerinin sınıf sınavını geçeceğini öğrenmek istiyor. Başlangıç kodu üç k değeri okuyor ve bir işlem hattı üzerindeki ızgara araması hatayla duruyor.

  1. Aramanın doldurucunun stratejisini ve k-NN'nin komşu sayısını ayarlaması için ızgaranın iki anahtarını düzeltin.
  2. Aşağıdaki gibi en iyi ayarları, çapraz doğrulanmış doğruluklarını ve test doğruluğunu yazdırın.

Başka bir okul, 2, 4, 6 ile:

Best: mean fills, 6 neighbors
Cross-validated accuracy: 0.720
Test accuracy: 0.820

Kendin dene

import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline

# Keman öğrencileri: seviye sınavını geçti (1) veya geçmedi (0); bazı çalışma
# kayıtları ve deşifre puanları eksik
students = pd.read_csv("violins.csv")
X = students.drop(columns="passed")
y = students["passed"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = [int(input()), int(input()), int(input())]

# Bu arama bir hatayla duruyor: grid'i düzeltin
pipe = make_pipeline(SimpleImputer(), StandardScaler(), KNeighborsClassifier())
grid = {
    "strategy": ["mean", "median"],
    "n_neighbors": ks,
}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)

# 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