big

Введение

Я выбрал данные о командах и их представлениях с платформы Kaggle. Данные были найдены в наборе данных "House Prices - Advanced Regression Techniques". Однако, оказалось, что в CSV-файле содержатся данные о ранжировании команд, а не о ценах на дома.

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

Я хотел выяснить, существует ли корреляция между количеством представлений и достигнутыми оценками, что может помочь новым участникам лучше планировать свои попытки.

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

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

KDE линия: Добавлена к гистограммам для более наглядного представления сглаженного распределения данных.

Этап работы

1. Обработка данных

Шаг 1: Загрузка данных:

import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from google.colab import files

uploaded = files.upload()

df = pd.read_csv(next(iter(uploaded)))

Шаг 2: Проверка и вывод данных:

print(df.head()) print(df.columns)

Шаг 3: Проверка наличия необходимых столбцов:

required_columns = ['Score', 'SubmissionCount'] for column in required_columns: if column not in df.columns: raise KeyError(f"Столбец '{column}' отсутствует в наборе данных")

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

Распределение оценок (Score):

plt.figure(figsize=(10, 6)) sns.histplot(df['Score'], kde=True) plt.title('Распределение оценок') plt.xlabel('Оценка') plt.ylabel('Частота') plt.show()

Распределение количества представлений (SubmissionCount):

plt.figure(figsize=(10, 6)) sns.histplot(df['SubmissionCount'], kde=True) plt.title('Распределение количества представлений') plt.xlabel('Количество представлений') plt.ylabel('Частота') plt.show()

Взаимосвязь между оценками и количеством представлений:

plt.figure(figsize=(10, 6)) sns.scatterplot(x=df['SubmissionCount'], y=df['Score']) plt.title('Взаимосвязь между оценками и количеством представлений') plt.xlabel('Количество представлений') plt.ylabel('Оценка') plt.show()

Стилизация графиков

Описание стилизации:

sns.set_style('whitegrid') sns.set_palette('muted')

Я использовал стилизацию 'whitegrid' и палитру 'muted' из библиотеки Seaborn для создания чистого и профессионального вида графиков. Это делает графики более читабельными и привлекательными.

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

Графики

Исходный размер 850x547
Исходный размер 859x547
Исходный размер 850x547

Код и датасет

https://disk.yandex.ru/d/YiBQWpeasBzl1g

Я использовал нейросеть Ghatgtp (https://chatgpt.com) для помощи в исправлении ошибок

Анализ данных. Недвижимость.
Проект создан 25.09.2024