Menu
CoddyTech

Memprediksi Angka

Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 11 dari 58.

Model dalam bab ini memprediksi angka. Di akhir bab ini, diagram kesalahan model akan menunjukkan hal yang terlewatkan:

Diagram kesalahan model terhadap suhu: titik-titik melengkung dari -280 hingga +140 lalu kembali turun, mengelilingi garis putus-putus pada 0, berlabel: model melewatkan kurva

Mulailah dengan sebuah garis yang kamu kenal. LinearRegression mempelajarinya dari tabel X, satu baris untuk setiap sampel dan satu kolom untuk setiap fitur:

from sklearn.linear_model import LinearRegression

area = np.array([60, 75, 90, 110, 130, 150])  # rumah, dalam m²
price = np.array([215, 248, 290, 335, 385, 428])  # ribuan dolar
X = area.reshape(-1, 1)  # 6 baris, 1 kolom
model = LinearRegression()
model.fit(X, price)
print(np.round(model.coef_, 2), np.round(model.intercept_, 2))
print(np.round(np.polyfit(area, price, 1), 2))

Ini mencetak baris yang sama dua kali:

[2.39] 71.59
[ 2.39 71.59]

Enam rumah sebagai titik, harga terhadap luas, dengan garis LinearRegression oranye tebal dan garis np.polyfit hitam putus-putus yang tepat bertumpuk: harga = 2.39 * luas + 71.59

coef_ menyimpan satu kemiringan untuk setiap fitur: setiap tambahan m² menambah 2,39 ribu dolar. intercept_ adalah titik awal garis, pada 0 m². Lalu, model.predict([[100]]) memperkirakan harga 100 m² sekitar 310,85 ribu.

challenge icon

Tantangan

Sedang

Sebuah percetakan tidak pernah mengumumkan harganya, tetapi kamu memiliki data 10 pekerjaan sebelumnya: pages dan price dalam dolar. Program membaca jumlah halaman untuk pekerjaan baru.

  1. Latih LinearRegression menggunakan jumlah halaman dalam tabel satu kolom.
  2. Cetak harga per halaman (3 desimal) dan biaya penyiapan, yaitu intersep (2 desimal).
  3. Cetak prediksi harga pekerjaan baru (2 desimal).

Untuk percetakan lain dan 120:

Per page: 0.095 dollars
Setup fee: 4.1 dollars
120 pages: 15.5 dollars

Coba sendiri

import numpy as np
from sklearn.linear_model import LinearRegression

# 10 pekerjaan cetak sebelumnya: jumlah halaman yang dicetak dan biaya yang dibayar, dalam dolar
pages = np.array([40, 75, 120, 160, 210, 260, 300, 380, 450, 520])
price = np.array([7.38, 12.6, 17.65, 20.69, 26.63, 32.18, 37.76, 46.4, 55.17, 60.89])
new_pages = int(input())

# Tulis kodemu di bawah ini
quiz iconUji dirimu

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

Semua pelajaran di Pembelajaran Terawasi

Latihan sendiri: Compiler Python online