Напишите модель линейной регрессии, которая будет предсказывать цену дома на основе его площади в квадратных метрах.
Сгенерируйте искусственные данные, обучите модель и сделайте предсказание для нового значения.
Решение задачи🔽
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# Генерация данных
np.random.seed(0)
area = np.random.randint(30, 150, size=100).reshape(-1, 1) # площадь от 30 до 150 м²
price = area * 1000 + np.random.normal(0, 10000, size=area.shape) # цена с шумом
# Обучение модели
model = LinearRegression()
model.fit(area, price)
# Предсказание
new_area = np.array([[100]])
predicted_price = model.predict(new_area)
print(f"Ожидаемая цена дома 100 м²: {predicted_price[0][0]:,.0f}₽")
# Визуализация
plt.scatter(area, price, label='Данные')
plt.plot(area, model.predict(area), color='red', label='Линейная модель')
plt.xlabel('Площадь (м²)')
plt.ylabel('Цена (₽)')
plt.legend()
plt.show()