Melatih dan Memprediksi
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 3 dari 58.
Setiap model scikit-learn bekerja dengan dua pemanggilan. fit mempelajari baris pelatihan beserta labelnya; predict memberi label pada baris yang belum pernah dilihat model:
Model dari pelajaran pertama dalam perjalanan ini adalah k-nearest neighbors: model ini memberi label pada sebuah baris berdasarkan baris pelatihan yang paling dekat dengannya. Hewan peliharaan berdasarkan berat (kg) dan panjang telinga (cm):
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]]))Ini mencetak ['cat' 'dog']. Baris baru dimasukkan sebagai tabel, satu baris untuk setiap hewan peliharaan.
Buat, sesuaikan, prediksi: setiap model di bagian ini mengikuti tiga langkah berikut.
Tantangan
MudahAplikasi klub pengamat burung memberi nama burung berdasarkan rentang sayap dan beratnya. Kode awal membagi data klub dari birds.csv dan membaca burung malam ini ke dalam tabel spotted.
- Buat model k-nearest neighbors dan latih model itu dengan data burung pelatihan.
- Prediksi semua burung yang terlihat dalam satu pemanggilan.
- Cetak satu baris untuk setiap burung, seperti di bawah ini.
Untuk tiga burung dalam pengamatan lain:
Bird 1: sparrow
Bird 2: blackbird
Bird 3: robinCoba sendiri
import pandas as pd
from sklearn.model_selection import train_test_split
# Satu baris untuk setiap burung yang sudah diberi nama oleh klub: rentang sayap dalam cm, berat dalam gram
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)
# Pengamatan malam ini: jumlah burung, lalu rentang sayap dan berat masing-masing
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})
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pembelajaran Terawasi
1Model Pertamamu
Belajar dari ContohData Latih dan Data UjiMelatih dan MemprediksiMenilai ModelRangkuman: Penyortir Benih4Regresi Logistik
Prediksi Ya atau TidakAmbang KeputusanBobot sebagai BuktiBeberapa KelasRangkuman: Filter Spam2Tetangga Terdekat
Cara k-NN MenentukanMemilih kBatas KeputusanPenskalaan untuk TetanggaRingkasan: Tetangga Wine5Mengukur Model Klasifikasi
Matriks KonfusiPresisi dan RecallSkor F1Kelas Tidak SeimbangKurva ROCRangkuman: Tes SkriningLatihan sendiri: Compiler Python online