Menu
CoddyTech

Menggambar Garis Kecocokan

Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 37 dari 64.

Dua angka menggambarkan kecocokan, tetapi hanya grafik yang menunjukkan apakah garisnya mengikuti data. Sebuah dapur mencatat waktu enam kali merebus ketel. Gambar garis pada ax yang sama dengan sebaran titik:

liters = np.array([0.5, 0.8, 1.0, 1.2, 1.5, 1.7])
minutes = np.array([1.6, 2.4, 2.7, 3.3, 3.9, 4.5])
slope, intercept = np.polyfit(liters, minutes, 1)
xs = np.linspace(liters.min(), liters.max(), 50)
fig, ax = plt.subplots()
ax.scatter(liters, minutes, label="Boils")
ax.plot(xs, slope * xs + intercept, color="C1", label="Fit")
ax.legend()
plt.show()

xs berjalan dari x terkecil hingga terbesar, jadi garis dimulai dan berakhir di tempat data berada:

Enam kali air ketel mendidih sebagai titik, menit untuk mendidih terhadap liter air, meningkat dari 1.6 hingga 4.5 menit, dengan garis pas berwarna oranye yang melewatinya dari 0.5 hingga 1.7 liter

Menggambar prediksi model di atas datanya adalah cara tercepat untuk memeriksa apakah model mempelajari sesuatu yang masuk akal. Garis yang tidak melewati titik-titik menandakan hasil pencocokan yang buruk.

challenge icon

Tantangan

Sedang

Seorang pengelola gedung mencatat waktu 12 perjalanan lift: lantai yang ditempuh, floors, dan waktu yang dibutuhkan, seconds. Kode awal menyiapkan grafik dengan judul dan label.

  1. Sesuaikan garis yang memprediksi seconds dari floors.
  2. Gambarkan perjalanan sebagai scatter dengan label Rides, dan garis dengan label Fit, dari jumlah lantai paling sedikit hingga paling banyak.
  3. Tambahkan legenda dan tampilkan grafik.

Kode ini tidak mencetak apa pun; Coddy akan menjelaskan grafikmu. Grafik gedung lain terlihat seperti ini:

Grafik berjudul Elevator Rides: delapan titik yang naik dari 14 detik pada 2 lantai menjadi 51 detik pada 20 lantai, garis hasil penyesuaian dari lantai titik pertama hingga titik terakhir, dan legenda yang menamai Rides dan Fit

Coba sendiri

import numpy as np
import matplotlib.pyplot as plt

floors = np.array([3, 7, 1, 12, 5, 9, 15, 2, 10, 6, 13, 8])
seconds = np.array([15.3, 27.0, 12.4, 36.0, 19.5, 28.8, 44.9, 12.7, 33.2, 19.4, 41.7, 27.0])
# Jangan ubah baris-baris di bawah ini
fig, ax = plt.subplots()
ax.set_title("Elevator Rides")
ax.set_xlabel("Floors")
ax.set_ylabel("Seconds")

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Statistik untuk ML

Latihan sendiri: Compiler Python online