Последние несколько дней я просматривал множество веб-страниц, посвященных недвижимости, потому что ищу новое место в Сиднее. Я хотел автоматизировать этот процесс и посмотреть, как каждая из особенностей квартиры влияет на ее цену. Поскольку я любитель пляжей, я также хотел рассмотреть расстояние до каждой квартиры и то, как эта особенность влияет на стоимость аренды.

Для создания моего набора данных я удалил из Интернета список 5000 квартир с www.домен.com.au и извлек их цену и характеристики.

После некоторой очистки данных мы получаем следующий фрейм данных:

Но чтобы получить расстояние от каждой из 5000 квартир до моря, нам нужно перевести адрес в геокоординаты, а затем каким-то образом вычислить, какое расстояние от этих адресов до моря.

С помощью Google Maps API мы можем получить геокоординаты каждого адреса:

С помощью геокоординат мы можем построить квартиры, используя тепловую карту Google Maps:

Теперь самое сложное, так как нам нужно вычислить расстояние от каждой квартиры до моря в метрах. Для этого нам потребуется загрузить геокоординаты береговой линии Нового Южного Уэльса и вычислить ближайшее расстояние каждой точки до побережья.

На веб-странице пространственного каталога данных Нового Южного Уэльса мы можем загрузить береговую линию Нового Южного Уэльса в виде шейп-файла (побережье представлено в виде многоугольника) и использовать его для расчета расстояния от каждой квартиры до моря. После некоторых сложных вычислений (все они подробно описаны в моей записной книжке Jupyter) мы получаем этот хороший DataFrame:

А это Распределение Расстояний до Моря

Теперь, когда у нас есть все наши данные, мы можем использовать машинное обучение для построения модели. Я выбрал модель Лес случайной регрессии. Сначала нам нужно было бы разработать некоторые функции для обработки категориальных значений и нормализации наших данных. После разделения наших данных на обучающий и тестовый наборы мы можем оценить нашу модель:

Хотя результаты в тестовом наборе немного ниже, оба набора дают действительно хорошие результаты. В качестве последнего шага мы можем увидеть, как каждая отдельная характеристика (количество комнат, расстояние до моря, ванные комнаты, парковочные места, почтовый индекс и тип собственности) влияет на цену аренды квартиры и какие из них наиболее важны для определения цены квартиры.

Вау! Как мы видим, расстояние до моря является наиболее важной характеристикой при определении стоимости аренды квартиры в Сиднее, за которой следует N комнат и ванных комнат (другими переменными являются ПОЧТОВЫЙ ИНДЕКС и тип недвижимости).

Блокноты Jupyter доступны на моей веб-странице Github: https://github.com/santiagorush/JupyterScripts. Если у вас есть какие-либо вопросы, не стесняйтесь обращаться.