Menu
CoddyTech

Sayıları Tahmin Etme

Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 11 / 58.

Bu bölümdeki modeller sayıları tahmin eder. Bölümün sonunda, bir modelin hatalarını gösteren grafik, modelin gözden kaçırdığı şeyi ortaya çıkaracak:

Sıcaklığa karşı bir modelin hatalarını gösteren grafik: noktalar, 0’daki kesikli bir çizginin çevresinde -280’den +140’a kadar yükselip sonra tekrar alçalıyor; etiket: model bir eğriyi gözden kaçırdı

Bildiğin bir doğruyla başla. LinearRegression, bunu bir X tablosundan öğrenir; her örnek için bir satır ve her özellik için bir sütun:

from sklearn.linear_model import LinearRegression

area = np.array([60, 75, 90, 110, 130, 150])  # evler, m² cinsinden
price = np.array([215, 248, 290, 335, 385, 428])  # bin dolar
X = area.reshape(-1, 1)  # 6 satır, 1 sütun
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))

Bu, aynı satırı iki kez yazdırır:

[2.39] 71.59
[ 2.39 71.59]

Alanına göre fiyatı gösteren noktalar olarak altı ev; kalın turuncu LinearRegression çizgisi ile kesikli siyah np.polyfit çizgisi tam olarak üst üste: price = 2.39 * area + 71.59

coef_ her özellik için bir eğim değeri içerir: her fazladan m², 2.39 bin dolar ekler. intercept_ doğrunun başlangıç noktasını, 0 m²'deki değerini belirtir. Ardından model.predict([[100]]), 100 m²'yi yaklaşık 310.85 bin dolar olarak fiyatlandırır.

challenge icon

Görev

Orta

Bir matbaa fiyatlarını hiç yayımlamadı, ancak elinde geçmişteki 10 işe ait veriler var: dolar cinsinden pages ve price. Program yeni bir işin sayfa sayısını okuyor.

  1. Sayfa sayılarını tek sütunlu bir tablo olarak kullanarak bir LinearRegression modeli eğit.
  2. Sayfa başına fiyatı (3 ondalık basamakla) ve kesişim noktası olan kurulum ücretini (2 ondalık basamakla) yazdır.
  3. Yeni iş için tahmin edilen fiyatı (2 ondalık basamakla) yazdır.

Başka bir matbaa ve 120 için:

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

Kendin dene

import numpy as np
from sklearn.linear_model import LinearRegression

# Geçmişteki 10 baskı işi: basılan sayfa sayısı ve dolar cinsinden ödenen ücret
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())

# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Denetimli Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi