Rekap: Perbaikan Skateboard
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 40 dari 58.
Tantangan
SedangMeja penyewaan di taman skateboard menginginkan model yang dapat mendeteksi papan yang dikembalikan dan perlu diperbaiki. Program membaca nilai k terbesar yang akan dicoba.
- Pisahkan 25% baris sebagai data uji (
random_state=0). - Untuk setiap k dalam
ks, lakukan validasi silang k-NN pada baris pelatihan (cv=5). Gambarkan nilai rata-ratanya sebagai batang dan cetak k terbaik. - Lakukan pencarian grid untuk
max_depthpada pohon menggunakandepths(cv=5,random_state=0) dan cetak nilai terbaik. - Nilai rata-rata yang lebih tinggi menang: cetak
Winner: k-NNatauWinner: treebeserta akurasi ujinya.
Untuk taman lain dan 13:
Best k: 13 (mean 0.785)
Best depth: 5 (mean 0.763)
Winner: k-NN, test accuracy 0.822Coddy kemudian menjelaskan grafikmu. Grafik mereka terlihat seperti ini:
Coba sendiri
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
# Nilai k terbesar yang akan dicoba, misalnya 15
max_k = int(input())
# Satu baris untuk setiap skateboard yang dikembalikan: jumlah penyewaan sejak servis terakhir, skor keausan dari 0 hingga 10
# dan retakan pada papan; 1 pada repair berarti skateboard dibawa ke bengkel
boards = pd.read_csv("skateboards.csv")
features = ["rentals", "wheel_wear", "bearing_noise", "grip_wear", "truck_wobble", "deck_cracks"]
X = boards[features]
y = boards["repair"]
# Setiap fitur berupa hitungan atau skor kecil, jadi k-NN tidak memerlukan scaler di sini
ks = list(range(1, max_k + 1, 2))
depths = [2, 3, 4, 5, 6, 7, 8]
fig, ax = plt.subplots()
ax.set_title("Skateboard Repairs: Accuracy by k")
ax.set_xlabel("k (neighbors)")
ax.set_ylabel("Mean CV accuracy")
ax.set_xticks(ks)
ax.set_ylim(0.6, 0.9) # dimulai dari 0.6 agar perbedaan kecil terlihat
# Tulis kodemu di bawah ini
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 Skrining8Validasi Silang
Validasi K-FoldMembandingkan Model secara AdilPencarian GridRekap: Perbaikan SkateboardLatihan sendiri: Compiler Python online