code-review-101-hitnes

0
README.md

Анализ стоимости жилья в Калифорнии (California Housing Dataset)

Описание проекта

Цель проекта — провести exploratory data analysis (EDA) на датасете California Housing, чтобы изучить распределение стоимости жилья и зависимость от различных признаков. Проект реализован на Python с использованием

pandas
,
numpy
и
matplotlib
.


Источник данных

Данные взяты из sklearn:

fetch_california_housing
.

Датасет содержит 20640 записей и 9 колонок (8 признаков и 1 целевая переменная):

КолонкаОписание
MedInc
Средний доход в блоке (в десятках тысяч долларов)
HouseAge
Средний возраст домов в блоке
AveRooms
Среднее количество комнат на дом
AveBedrms
Среднее количество спален на дом
Population
Население блока
AveOccup
Среднее количество людей на дом
Latitude
Широта блока
Longitude
Долгота блока
MedHouseVal
Целевая переменная — средняя стоимость домов в блоке (в сотнях тысяч долларов)

Задачи проекта

  1. Загрузить данные и подготовить DataFrame.
  2. Провести анализ целевой переменной (
    MedHouseVal
    ).
  3. Провести анализ статистики признаков.
  4. Визуализировать распределения целевой переменной и признаков.
  5. Создать scatter plots признаков против целевой переменной.
  6. Провести анализ корреляций и визуализировать их.

Статистика целевой переменной

  • Средняя стоимость дома ≈ $207,000.
  • Большинство домов сосредоточены в диапазоне 138,000138,000–257,000.
  • Максимальное значение 5 (обрезка данных в датасете).

Статистика признаков

ПризнакСреднееСтдМинМакс
MedInc3.871.900.5015.0
HouseAge28.6412.59152
AveRooms5.432.052.14141.0
AveBedrms1.100.200.334.0
Population1425.481132.46335682
AveOccup3.072.040.331243.0
Latitude35.632.1432.542.0
Longitude-119.572.00-124.3-114.3

Визуализации

1. Распределение целевой переменной

  • Гистограмма с линией среднего значения.
  • KDE график (оценка плотности).
  • Вывод: большинство домов имеют стоимость ниже $300,000, распределение смещено вправо.

2. Распределение признаков

  • Все признаки построены на гистограммах.

  • Особенности:

    • MedInc
      и
      HouseAge
      имеют почти нормальное распределение.
    • AveRooms
      и
      AveOccup
      имеют длинный хвост из-за блоков с большим количеством комнат или жителей.

3. Scatter plots признаков против целевой переменной

  • Показано, как каждый признак влияет на

    MedHouseVal
    .

  • Выводы:

    • Средний доход (
      MedInc
      ) сильно положительно коррелирует с ценой.
    • Широта (
      Latitude
      ) и долгота (
      Longitude
      ) показывают географическую зависимость.

4. Корреляции

  • Горизонтальная диаграмма коэффициентов корреляции с

    MedHouseVal
    .

  • Топ-признаки по корреляции:

    • MedInc
      : +0.69
    • Latitude
      : -0.14
    • Longitude
      : -0.05
    • Остальные признаки слабее коррелируют с ценой.

Выводы

  • Наибольшее влияние на стоимость жилья оказывает средний доход в районе.
  • Географическое положение (широта/долгота) также имеет значение.
  • Большинство признаков имеют относительно слабую корреляцию с ценой домов.
  • Данные имеют несколько выбросов, особенно по количеству комнат и населения.

Технологии

  • Python 3.10+
  • pandas, numpy
  • matplotlib
  • sklearn (fetch_california_housing)

Инструкция по запуску

  1. Установить Python 3.10+
  2. Установить зависимости:
  1. Запустить скрипт:
  1. Графики сохранятся в текущей директории:
  • 05_housing_target_distribution.png
  • 05_housing_target_distribution_kde.png
  • 05_housing_features_distribution.png
  • 05_housing_features_vs_target.png
  • 05_housing_correlation_bars.png