Согласно отчету speedtest.net за третий квартал 2021 года, Макассар был назван городом с самой высокой скоростью интернета в Индонезии. Эта информация, безусловно, очень интересна, особенно когда в 2020 году произошла пандемия Covid 19 (это происходит и сегодня), наша потребность в Интернете стала намного выше. После пандемии многие мероприятия проводятся в Интернете, например, для учебы, работы, вебинаров и многих других мероприятий. Это делает скорость интернета решающим фактором для этих видов деятельности, особенно если вам приходится работать из дома.

Если вы работаете из дома и живете в городе с плохой скоростью интернета, Макассар может быть интересным вариантом для жизни. Что ж, в Макассаре могут быть проблемы, как и в других городах, такие как наводнения, преступность, высокая температура во время день и т.д. Но, это еще много других удобств.

Если вы действительно заинтересованы в жизни в Макассаре или уже жили в Макассаре, но у вас еще нет дома, вам может быть интересно, сколько денег вы должны потратить, чтобы владеть домом в Макассаре. Итак, здесь я постараюсь помочь ответить на ваш вопрос. В этой статье я покажу вам средние цены на жилье в Макассаре, предлагаемые на рынке.

На самом деле, я пытаюсь выполнить сквозной проект по науке о данных, в котором мне нужно собрать набор данных, выполнить исследовательский анализ данных (EDA), построить модели машинного обучения для прогнозирования и прогнозирования и эффективно использовать результат. Так как этот проект будет очень длинным, если я напишу его в одной статье, напишу в двух статьях. Это первая статья, которая будет охватывать от первого этапа до визуализации данных на этапе EDA. Остальные будут опубликованы в следующей статье.

Сбор данных

Когда этот проект пришел мне на ум, я представил, что нужные мне данные могут быть недоступны в форме, готовой к обработке, например, в виде файла xlsx или csv. И это правильно. После поиска в Интернете нет набора данных о ценах на жилье в Макассаре. Поэтому мне нужно собрать данные о торговой площадке в Интернете, которая предлагает дома в Макассаре. Этот процесс обычно называют парсингом веб-страниц.

Торговая площадка, которую я выбрал для сбора данных, называется olx.co.id. Я выбрал olx, потому что оттуда проще собирать данные (тем более я могу посмотреть туториалы на Youtube, ха-ха, можно посмотреть здесь).

Когда веб-скрейпинг был завершен, у меня была почти тысяча предложений на olx в Макассаре. Из olx я взял некоторую информацию, такую ​​как название, местоположение, цену (harga) и характеристики (fitur) домов, а затем ввел ее в другую колонку. Но данные очень грязные, которые нужно очистить. Итак, мы перейдем к следующему этапу — исследовательскому анализу данных (EDA). Вы можете получить доступ к исходному коду парсинга в моем GitHub.

Исследовательский анализ данных

Данные из olx содержат не только дома или квартиры для продажи, но и магазины домов и земли для продажи, а также дома для аренды. Нам не нужны эти данные. Итак, мы должны «очистить» данные.

Работа с отсутствующими значениями

Один из столбцов в наборе данных — это столбец функций, который содержит информацию о том, сколько спален и ванных комнат и насколько велик дом. Многие строки в данных не имеют значений в столбце признаков. После поиска в заголовке столбца в нем есть две причины.

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

Избавьтесь от выбросов

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

Я также создал визуализацию данных столбца «harga_per_meter2», прежде чем очистить данные от выбросов с помощью графика скрипки и гистограммы.

Из графика видно, что данные содержат много выбросов. После его отслеживания выбросы также могут быть недействительными данными, поэтому их необходимо удалить из данных. Метод, который я использовал для удаления выбросов, — это метод IQR и значение z-оценки.

# remove harga_per_meter2 outliers
def remove_pps_outliers(df):
    df_out = pd.DataFrame()
    for key, subdf in df.groupby('kecamatan'):
        m = np.mean(subdf.harga_per_meter2)
        st = np.std(subdf.harga_per_meter2)
        reduced_df = subdf[(subdf.harga_per_meter2>(m-st)) & (subdf.harga_per_meter2<=(m+st))]
        df_out = pd.concat([df_out,reduced_df],ignore_index=True)
    return df_out
df6 = remove_pps_outliers(df5)

Сразу после очистки данных от выбросов данные становятся лучше распределенными, а график скрипки и гистограмма «harga_per_meter2» выглядят хорошо.

Визуализация данных

Коробчатая диаграмма

