Введение
Я выбрал данные о командах и их представлениях с платформы 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, которые хорошо подходят для анализа данных и создают визуально приятные графики.
Графики
Код и датасет
Я использовал нейросеть Ghatgtp (https://chatgpt.com) для помощи в исправлении ошибок



