Вступ
А що як би ви могли передбачити ціни на житло з високою точністю? Незалежно від того, чи ви покупець, інвестор чи агент з нерухомості, розуміння тенденцій ринку житла може дати значну перевагу. У цьому проекті я поставив мету передбачити ціни на житло в Мельбурні, Австралія, за допомогою методів машинного навчання. Аналізуючи історичні дані про транзакції, застосовуючи інженерію ознак та будуючи потужні моделі, такі як Random Forest, я зміг досягти вражаючих результатів.
Цей блог проведе вас через весь процес, від вивчення даних до побудови предсказувальної моделі, і поділиться ключовими висновками та уроками на цьому шляху.
Проблема
Ціни на житло коливаються через різноманітні фактори, що ускладнює прогнозування майбутніх тенденцій. Однак точні прогнози можуть:
- Допомогти покупцям приймати обґрунтовані рішення.
- Підтримати інвесторів у виявленні вигідних можливостей.
- Допомогти політикам зрозуміти динаміку ринку.
Метою цього проекту було передбачити середню ціну на житло в Мельбурні на основі історичних даних. Основний акцент був зроблений на розробку стійкої моделі машинного навчання, здатної працювати з нелінійними взаємозв'язками та надавати надійні прогнози.
Дані
Набір даних було отримано з платформи City of Melbourne Open Data. Він містив ключові ознаки, такі як:
- Середня ціна: Цільова змінна.
- Кількість транзакцій: Кількість угод з нерухомістю.
- Тип нерухомості: Житлові будинки, таунхауси та квартири.
- Мала територія: Географічні регіони в межах Мельбурна.
- Рік продажу: Рік транзакції.
Попередня обробка даних
Перед тим як перейти до моделювання, я здійснив необхідні етапи попередньої обробки:
- Обробка відсутніх значень: Заповнив відсутні значення
median_price
на основі типу нерухомості. - Кодування категоріальних ознак: Перетворив типи нерухомості та малі території в числові значення за допомогою кодування міток.
- Інженерія ознак: Створив додаткові ознаки для покращення прогностичних можливостей (наприклад, ковзаючі середні та густина транзакцій).
Експлоративний аналіз даних (EDA)
EDA виявив цінні інсайти щодо ринку житла в Мельбурні:
- Тренди середніх цін: Ціни значно варіювались залежно від типу нерухомості та малих територій.
- Моделі транзакцій: Висока густина транзакцій у певних регіонах корелювала з вищими середніми цінами.
Основні візуалізації включали:
- Лінійний графік, що показує зміни середніх цін за роками.
- Точковий графік, що підкреслює взаємозв'язок між густиною транзакцій і середніми цінами.
Інженерія ознак
Для покращення точності моделі я створив нові ознаки:
- Ковзаюче середнє ціни: Зафіксовані історичні тренди в цінах.
- Густина транзакцій: Нормалізовані кількості транзакцій для відображення ринкової активності.
Ці ознаки стали критично важливими для покращення ефективності моделей машинного навчання.
Моделі
Базова модель: Лінійна регресія
Лінійна регресія служила як базова модель. Хоча вона дала відправну точку, її нездатність працювати з нелінійними зв'язками обмежувала її ефективність:
- Тест RMSE: 276,091
- R² бал: 0.519
Покращена модель: Random Forest
Щоб подолати обмеження лінійної регресії, я використав налаштовану модель Random Forest Regressor. Для оптимізації гіперпараметрів було застосовано GridSearchCV. Результати були вражаючими:
- Тест RMSE: 197,573
- R² бал: 0.754
Здатність моделі Random Forest обробляти складні взаємодії ознак і нелінійності зробила її переможцем.
Результати
Порівняння моделей
| Модель | Тест RMSE | Тест R² |
|--------|-----------|---------|
| Лінійна регресія | 276,091 | 0.519 |
| Random Forest (налаштований) | 197,573 | 0.754 |
Ключові висновки
- Налаштована модель Random Forest зменшила RMSE на 28% порівняно з лінійною регресією.
2.
Тематичний вплив ковзаючого середнього ціни та густини транзакцій був найбільш визначальним при прогнозуванні середніх цін.
Візуальні Інсайти
Плотність залишків
Залишки для моделі Random Forest були зосереджені навколо нуля, що свідчить про непохибні прогнози. Однак було виявлено кілька аномальних випадків, особливо вищих цінових діапазонів.
Важливість ознак
Графік важливості ознак показав найбільш критичні прогнози:
- Ковзаюче середнє ціни: Сильно корелює з ринковими тенденціями.
- Густина транзакцій: Відображає ринкову активність.
- Рік продажу: Мав помірну роль.
Виклики та Уроки
Виклики
- Обробка відсутніх даних: Стратегії імпутації потрібно було ретельно вибирати, щоб уникнути упередженості.
- Інженерія ознак: Створення значущих ознак вимагало глибокого розуміння предметної області.
Уроки
- Важливість попередньої обробки даних та інженерії ознак у покращенні ефективності моделі.
- Ансамблеві методи, такі як Random Forest, чудово справляються з виявленням складних зв'язків у даних.
Висновок та наступні кроки
Підсумок
Цей проект успішно продемонстрував потужність машинного навчання в прогнозуванні цін на житло. Налаштована модель Random Forest досягла високої точності та надала цінні інсайти щодо ринку житла в Мельбурні.
Наступні кроки
- Розширення ознак: Включити соціально-економічні та екологічні дані для багатших прогнозів.
- Обробка аномалій: Дослідити та обробити випадки з великими залишками.
- Розгортання: Реалізувати модель у вигляді панелі інструментів або API для реального прогнозування.
- Універсальність: Розширити аналіз на інші міста чи регіони.
Ознайомитись з кодом та набором даних
- Репозиторій GitHub: Прогнозування цін на житло в Мельбурні
- Профіль на LinkedIn: Eby Thomas
Поділившись цією подорожжю, я сподіваюся надихнути інших на вивчення потенціалу машинного навчання у реальних додатках. Не соромтесь підключатися або залишати відгуки — я був би радий почути вашу думку!
Перекладено з: Predicting Melbourne Housing Prices with Machine Learning