Skip to content

Gando4lapi/house-price-linear-regression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

house-price-linear-regression

This repository examines the basic linear regression model of deeplearning.ai

Этот код реализует простую линейную регрессию для моделирования зависимости цены жилья от площади, используя Python и библиотеки NumPy и Matplotlib.

Импорт библиотек

import numpy as np — импортирует библиотеку NumPy, которая используется для работы с массивами и математическими операциями.

import matplotlib.pyplot as plt — импортирует модуль pyplot из библиотеки Matplotlib для построения графиков.

Задание обучающих данных

x_train = np.array([1.0, 2.0]) — создаёт массив входных данных (площадей домов в тысячах квадратных футов).

y_train = np.array([300.0, 500.0]) — создаёт массив целевых значений (цен домов в тысячах долларов).

Вывод исходных данных

print(f"x_train = {x_train}") — выводит значения массива x_train.

print(f"y_train = {y_train}") — выводит значения массива y_train.

print(f"x_train.shape = {x_train.shape}") — выводит форму (размер) массива x_train.

m = x_train.shape — присваивает переменной m количество обучающих примеров из первого измерения массива.

print(f"number of training examples is: {m}") — выводит количество обучающих примеров.

m = len(x_train) — альтернативный способ получить количество элементов массива x_train.

print(f"number of training examples is: {m}") — снова выводит количество обучающих примеров.

Доступ к элементу массива

i = 0 — индекс нулевого элемента для выборки одного примера.

x_i = x_train[i] — выбирает значение площади первого дома.

y_i = y_train[i] — выбирает цену первого дома.

print(f"(x^({i}), y^({i})) = ({x_i}, {y_i})") — выводит выбранную пару данных как обучающий пример.

Визуализация обучающих данных

plt.scatter(x_train, y_train, marker='x', c='r') — строит рассеянный график (scatter plot) исходных данных, где точки показывают реальные цены относительно площадей.

plt.title("Housing prices") — задаёт заголовок графика.

plt.ylabel('price (in 1000s of dollars)') — задаёт подпись оси Y: цены домов.

plt.xlabel('size (1000 sqft)') — задаёт подпись оси X: площади домов.

plt.show() — отображает график на экране.

Параметры линейной модели

w = 200 — коэффициент (наклон) линейной модели: цена за 1 тысячу квадратных футов.

b = 100 — свободный член (сдвиг): базовая цена при нулевой площади.

print(f"w: {w}") — выводит значение коэффициента w.

print(f"b: {b}") — выводит значение свободного члена b.

Функция вычисления предсказаний

def compute_model_output(x, w, b): — объявляет функцию, вычисляющую значения модели для входных данных.

m = x.shape — определяет количество примеров.

f_wb = np.zeros(m) — создаёт массив нулей для хранения предсказаний.

for i in range(m): f_wb[i] = w * x[i] + b — для каждого примера вычисляет предсказание по формуле f w b

w x + b f wb =wx+b.

return f_wb — возвращает массив предсказаний.

Получение и визуализация предсказаний

tmp_f_wb = compute_model_output(x_train, w, b) — вычисляет предсказания модели на обучающих данных.

plt.plot(x_train, tmp_f_wb, c='b', label='Our Prediction') — строит линию предсказаний модели.

plt.scatter(x_train, y_train, marker='x', c='r', label='Actual Values') — строит фактические значения для сравнения.

plt.title("Housing Prices") — добавляет заголовок.

plt.ylabel('Price (in 1000s of dollars)') — задаёт подпись оси Y.

plt.xlabel('Size (1000 sqft)') — задаёт подпись оси X.

plt.legend() — выводит легенду для разных линий/точек.

plt.show() — показывает итоговый график.

Расчёт стоимости для заданной площади

w = 200 — переустанавливает коэффициент наклона.

b = 100 — переустанавливает свободный член.

x_i = 1.2 — выбирает новую площадь (например, 1200 sqft).

cost_1200sqft = w * x_i + b — вычисляет прогнозируемую стоимость для этой площади.

print(f"${cost_1200sqft:.0f} thousand dollars") — выводит итоговую стоимость в тысячах долларов без дробной части.

About

This repository examines the basic linear regression model of deeplearning.ai

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published