Menu
CoddyTech

Uydurma ve Tahmin Etme

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

Her scikit-learn modeli iki çağrıyla çalışır. fit, etiketleriyle birlikte eğitim satırlarını inceler; predict, modelin daha önce hiç görmediği satırları etiketler:

Bir diyagram: ağırlıkları ve kulak uzunlukları X_train içinde, etiketleri y_train içinde bulunan altı evcil hayvan; üç kedi ve üç köpek, fit aracılığıyla bir modele girer. İki yeni evcil hayvan, X_new, modeli kullanan predict aracılığıyla girer ve kedi ve köpek olarak çıkar

Bu yolculuğun ilk dersindeki model k-en yakın komşu modelidir: bir satırı, kendisine en yakın eğitim satırlarına göre etiketler. Ağırlıklarına (kg) ve kulak uzunluklarına (cm) göre evcil hayvanlar:

from sklearn.neighbors import KNeighborsClassifier

X_train = np.array([[4, 6], [5, 7], [3, 5], [30, 10], [25, 12], [35, 11]])
y_train = np.array(["cat", "cat", "cat", "dog", "dog", "dog"])
model = KNeighborsClassifier()
model.fit(X_train, y_train)
print(model.predict([[6, 6], [28, 11]]))

Bu, ['cat' 'dog'] çıktısını verir. Yeni satırlar tabloya, her evcil hayvan için bir satır olacak şekilde eklenir.

Oluştur, eğit, tahmin et: Bu bölümdeki her model bu üç adımı izler.

challenge icon

Görev

Kolay

Bir kuş gözlem kulübünün uygulaması, kanat açıklığı ve ağırlığa göre kuşlara ad verir. Başlangıç kodu kulübün birds.csv dosyasını böler ve bu akşam görülen kuşları spotted tablosuna okur.

  1. Bir k-en yakın komşu modeli oluştur ve eğitim kuşlarıyla eğit.
  2. Görülen her kuşu tek bir çağrıda tahmin et.
  3. Aşağıdaki gibi, her kuş için bir satır yazdır.

Başka bir yürüyüşte görülen üç kuş için:

Bird 1: sparrow
Bird 2: blackbird
Bird 3: robin

Kendin dene

import pandas as pd
from sklearn.model_selection import train_test_split

# Kulübün adlandırdığı her kuş için bir satır: kanat açıklığı cm cinsinden, ağırlığı gram cinsinden
birds = pd.read_csv("birds.csv")
X = birds[["wingspan_cm", "weight_g"]]
y = birds["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# Bu akşamki yürüyüş: önce kuş sayısı, ardından her birinin kanat açıklığı ve ağırlığı
count = int(input())
spans = []
weights = []
for i in range(count):
    spans.append(float(input()))
    weights.append(float(input()))
spotted = pd.DataFrame({"wingspan_cm": spans, "weight_g": weights})

# 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