Введение

Успешно завершен второй проект Data Science Bootcamp, организованный совместно с Стамбульской академией наук о данных и Hepsiburada. В этом проекте мы создали модель прогнозирования цен на жилье с использованием машинного обучения, где продаются дома в Кадыкёй, Стамбул. Мы получили данные с этого сайта для парсинга.

Постановка задачи

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

Цель

  • Очистка веб-страниц с помощью Python BeautifulSoup
  • Предсказать цену дома

Методология

  • Сбор данных с помощью веб-скрейпинга
  • Очистка и реорганизация данных
  • Исследовательский анализ данных (EDA)
  • Линейная регрессия
  • Выводы

1. Сбор данных с помощью парсинга веб-страниц

Шаг 1 :

Наш первый шаг — импортировать библиотеки, которые могут потребоваться для построения нашей модели.

Шаг 2 :

Используя эту функцию, мы можем получить html-код заданного URL-адреса для работы.

Шаг 3 :

Затем нам нужна функция, как показано ниже, для доступа ко всем страницам.

Шаг 4:

На следующем шаге нам нужны были все ссылки на всех страницах для доступа к домашним публикациям.

Шаг 5:

Наконец, мы вытащили функции, которые мы будем загружать в столбцы со страницы, и создали наш фрейм данных.

df.to_csv("zingat_house_price_prediction.csv", encoding="ANSI")

2. Очистка и реорганизация данных

У нас есть некоторые проблемы с набором данных. Нам нужно разобраться с этим, прежде чем мы перейдем к части регрессии. Поэтому мы используем медианную функцию для заполнения нулевых значений и преобразования столбцов объектного типа в целочисленный тип. Мы убрали колонку «ОДА-САЛОН САЙИСИ» для лучшего машинного обучения. Мы создали новые столбцы, применив get_dummies к столбцу «MAHALLE».

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

После очистки данных и реорганизации распределения целевой переменной следующим образом;

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

  • 1. Топ-10 районов с самыми высокими средними ценами на жилье.
  • 2.Распределение количества комнат и залов.
  • 3.Распределение количества санузлов.
  • 4.Корреляционная матрица характеристик дома
  • 5.Корреляционная матрица района, в котором расположен дом

sns.pairplot(DF, aspect=1.5)

4. Линейная регрессия

Прежде всего, нам нужно импортировать все пакеты, которые мы обязательно будем использовать.

from sklearn.linear_model import LinearRegression
from sklearn.linear_model import RidgeCV
import statsmodels.api as sm
import statsmodels.formula.api as smf
from sklearn.model_selection import train_test_split
from pandas import Series, DataFrame
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import Ridge
from sklearn.linear_model import Lasso

Мы использовали набор данных, который мы применили get_dummies (new_df). После этого мы разделяем данные и классифицируем, какие столбцы являются переменными признаков, а какие — целевыми переменными. Размер тестовых данных составляет 20%. Мы использовали R2-Score и MSE в качестве показателей оценки при прогнозировании модели и сделали это для проверки проверки поезда.

MSE Value:  FİYAT    5.757277e+12
dtype: float64 

R^2 Score Value (Test):  0.5801046663202142 

R^2 Score Value (Validation):  0.5690857021978828
MSE Value:  FİYAT    6.274632e+12
dtype: float64 

R^2 Score Value (Test):  0.5438016679245479 

R^2 Score Value (Validation):  0.5303632838955692
R^2 Score Value (Test):  0.5793058427962506 

R^2 Score Value (Validation):  0.563142565405035
R^2 Score Value (Test):  0.5837754090161392 

R^2 Score Value (Validation):  0.5620382643849704

5. Выводы

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

  • Квадратный метр дома.
  • Количество комнат и жилых комнат в доме
  • Дом находится в Каддебостане или Фенербахче.
  • Показаны лучшие методы регрессии Линейная регрессия и Лассо-регрессия.

Что мы можем сделать, чтобы улучшить модель предсказания?

  • Сканирование данных о доме в большой области.
  • Работа с дополнительными функциями.
  • Выполнение более обширной разработки функций для функций.

Спасибо, что прочитали и нашли время прочитать мою статью. Вы можете посетить мои аккаунты LinkedIn и Github для получения более подробной информации.