Original size 2480x3500

Визуализация данных поведения в онлайн-играх

PROTECT STATUS: not protected
The project is taking part in the competition

ОПИСАНИЕ

Проект посвящён всестороннему анализу поведения игроков в онлайн‑играх на основе реальных данных. Цель работы — выявить ключевые закономерности взаимодействия пользователей с игровыми платформами, определить группы по активности, вовлеченности и игровым предпочтениям, а также визуализировать эти зависимости с помощью графиков и диаграмм.

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

Набор данных Online Gaming Behavior Insights Dataset предоставляет обзор моделей поведения игроков в различных демографических группах, жанрах игр и уровнях вовлеченности. Этот набор данных предназначен для поддержки исследовательского анализа данных, поведенческой аналитики и прогнозного моделирования, связанных с привычками в онлайн-играх. Он отражает то, как игроки взаимодействуют с играми с точки зрения времени игры, частоты сессий, предпочтений сложности, прогресса и интенсивности вовлеченности. Этот набор данных, содержащий более 40 000 записей об игроках.

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

СТИЛЬ

Для стилизации визуальной составляющей работы я выбрала стандартный, сдержанный, но технологичный вид графиков. Темно-серый фон с яркими цветами графиков отсылает к базовому оформлению информации связанной с игровой индустрией.

big
Original size 2344x762

ЭТАПЫ РАБОТЫ

Я подключила библиотеку pandas, которая используется для анализа и обработки данных. Загрузила CSV-файл с данными Online gaming behavior insight

import pandas as pd

df = pd.read_csv («/content/online_gaming_behavior_insights.csv») df.head ()

Загрузила шрифт Montserrat

import os import urllib.request import matplotlib.pyplot as plt import matplotlib as mpl import matplotlib.font_manager as fm

FONT_URL = «https://github.com/google/fonts/raw/main/ofl/montserrat/Montserrat%5Bwght%5D.ttf" FONT_PATH = «/content/Montserrat.ttf»

if not os.path.exists (FONT_PATH): urllib.request.urlretrieve (FONT_URL, FONT_PATH)

fm.fontManager.addfont (FONT_PATH)

mpl.rcParams[«font.family»] = «Montserrat» mpl.rcParams[«font.sans-serif»] = [«Montserrat»]

Задала стиль для всех графиков

import matplotlib.pyplot as plt import matplotlib as mpl

BACKGROUND = «#2E2E2E» PALETTE = [»#1F4E79», «#006400», «#FFD700», «#FF0000», «#FF69B4»]

mpl.rcParams.update ({

«figure.facecolor»: BACKGROUND,
«axes.facecolor»: BACKGROUND,
«savefig.facecolor»: BACKGROUND,

«axes.edgecolor»: «white»,
«axes.linewidth»: 1.3,

«text.color»: «white»,
«axes.labelcolor»: «white»,
«xtick.color»: «white»,
«ytick.color»: «white»,

«axes.titlesize»: 16,
«axes.labelsize»: 13,
«xtick.labelsize»: 11,
«ytick.labelsize»: 11,

«lines.linewidth»: 2.2,
«patch.edgecolor»: «white»,

«axes.grid»: False,

«font.family»: «Montserrat»,
«font.sans-serif»: [«Montserrat»]

})

Провела проверку

plt.figure (figsize=(6,3)) plt.text (0.5, 0.5, «Проверка нового стиля», ha="center», va="center», fontsize=18) plt.axis («off») plt.show ()

АНАЛИЗ И ВИЗУАЛИЗАЦИЯ ДАННЫХ

Original size 1280x801

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

Original size 1812x386
Original size 962x1020

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

Original size 1846x272
Original size 1280x866

На диаграмме по горизонтали показано общее время игры в часах, а по вертикали — возраст. Поскольк все игроки имеют возраст 18, я добавила промежуток равно 0,2 чтобы точки не накладывались друг на друга. Каждая точка на графике представляет собой одного игрока. Прозрачность и размер точек помогают видеть плотность игроков, которые проводят одинаковое количество часов в игре.

По графику видно, что среди 18-летних игроков присутствуют как очень активные, так и пассивные представители. Игроки равномерно распределены по количеству времени.

Original size 1772x778
Original size 1280x871

Для сравнения был выведен график с данными о игроках 30-летнего возраста. На диаграмме по горизонтали показано общее время игры в часах, а по вертикали — возраст. Поскольк все игроки имеют возраст 30, я добавила промежуток равно 0,2 чтобы точки не накладывались друг на друга. Каждая точка на графике представляет собой одного игрока. Прозрачность и размер точек помогают видеть плотность игроков, которые проводят одинаковое количество часов в игре.

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

Original size 1878x784
Original size 1572x998

При помощи графика можно оценить среднее количество минут среди общей массы игроков.

Original size 2186x504

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

Описание применения генеративной модели:

Для расшифровок ошибок в коде была использована модель ChatGPT