🟥 Machine Learning Team Lead
📢 Рассказываю о жизни в IT в целом и о machine learning в частности
🤖 Генератор контента для обучения AGI
✉️ лс тут: @Maxim_ML
Post #15
545


#пятничная_визуализация
Я сторонник качественной визуализации данных📊. Один хороший график может заменить десяток сказанных слов. Наверное, поэтому различные визуализации, объясняющие работу нейронных сетей, привлекают так много внимания:
(ссылки на крутые визуализации)
1️⃣ https://poloclub.github.io/transformer-explainer/
2️⃣ https://bbycroft.net/llm
3️⃣ https://playground.tensorflow.org/
Информация с хорошей визуальной составляющей воспринимается и запоминается сильно лучше. Поэтому считаю своим долгом поделиться своими наработками в визуализации на python, которые были признаны моими коллегами.
Эта публикация - первая в своей серии, в новом году будет еще больше! Всех с наступающим Новым годом! 🎁
---
Здесь я визуализирую жизненный цикл ML модели. Про это понятие у меня есть отдельная публикация: (https://habr.com/ru/companies/citymobil/articles/572184/)
На графике показана зависимость качества модели от объема обучающей выборки, распределенная во времени. Вторая картинка была построена на реальных данных.
Я сторонник качественной визуализации данных📊. Один хороший график может заменить десяток сказанных слов. Наверное, поэтому различные визуализации, объясняющие работу нейронных сетей, привлекают так много внимания:
(ссылки на крутые визуализации)
1️⃣ https://poloclub.github.io/transformer-explainer/
2️⃣ https://bbycroft.net/llm
3️⃣ https://playground.tensorflow.org/
Информация с хорошей визуальной составляющей воспринимается и запоминается сильно лучше. Поэтому считаю своим долгом поделиться своими наработками в визуализации на python, которые были признаны моими коллегами.
Эта публикация - первая в своей серии, в новом году будет еще больше! Всех с наступающим Новым годом! 🎁
---
Здесь я визуализирую жизненный цикл ML модели. Про это понятие у меня есть отдельная публикация: (https://habr.com/ru/companies/citymobil/articles/572184/)
На графике показана зависимость качества модели от объема обучающей выборки, распределенная во времени. Вторая картинка была построена на реальных данных.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
def foo_y(theta, k=0.5, s=1.5):
return - (theta**2 - s)**2 - k * theta
plt.rcParams["figure.facecolor"] = "#DBF1E4"
plt.rcParams["axes.facecolor"] = "#DBF1E4"
plt.rcParams['savefig.facecolor'] = "#DBF1E4"
custom_cmap = mcolors.LinearSegmentedColormap.from_list(
'my_cmap', ["#BA2A1D", "#62C361"]
)
theta_vals = np.linspace(-1., 2, 400)
coef_pairs = [
(0.1, 0.05),
(2, 0.05),
(0.2, 0.1),
(0.5, 0.9),
(1.1, 1.1),
(1.4, 1.5),
(2, 2),
]
plt.figure(figsize=(10, 5))
for idx, one_pair in enumerate(coef_pairs):
plt.plot(
theta_vals,
[foo_y(i, *one_pair) for i in theta_vals]
, color=custom_cmap(idx / len(coef_pairs))
, linewidth=3
, label=f'модель {idx+1}'
)
plt.yticks(
ticks=np.linspace(-20, 1, 10)
, labels=np.round(np.linspace(0.6, 0.8, 10), 2)
)
plt.xticks(
ticks=theta_vals[:: 40]
, labels=[f'неделя {i+1}' for i in range(len(theta_vals[:: 40]))]
, rotation=25
)
plt.gca().set_frame_on(False)
plt.grid()
plt.ylabel('метрика ROC AUC', fontsize=12)
plt.title('стабильность модели', fontsize=15)
plt.legend()
plt.tight_layout()
plt.savefig(
'Downloads/stability_2.png',
dpi=150, format='png', bbox_inches='tight', pad_inches=0,
transparent=False
)
- 👍 4
- 🔥 3
- ❤ 1