После очистки данных я хочу посмотреть, как визуализируются данные столбца «harga_per_meter2», если данные сгруппированы по подрайонам (кекаматан) с коробчатой ​​диаграммой.

В некоторых подрайонах на блочной диаграмме есть точки за рамками, которые выглядят как выбросы. Но после поиска точки не являются выбросами. Точки внизу прямоугольника представляют собой дома, которые их владельцы продают по низкой цене. С другой стороны, точки над прямоугольником представляют собой роскошные дома или квартиры, которые имеют высокую цену. У Bontoala и Wajo просто есть линия вместо прямоугольника, потому что предлагается только один дом, поэтому нет медианы, не говоря уже о Q1 или Q3.

Тепловая карта корреляции и точечная диаграмма

Далее я хочу показать, как соотносится один числовой столбец с другим.

График показывает высокую корреляцию между одним числовым столбцом и другим, за исключением столбца «harga_per_meter2», потому что «harga_per_meter2» или значение столбца цены за квадратный метр, полученное путем деления значений двух других столбцов (цена и площадь). Самая высокая корреляция в данных — это корреляция между ценой и площадью дома. На втором месте корреляция между количеством спален и ванных комнат (столбцы «kamar_tidur» и «kamar_mandi»).

Давайте посмотрим на график рассеяния двух самых высоких корреляций данных с их линиями тренда.

График разброса между ценой и площадью дома показывает положительную корреляцию. Согласно положительной корреляции, чем больше дом, тем выше будет и цена. На графике видно, что большинство домов в данных имеют площадь менее 200 м2 и очень мало предлагаются дома площадью более 600 м2.

Как и предыдущий график рассеяния между ценой и площадью дома, график рассеяния между количеством спален и ванных комнат также показывает положительную корреляцию. Количество спален и ванных комнат, по-видимому, также коррелирует с площадью дома. Чем больше в доме спален и ванных комнат, тем больше будет площадь дома. Конечно, эта информация является фактом. Это невозможно, если вы хотите иметь 10 спален и 10 ванных комнат, а ваш дом всего 200 м2.

Средняя цена дома

Теперь мы переходим к самой интересной части этой статьи. Какова средняя цена дома в Макассаре на основе данных? Я пытаюсь дать некоторую визуализацию, иллюстрирующую среднюю цену дома в Макассаре.

На приведенном выше графике показана средняя цена дома за квадратный метр по районам. На графике средний диапазон цен за метр2 составляет от 7,05 млн до 13,4 млн рупий. Самая низкая средняя цена за метр2 в подрайоне Вайо. Значения в Wajo могут быть нерепрезентативными, поскольку на основе данных там предлагается только один дом.

Самая высокая средняя цена за метр2 в Тамалате. Это имеет смысл, потому что Тамалате принадлежит один из престижных районов Макассара, а именно Танджунг Бунга.

Если предыдущий график показывал среднюю цену дома за метр2, то теперь график показывает среднюю цену дома по районам. Средний диапазон цен на жилье в Макассаре по районам составляет от 590 миллионов до 6 миллиардов рупий. Мамаджанг - это район с самой высокой средней ценой на жилье в Макассаре. Здесь предлагается несколько роскошных домов. Ваджо - второй район с самым высоким средним числом домов в Макассаре. Опять же, цены в Wajo могут быть нерепрезентативными, так как там предлагается только один дом.

Два подрайона с самыми низкими средними ценами на жилье - это Талло с 590 миллионами рупий, за которым следует Манггала с 762 миллионами рупий. Так что, если вы ищете дом по самой доступной цене, найдите его в Талло или Манггала.

И последнее, но не менее важное: график, показывающий среднюю цену дома в зависимости от количества спален. На графике хорошо видно, что цены на дома будут увеличиваться за счет количества спален. Но там есть аномалия. Средняя цена дома с 8 спальнями составляет всего 1,65 миллиарда рупий, что даже дешевле, чем средняя цена дома с 4 спальнями. Это происходит потому, что есть только один дом, который предлагается с 8 спальнями и предлагается по низкой цене владельцем.

Если вы еще не женаты или у вас небольшая семья, которой нужен только дом с одной или двумя спальнями, вам понадобится от 305 до 507 миллионов рупий, чтобы купить дом в Макассаре.

Закрытие

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

Если у вас есть какие-либо предложения и критика в мой адрес, просто прокомментируйте ниже или свяжитесь со мной.

Хорошего дня, ребята!

Вы можете получить доступ к набору данных, исходному коду этапа парсинга веб-страниц и этапа EDA в моем репозитории GitHub.