Нашли ошибку?

Прогноз цены аренды

СредняяРеализацияГлава 10

#k ближайших соседей#регрессияid: ga-rent-price

Квартиры описаны признаками [площадь, этаж, минут до метро], для каждой известна цена аренды. Напишите predict_rent(train, query, k): функция прогнозирует цену для query как среднее цен k ближайших квартир (евклидово расстояние). Это регрессия методом k ближайших соседей.

Пример

train = [
    ([40, 3, 10], 35_000),
    ([42, 5, 12], 37_000),
    ([80, 10, 5], 90_000),
    ([38, 2, 15], 30_000),
]
predict_rent(train, [41, 4, 11], 2)   # 36000.0

Правила

Решение

def predict_rent(train: list[tuple[list[float], float]], query: list[float], k: int) -> float:
    """Средняя цена k ближайших квартир."""
    # ваш код
    raise NotImplementedError

Можно решать и в своём редакторе: «Скопировать с тестами» и запустите python3 rent_price.py — тесты те же, результат покажет ✓ / ✗ и итог.