Привет, вы нашли корреляции и благодаря им можете построить модель для предсказания просмотров статьи, например.
Но в статье не выявлены причины такого количества просмотров. Очевидно, что тэги, длина статьи и длина заголовка при мусорном контенте совершенно не работают. Анализ стоило проводить в разрезе популярный/не популярный автор - кажется, что вы бы обнаружили, что правила, работающие для популярных авторов, совершенно не работают для других.
Дело не в том, что у не популярных будет просмотров меньше в любом случае (так как у них нет своей аудитории), а в том, что выявленные корреляции не работают в принципе, если статья не получила охваты.
Привет) сетка на графиках очень дискуссионная тема - зачастую считается, что ей лучше пренебречь... Графики в данной статье визуализируют тренды, диапазоны метрик, периоды и не призваны дать быструю оценку значений в конкретной точке) Давай посмотрим как они будут выглядеть с сеткой:
Блок кода
plt.figure(figsize=(10,5), dpi=300) # Изменим размер подложки графика и качество
sns.lineplot(data=df_predict, x='month', y='metrics1', hue='year', palette=own_palette, hue_order=df_predict.year.unique()[::-1]) # Отрисуем график
x_unique = df_predict.month.unique()
plt.xticks(ticks=x_unique, fontsize=6) # Изменим подписи делений оси абсцисс
plt.xlim(x_unique.min(), x_unique.max()) # Ограничим ось абсцисс
plt.xlabel('Месяц', fontsize=10) # Изменим подпись оси абсцисс
y_ticks, y_label = plt.yticks() # Получим индексы и подписи оси ординат
plt.yticks(ticks=y_ticks, labels=['{:.0f}'.format(i) for i in y_ticks/10**3], fontsize=8) # Изменим подписи делений оси ординат
plt.ylim(4*10**4, 13*10**4) # Ограничим ось ординат
plt.ylabel('Метрика №1, тыс.шт.', fontsize=12) # Изменим подпись оси ординат
plt.title('Годовое изменение метрики №1 в период 2006-2011 годов', fontsize=16) # Изменим название графика
plt.legend(title='Год', loc='upper right', fontsize=8) # Укажем название и положение легенды и порядок категорий
plt.tight_layout() # Растянем график на всю подложку
plt.grid(True) # Отобразим сетку
Блок кода
plt.figure(figsize=(10,5), dpi=300) # Изменим размер подложки графика и качество
sns.scatterplot(
data=df_predict, x='metrics2', y='metrics1', hue='year', hue_order=df_predict.year.unique()[::-1], palette=own_palette,
size='metrics3', sizes=(10, 150),
) # Отрисуем график
x_ticks, x_label = plt.xticks() # Получим индексы и подписи оси ординат
plt.xticks(ticks=x_ticks, labels=['{:.1f}'.format(i) for i in x_ticks/10**6], fontsize=6) # Изменим подписи делений оси абсцисс
plt.xlim(0.1*10**6, 1*10**6) # Ограничим ось абсцисс
plt.xlabel('Метрика №2, млн.шт.', fontsize=10) # Изменим подпись оси абсцисс
y_ticks, y_label = plt.yticks() # Получим индексы и подписи оси ординат
plt.yticks(ticks=y_ticks, labels=['{:.0f}'.format(i) for i in y_ticks/10**3], fontsize=8) # Изменим подписи делений оси ординат
plt.ylim(4*10**4, 13*10**4) # Ограничим ось ординат
plt.ylabel('Метрика №1, тыс.шт.', fontsize=12) # Изменим подпись оси ординат
plt.title('Зависимость метрики №1 от метрики №2', fontsize=16) # Изменим название графика
legend_handles, legend_labels = plt.gca().get_legend_handles_labels() # Получим индексы и подписи оси ординат
# Изменим подписи легенды
legend_labels[0] = 'Год'
legend_labels[7] = 'Метрика №3, млн.шт.'
legend_labels[8:] = ['{:.0f}'.format(float(l)*100) for l in legend_labels[8:]]
plt.legend(legend_handles, legend_labels, loc='lower right', fontsize=8) # Укажем название и положение легенды и порядок категорий
plt.tight_layout() # Растянем график на всю подложку
plt.grid(True) # Отобразим сетку
Я согласен, что так проще и быстрее оценить значение в точке, но вопрос в том, что нужно ли нам это? В любом случае всё зависит от твоего вкуса и запроса заказчика)
Дополнительно хочу показать, как можно акцентировать внимание на некоторых значениях, которые могут нести инсайты)
Блок кода
plt.figure(figsize=(10,5), dpi=300) # Изменим размер подложки графика и качество
sns.lineplot(data=df_predict, x='month', y='metrics1', hue='year', palette=own_palette, hue_order=df_predict.year.unique()[::-1]) # Отрисуем график
plt.axvline(8, 0, 1, color='black', alpha=0.5, dashes=(5, 5))
x_unique = df_predict.month.unique()
plt.xticks(ticks=x_unique, fontsize=6) # Изменим подписи делений оси абсцисс
plt.xlim(x_unique.min(), x_unique.max()) # Ограничим ось абсцисс
plt.xlabel('Месяц', fontsize=10) # Изменим подпись оси абсцисс
y_ticks, y_label = plt.yticks() # Получим индексы и подписи оси ординат
plt.yticks(ticks=y_ticks, labels=['{:.0f}'.format(i) for i in y_ticks/10**3], fontsize=8) # Изменим подписи делений оси ординат
plt.ylim(4*10**4, 13*10**4) # Ограничим ось ординат
plt.ylabel('Метрика №1, тыс.шт.', fontsize=12) # Изменим подпись оси ординат
plt.title('Годовое изменение метрики №1 в период 2006-2011 годов', fontsize=16) # Изменим название графика
plt.legend(title='Год', loc='upper right', fontsize=8) # Укажем название и положение легенды и порядок категорий
plt.tight_layout() # Растянем график на всю подложку
plt.savefig(f'../plot_combine_advanced_line.jpeg') # Сохраним график
Например, здесь мы хотим сказать, что практически внутри каждого года пиковое значение метрики №1 пришлось на восьмой месяц, а затем происходило резкое снижение... Поэтому мы на 2011 год спрогнозировали пик в этом же месяце, хотя год назад пик был в июле)
Привет, твоя мысль про важность шрифта/кегля на графике звучит как отличная тема для статьи)
Многие аспекты в визуализации это очень субъективные вещи и в конечном итоге важно восприятие конечного заказчика. Если он лучше воспринимает (условно) крупный кегль, цветные подписи осей, столбчатые диаграммы - важно к этому прислушаться)
Возможно, подписи оси абсцисс можно было бы сделать крупнее.. Учту замечание для будущих статей)
Привет, вы нашли корреляции и благодаря им можете построить модель для предсказания просмотров статьи, например.
Но в статье не выявлены причины такого количества просмотров. Очевидно, что тэги, длина статьи и длина заголовка при мусорном контенте совершенно не работают. Анализ стоило проводить в разрезе популярный/не популярный автор - кажется, что вы бы обнаружили, что правила, работающие для популярных авторов, совершенно не работают для других.
Дело не в том, что у не популярных будет просмотров меньше в любом случае (так как у них нет своей аудитории), а в том, что выявленные корреляции не работают в принципе, если статья не получила охваты.
Хотелось бы код в скрытые блоки. И добавить к блокам объяснение
Круто, спасибо)
Не увидел (пропустил) где эффект от внедрения автомл? Как изменится диаграмма распределения времени ДС по трем типам задач?
И как оценили это распределение на имеющихся графиках? Это экспертная оценка?
Привет) сетка на графиках очень дискуссионная тема - зачастую считается, что ей лучше пренебречь... Графики в данной статье визуализируют тренды, диапазоны метрик, периоды и не призваны дать быструю оценку значений в конкретной точке) Давай посмотрим как они будут выглядеть с сеткой:
Блок кода
Блок кода
Я согласен, что так проще и быстрее оценить значение в точке, но вопрос в том, что нужно ли нам это? В любом случае всё зависит от твоего вкуса и запроса заказчика)
Дополнительно хочу показать, как можно акцентировать внимание на некоторых значениях, которые могут нести инсайты)
Блок кода
Например, здесь мы хотим сказать, что практически внутри каждого года пиковое значение метрики №1 пришлось на восьмой месяц, а затем происходило резкое снижение... Поэтому мы на 2011 год спрогнозировали пик в этом же месяце, хотя год назад пик был в июле)
Привет, твоя мысль про важность шрифта/кегля на графике звучит как отличная тема для статьи)
Многие аспекты в визуализации это очень субъективные вещи и в конечном итоге важно восприятие конечного заказчика. Если он лучше воспринимает (условно) крупный кегль, цветные подписи осей, столбчатые диаграммы - важно к этому прислушаться)
Возможно, подписи оси абсцисс можно было бы сделать крупнее.. Учту замечание для будущих статей)