🤔 JSON, YAML, XML — что лучше и когда
Вопрос подписчика:
Подписчик делится опытом:
В основном работал с YAML (иногда JSON) — он кажется мне самым читаемым.
XML в моей практике почти не встречался. А у вас? Есть ли у XML реальные преимущества перед YAML или JSON?
Будет интересно узнать ваше мнение:
• Какие форматы чаще используете — YAML, JSON, TOML, CSV?
• XML ещё актуален? В каких случаях он действительно полезен?
• Бывали ли проекты, где удобочитаемость важнее производительности?
💬 Пишите в комментариях, какой стек предпочитаете и почему.
Библиотека дата-сайентиста #междусобойчик
Вопрос подписчика:
«Какие форматы сериализации данных вы чаще всего используете на работе или в своих проектах?»
Подписчик делится опытом:
В основном работал с YAML (иногда JSON) — он кажется мне самым читаемым.
XML в моей практике почти не встречался. А у вас? Есть ли у XML реальные преимущества перед YAML или JSON?
Будет интересно узнать ваше мнение:
• Какие форматы чаще используете — YAML, JSON, TOML, CSV?
• XML ещё актуален? В каких случаях он действительно полезен?
• Бывали ли проекты, где удобочитаемость важнее производительности?
💬 Пишите в комментариях, какой стек предпочитаете и почему.
Библиотека дата-сайентиста #междусобойчик
❤3😁3👍1
Когда проект переходит от MVP к реальному масштабированию, встаёт классический вопрос из data-ада:
Как организовать разметку данных — собрать собственную команду или поручить всё внешним подрядчикам?
🏠 In-house команда разметки
Плюсы:
— Полный контроль над качеством и процессами.
— Можно адаптировать под особенности продукта и задачи.
— Гибкая коммуникация между разметчиками и ML-командой.
Минусы:
— Найм, обучение, менеджмент — отдельный мини-отдел.
— Медленный запуск.
— Отвлечение от основного фокуса команды.
— Требуются ресурсы и процессы, которых может не быть.
🌍 Аутсорс/вендоры
Плюсы:
— Быстрый старт.
— Нет нужды тратить время на найм и операционку.
— Масштабирование по требованию.
Минусы:
— Почти нет контроля над качеством.
— Слепая зона: сложно понять, что именно и как размечается.
— Часто дорого — особенно при специфичных или нестандартных данных.
— Есть риск получить датасет, который придётся потом переделывать вручную.
💬 Классический холивар: контроль и кастомизация против скорости и удобства. Что на практике оказалось менее болезненным?
👀 Интересны кейсы, где удалось построить гибридную модель или обойтись без выгорания всей команды.
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
💬 Вопрос от подписчика: как получить повышение
Кратко: да, во многих местах повышение — это квест без карты.
Но есть способы повысить шансы и вернуть контроль:
🔎 Попросить у менеджера leveling guide и примеры задач следующего уровня (если их нет — это тоже сигнал).
🔎 Сделать свои достижения видимыми — внутри и за пределами команды.
🔎 Найти спонсора — не просто ментора, а человека с влиянием, который готов продвигать тебя.
🔎 Запросить карьерный план: «что я должен показать, чтобы через Х месяцев обсуждать переход на следующий уровень?»
🔎 Регулярно сверяться с ожиданиями — не только в циклах оценок.
🚩 Частая ошибка: думать, что «хорошо делать свою работу» = автоматически получить повышение. На деле — часто продвигаются те, чьё влияние заметно и кому доверяют больше ответственности.
🤔 А как с этим у вас? В вашей компании есть прозрачная система повышения? Или тоже всё на интуиции?
Библиотека дата-сайентиста #междусобойчик
«Я уже 3.5 года работаю Data Scientist I в крупной компании из Fortune 50. За два последних цикла сам поднимал тему повышения. В первый раз мне обозначили зоны роста — я поработал над ними, показал прогресс, сделал всё как надо.
Во второй раз мне сказали, что дело не только в результатах — ещё и в бюджете, очереди на повышение и других факторах. А когда я попросил чёткий план, как всё-таки попасть на повышение — внятного ответа не получил.
И теперь думаю: а что вообще делать до следующего цикла? Повышения реально надо “добираться на ощупь”, или в нормальных компаниях дают конкретные ориентиры?»
Кратко: да, во многих местах повышение — это квест без карты.
Но есть способы повысить шансы и вернуть контроль:
🤔 А как с этим у вас? В вашей компании есть прозрачная система повышения? Или тоже всё на интуиции?
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
💯5❤1🔥1😢1
Кандидат пришёл на интервью. Вопрос по ML — быстро накидал пайплайн, обсудил подход, выдал код.
Тех собеседующих терзают сомнения:
«Он точно сам это придумал? Или GPT помогал?»
А кандидат спокойно отвечает:
«Так я с ним и в проде работаю. Это инструмент, как Jupyter или Pandas».
«На собесе ты должен сам сформулировать гипотезу, выбрать метрику, предложить решение. Без ИИ.»
«Умение эффективно использовать GPT — такой же навык, как знание sklearn или prompt engineering. В реальности — без этого никуда.»
Как считаете, ChatGPT на собесе у DS — это:
❤️ — Современный инструмент, и пусть используют
👍 — Только на проде, а на собесе — пусть головой думает
🔥 — Зависит от уровня: для джуна — нет, для сеньора — норм
😆 — Уберите ваши собесы, мы уже в будущем
💬 Кидайте мысли в комментарии.
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍17🔥10😁3👏2
😐 Холивар: удалённая работа для дата-сайентистов — проклятие или спасение
Удалёнка стала нормой с Covid, и многие перешли на полный remote. Вроде бы плюсы очевидны: нет потерь времени на дорогу, гибкий график, можно работать из любой точки мира.
Но… у многих заметно вырос уровень социальной тревожности, особенно когда дело доходит до презентаций результатов и командного взаимодействия. Меньше живого общения, меньше «неформальных» разговоров — и кажется, что давление во время редких встреч только усиливается. Сомнения и импостер-синдром подкрадываются чаще.
➡️ Основные проблемы:
🤖 Soft skills — критически важны в работе с командой и заказчиками
🤖 Без живого контакта сложно развивать навыки коммуникации
🤖 Технические успехи не всегда спасают, если не умеешь «продавать» результаты
➡️ Что с этим делать:
🤖 Пытаться больше общаться неформально онлайн
🤖 Использовать тренинги по коммуникациям
🤖 Выходить из зоны комфорта и делать презентации чаще
🤖 Возможно, частично вернуться в офис ради живого взаимодействия
И давайте сразу к главному спору:
❤️ — без живого общения и офиса soft skills у дата-сайентистов деградируют, и это угроза карьере
👍— современные коммуникационные инструменты позволяют развивать навыки и без офиса
Как вы думаете? Что важнее — привычка работать вживую или умение адаптироваться к новым форматам?
Библиотека дата-сайентиста #междусобойчик
Удалёнка стала нормой с Covid, и многие перешли на полный remote. Вроде бы плюсы очевидны: нет потерь времени на дорогу, гибкий график, можно работать из любой точки мира.
Но… у многих заметно вырос уровень социальной тревожности, особенно когда дело доходит до презентаций результатов и командного взаимодействия. Меньше живого общения, меньше «неформальных» разговоров — и кажется, что давление во время редких встреч только усиливается. Сомнения и импостер-синдром подкрадываются чаще.
И давайте сразу к главному спору:
❤️ — без живого общения и офиса soft skills у дата-сайентистов деградируют, и это угроза карьере
👍— современные коммуникационные инструменты позволяют развивать навыки и без офиса
Как вы думаете? Что важнее — привычка работать вживую или умение адаптироваться к новым форматам?
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤6😁2
💬 Опыт подписчика: как потратить часы на очистку данных после парсинга
Один из наших подписчиков поделился своим опытом очистки грязных данных после веб-скрейпинга. Делимся его историей — вдруг вы узнаете в ней себя.
Потратив несколько часов на эксперименты (и выпив больше кофе, чем хотел бы признать), я кое-как вычистил всё с помощью Pandas. Делюсь, что сработало:
1️⃣ Работа с пропущенными значениями
Удалять всё подряд не хотелось, поэтому подход был аккуратным:
2️⃣ Удаление дублей
Повторные запуски скрипта дали одинаковые строки. Решается в одну строку:
3️⃣ Приведение к нужным форматам
Это спасло меня от последующих багов:
4️⃣ Очистка шума
Избавился от ненужного мусора:
5️⃣ Первые инсайты
Когда всё стало чисто, можно было наконец-то что-то анализировать:
Что я понял:
🟣 Парсинг — это только начало. Основная боль начинается после.
🟣 Pandas — суперсила. С его помощью можно разгрести 80% хаоса.
🟣 errors='coerce' — спасение. Преобразования не падают, если формат неожиданный.
🟣 В следующий раз сначала изучу практики очистки данных, а потом буду парсить.
Сейчас ищу хорошие подходы к:
🟣 Распознаванию цен, написанных словами (
🟣 Объединению разных форматов дат (особенно с названиями месяцев в разных языках)
💬 Если у вас есть свои фишки по чистке «грязных» парсинг-данных — расскажите в комментариях.
Библиотека дата-сайентиста #междусобойчик
Один из наших подписчиков поделился своим опытом очистки грязных данных после веб-скрейпинга. Делимся его историей — вдруг вы узнаете в ней себя.
Думал, самое сложное — спарсить данные. А оказалось — привести их в порядок.
На выходных я собрал датасет для своего сайд-проекта. Парсинг прошёл без особых проблем — за пару часов всё было готово. А вот дальше началось настоящее веселье.
С чем я столкнулся:
— Пропуски в случайных местах
— Дубли из-за повторных запусков
— Даты в абсолютно разном формате
— Цены, записанные как строки, иногда даже словами ("twenty")
Потратив несколько часов на эксперименты (и выпив больше кофе, чем хотел бы признать), я кое-как вычистил всё с помощью Pandas. Делюсь, что сработало:
Удалять всё подряд не хотелось, поэтому подход был аккуратным:
# Удаляю строки, где вообще нет данных
df_clean = df.dropna(how='all')
# Остальное заполняю заглушками
df_filled = df.fillna("N/A")
Повторные запуски скрипта дали одинаковые строки. Решается в одну строку:
df_unique = df.drop_duplicates()
Это спасло меня от последующих багов:
# Привожу названия товаров к нижнему регистру
df['product_name'] = df['product_name'].str.lower()
# Преобразую даты (если ошибка — получаю NaT)
df['date'] = pd.to_datetime(df['date'], errors='coerce')
# Преобразую цену в числовой формат
df['price'] = pd.to_numeric(df['price'], errors='coerce')
Избавился от ненужного мусора:
# Удаляю колонку, если она вообще есть
df = df.drop(columns=['unnecessary_column'], errors='ignore')
# Оставляю товары только с ценой > 10
df_filtered = df[df['price'] > 10]
Когда всё стало чисто, можно было наконец-то что-то анализировать:
# Средняя цена по категориям
avg_price = df_filtered.groupby('category')['price'].mean()
print(avg_price)
# Гистограмма распределения цен
df_filtered['price'].plot(kind='hist', bins=20, title='Price Distribution')
plt.xlabel("Price")
plt.show()
Что я понял:
Сейчас ищу хорошие подходы к:
"forty-two" и т.п.)Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4😁2
🔥 Холивар: отвечать ли на странные вопросы рекрутеров или морозиться
Есть вечная боль: рекрутер задаёт вопрос, который либо слишком общий, либо вообще бьёт мимо.
Примеры:
— «Где вы видите себя через 5 лет?»
— «Назовите свои слабые стороны»
— «Почему ушли с прошлого места?»
— «Сколько хотите зарабатывать?» (без вилки)
Кто-то отвечает честно (и потом жалеет), кто-то уходит в общие фразы, кто-то прямо говорит: «Вопрос некорректный, давайте дальше».
💬 Вопросы в зал:
— Вы отвечаете или морозитесь?
— Если морозитесь, то как это делаете, чтобы не сжечь контакт?
— Может, стоит наоборот троллить вежливо, чтобы отсеивать токсичные компании?
Библиотека дата-сайентиста #междусобойчик
Есть вечная боль: рекрутер задаёт вопрос, который либо слишком общий, либо вообще бьёт мимо.
Примеры:
— «Где вы видите себя через 5 лет?»
— «Назовите свои слабые стороны»
— «Почему ушли с прошлого места?»
— «Сколько хотите зарабатывать?» (без вилки)
Кто-то отвечает честно (и потом жалеет), кто-то уходит в общие фразы, кто-то прямо говорит: «Вопрос некорректный, давайте дальше».
💬 Вопросы в зал:
— Вы отвечаете или морозитесь?
— Если морозитесь, то как это делаете, чтобы не сжечь контакт?
— Может, стоит наоборот троллить вежливо, чтобы отсеивать токсичные компании?
Библиотека дата-сайентиста #междусобойчик
❤4👍2😁1
Сегодня делимся историями, когда советы коллег звучали разумно… пока вы не попробовали их на практике.
Настраивал модель XGBoost, попросил совета у старшего дата-сайентиста.
Он сказал: «Запусти без параметров, там всё по дефолту нормально».
Модель обучалась 9 часов и выдала результат хуже случайного угадывания.
Коллега уверял, что так «надёжнее, вдруг что-то понадобится».
Итог — запрос возвращал по 2 ГБ данных, и ETL падал каждые выходные.
Говорю: хочу написать пару unit-тестов для функции парсинга.
Ответ: «Не трать время, у тебя же всё в Jupyter, там видно же».
Через неделю нашли баг, который стоил клиенту два дня простоя.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👍1🌚1
🚕 Как лог-трансформация спасла модель
Наш подписчик поделился лайфхаком, который снизил ошибку модели на 20% всего одной строкой кода.
В задаче регрессии (например, предсказание стоимости поездок Uber) оказалось, что таргет (fare) сильно скошен вправо: много маленьких значений + редкие, но вполне реальные высокие цены.
❌ Модели сложно учиться: редкие большие значения «тянут» распределение и портят общую картину.
➖ Простое решение — применить log1p к целевой переменной:
— большие значения сжимаются;
— малые почти не меняются;
— распределение становится ближе к нормальному;
— влияние «хвоста» снижается.
Схема:
💡 Результат: MAE снизился на 20%.
Не магия, а классика — но про этот приём часто забывают. Если таргет имеет длинный правый хвост → лог-трансформация может резко улучшить качество.
🐸 Библиотека дата-сайентиста
#междусобойчик
Наш подписчик поделился лайфхаком, который снизил ошибку модели на 20% всего одной строкой кода.
В задаче регрессии (например, предсказание стоимости поездок Uber) оказалось, что таргет (fare) сильно скошен вправо: много маленьких значений + редкие, но вполне реальные высокие цены.
— большие значения сжимаются;
— малые почти не меняются;
— распределение становится ближе к нормальному;
— влияние «хвоста» снижается.
Схема:
y → log1p → модель → предсказания (log scale) → expm1 → предсказания (ориг. масштаб)
💡 Результат: MAE снизился на 20%.
Не магия, а классика — но про этот приём часто забывают. Если таргет имеет длинный правый хвост → лог-трансформация может резко улучшить качество.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7
Говорят, ноутбук дата-сайентиста живёт в двух состояниях:
— «всё летает»
— «свопнулся насмерть при fit()»
Давайте проверим, кто на чём считает градиенты.
Расскажите в комментариях:
👉 модель ноутбука
👉 чип / GPU
👉 сколько ОЗУ спасает вас от крашей при обучении модели
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2😁2😢2🤔1