Seberapa Baik Kecocokannya?
Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 39 dari 64.
Setiap kumpulan data punya garis, jadi kecocokan perlu dinilai. Seorang pelaut mencatat kecepatan angin dan perahu: bandingkan jumlah kuadrat selisih garis dengan jumlah kuadrat selisih rata-rata, tebakan paling sederhana:
R kuadrat adalah bagian dari sebaran yang dijelaskan oleh garis:
wind = np.array([6, 8, 10, 12, 15, 18])
boat = np.array([3.1, 4.4, 4.9, 6.2, 6.8, 8.1])
slope, intercept = np.polyfit(wind, boat, 1)
predicted = slope * wind + intercept
ss_res = ((boat - predicted) ** 2).sum() # hasil pencocokan: 0.35
ss_tot = ((boat - boat.mean()) ** 2).sum() # rata-rata: 16.23
print(np.round(1 - ss_res / ss_tot, 3))Ini mencetak 0.979: baris ini menjelaskan 98% variasi kecepatan. 1 berarti garis yang sempurna, 0 berarti tidak lebih baik daripada rata-rata.
Ini adalah nilai standar untuk model yang memprediksi angka. Untuk garis yang telah dicocokkan, nilainya sama dengan r kuadrat.
Tantangan
SedangSebuah perkebunan jamur mencatat 16 bedeng tanam di mushrooms.csv. Program membaca nama kolom, lalu kode awal menyesuaikan garis yang memprediksi harvest_kg berdasarkan kolom tersebut. Laporannya memerlukan r_squared, yang masih kosong.
- Lengkapi
r_squared(y, predicted)agar mengembalikan nilai R kuadrat. - Di bagian akhir, cetak pemeriksaannya: korelasi
xdany, dikuadratkan, dikalikan 100, lalu dibulatkan menjadi 1 angka desimal.
Untuk perkebunan lain dan input humidity:
humidity explains 27.0% of the harvest variation
Check with r squared: 27.0%Coba sendiri
import numpy as np
import pandas as pd
# Mengembalikan nilai R kuadrat dari prediksi untuk y
def r_squared(y, predicted):
# Tulis kodemu di sini
return 0
beds = pd.read_csv("mushrooms.csv")
column = input()
# Jangan ubah baris-baris di bawah ini
x = beds[column]
y = beds["harvest_kg"]
slope, intercept = np.polyfit(x, y, 1)
predicted = slope * x + intercept
r2 = r_squared(y, predicted)
print(f"{column} explains {np.round(r2 * 100, 1)}% of the harvest variation")
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Statistik untuk ML
1Pusat dan Sebaran
Rata-rata dan MedianPersentil dan KuartilVarians dan Simpangan BakuSampel atau Populasi?Nilai yang Paling Sering MunculRangkuman: Waktu Pengiriman4Sampel dan Populasi
Populasi dan SampelRata-rata Sampel BervariasiDistribusi SamplingSampel Lebih Besar, Lebih Sedikit GangguanRangkuman: Jajak Pendapat di Sebuah Kota7Garis Tren
ResidualPencocokan Kuadrat TerkecilMenggambar Garis KecocokanMemprediksi dengan GarisSeberapa Baik Kecocokannya?Rangkuman: Jam Latihan2Distribusi
Histogram KepadatanBentuk DataKurva NormalAturan 68-95-99,7Skor-ZRekap: Daya Tahan Baterai5Nilai Pencilan
Diagram KotakAturan IQRAturan Z-ScoreMenangani Nilai PencilanRangkuman: Gangguan Sensor3Probabilitas melalui Simulasi
Probabilitas sebagai FrekuensiHukum Bilangan BesarJumlah Mata DaduNilai HarapanProbabilitas BersyaratRangkuman: Peluang di Lapak Dadu6Hubungan
Membaca Diagram PencarKorelasiMatriks KorelasiPeta Panas KorelasiKorelasi Bukan Sebab-AkibatRangkuman: Es Krim dan MatahariLatihan sendiri: Compiler Python online