Modeli Yayına Alın
Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 54 / 58.
Test penguenleri tüm proje boyunca bekledi. Ayarlanmış ardışık düzeni eğitim satırlarına uydur, ardından test penguenlerinde bir kez değerlendir: dürüst sonuç.
Ardından nerede yanıldığını görün. Bir kliniğin modeli, kişileri sağlıklı, soğuk algınlığı veya grip olarak sınıflandırıyor; satırlar gerçekleri, sütunlar tahminlerini gösteriyor:
Yeni bir penguen, eğitim sütunlarını içeren tek satırlık bir tablodur. predict ona ad verir; ne kadar emin olunduğunu ise predict_proba(new).max() gösterir: kazanan sınıfın oranını, k-NN için de aynı fikirde olan komşuları.
Görev
OrtaBitiş çizgisi. model ayarlanmış işlem hattındır; başlangıç kodu yeni bir pengueni new_penguin içine okur.
- Modeli eğitim satırlarıyla eğit. Test doğruluğunu (3 ondalık basamakla) ve doğru adlandırdığı test penguenlerinin sayısını yazdır.
- Test tahminlerinin karışıklık matrisini
axüzerinde çiz ve göster. - Yeni penguenin türünü ve modelin yüzde olarak ne kadar emin olduğunu belirt.
Başka bir istasyondaki koloni için:
Test accuracy: 0.960 (72 of 75 penguins)
New penguin: Gentoo (86% sure)ve matrisi:
Ardından Coddy seninkini raporlar. Meet the Penguins'teki yıldız, Dream'de dişi olarak 47.2, 18.0, 194 ve 3650 değerlerini ölçtü. Programını onunla çalıştır: o kim?
Kendin dene
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import ConfusionMatrixDisplay
# Meet the Penguins bölümündeki koloni, özellikleri ve etiketi
penguins = pd.read_csv("penguins.csv")
numbers = ["bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g"]
text = ["island", "sex"]
X = penguins[numbers + text]
y = penguins["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, stratify=y, random_state=0)
# Prepare the Data bölümünden: iki işleme kolu
number_steps = make_pipeline(SimpleImputer(strategy="median"), StandardScaler())
text_steps = make_pipeline(SimpleImputer(strategy="constant", fill_value="unknown"), OneHotEncoder())
prep = ColumnTransformer([("numbers", number_steps, numbers), ("words", text_steps, text)])
# Choose a Model and Tune the Winner bölümünden: k = 7 olan k-NN
model = make_pipeline(prep, KNeighborsClassifier(n_neighbors=7))
# Sahadan gelen yeni bir penguen, aynı sütunlara sahip tek satırlık bir tablo olarak
new_penguin = pd.DataFrame({
"bill_length_mm": [float(input())],
"bill_depth_mm": [float(input())],
"flipper_length_mm": [float(input())],
"body_mass_g": [float(input())],
"island": [input()],
"sex": [input()],
})
fig, ax = plt.subplots()
ax.set_title("Test Penguins")
# 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