Forwarded from Пресидский залив (Nadia ズエバ)
Мой фреймворк для проектов с DL-экспериментами
Начиная новый проект, я представляю, что вокруг меня прогружается мир в игре. Взаимодействуя с ним я лучше понимаю задачу и как хорошо я могу ее выполнить. И что вообще значит "хорошо"
👉🏻 Формулирую задачу в первом приближении
Что хотим на вход, а что — на выход. Какие есть ограничения? По мере взаимодействия с миром проекта формулировка может уточняться
👀 Смотрю по сторонам.
Что уже было сделано до меня, куда можно потыкать палкой? Какие есть статьи по этой теме, на кого они ссылаются? С какими конфами/соревнованиями ассоциированы? Метрики? Здесь не нужно фиксировать метрику и архитектуру — это про насмотренность чтобы в процессе решения задачи быстрее ориентироваться
🚴Создаю бейзлайн-решение.
Это может быть опенсорс из коробки, главное, чтобы работало. Фраза с физтеха — "лучше иметь велосипед, чем дверь от ламборгини"
📈 Фиксирую метрики и голденсеты Второй пункт лучше зафиксировать и не менять, а вот первый по мере получения новой информации о нашем мире вполне может обновляться
🏆 Выбираю своего "чемпиона" из доступного на этом шаге набора — сетап в который больше всего верю. После обучения я делаю анализ слабых мест модели — на голденсете и процессинге семплов с большими ошибками
📚 Data
В первых итерациях — опенсорс, выявили сложные места и итеративно добавляем пачки. Почти всегда данные придется собирать дополнительно
♻️ После того как была получена модель с ok качеством, ее можно оптимизировать. Ускорять, уменьшать без значительных проигрышей в точности
📲 Куда поедем?
На сервер — стоит убедиться, что не течет память. Если модель будет жить на девайсе — стоит быть готовым к тому, что она не спортируется с пол-пинка. Особенно, если там есть какие-то нетривиальные слои. Я сталкивалась с ситуациями, когда приходилось повозиться с coremltools/tfjs и даже безобидным onnx
🛫 Taking off!
Все спортировано, с инфраструктурой помержено. АВ тесты прошли успешно. Посматриваем мониторинг и перемещаемся в следующую локацию 🧙🏻♂️
кто узнал игру? 😏
Начиная новый проект, я представляю, что вокруг меня прогружается мир в игре. Взаимодействуя с ним я лучше понимаю задачу и как хорошо я могу ее выполнить. И что вообще значит "хорошо"
👉🏻 Формулирую задачу в первом приближении
Что хотим на вход, а что — на выход. Какие есть ограничения? По мере взаимодействия с миром проекта формулировка может уточняться
👀 Смотрю по сторонам.
Что уже было сделано до меня, куда можно потыкать палкой? Какие есть статьи по этой теме, на кого они ссылаются? С какими конфами/соревнованиями ассоциированы? Метрики? Здесь не нужно фиксировать метрику и архитектуру — это про насмотренность чтобы в процессе решения задачи быстрее ориентироваться
🚴Создаю бейзлайн-решение.
Это может быть опенсорс из коробки, главное, чтобы работало. Фраза с физтеха — "лучше иметь велосипед, чем дверь от ламборгини"
📈 Фиксирую метрики и голденсеты Второй пункт лучше зафиксировать и не менять, а вот первый по мере получения новой информации о нашем мире вполне может обновляться
🏆 Выбираю своего "чемпиона" из доступного на этом шаге набора — сетап в который больше всего верю. После обучения я делаю анализ слабых мест модели — на голденсете и процессинге семплов с большими ошибками
📚 Data
В первых итерациях — опенсорс, выявили сложные места и итеративно добавляем пачки. Почти всегда данные придется собирать дополнительно
♻️ После того как была получена модель с ok качеством, ее можно оптимизировать. Ускорять, уменьшать без значительных проигрышей в точности
📲 Куда поедем?
На сервер — стоит убедиться, что не течет память. Если модель будет жить на девайсе — стоит быть готовым к тому, что она не спортируется с пол-пинка. Особенно, если там есть какие-то нетривиальные слои. Я сталкивалась с ситуациями, когда приходилось повозиться с coremltools/tfjs и даже безобидным onnx
🛫 Taking off!
Все спортировано, с инфраструктурой помержено. АВ тесты прошли успешно. Посматриваем мониторинг и перемещаемся в следующую локацию 🧙🏻♂️
❤1
#timeseries #ml #competition #electricity
Тот момент, когда организаторы ML сорева с валидацией в реальном времени задают странные вопросы о том, где ты взял OOS данные...
Тот момент, когда организаторы ML сорева с валидацией в реальном времени задают странные вопросы о том, где ты взял OOS данные...
#chess #stats
Нашёл свою старую шахматную аналитику по рейтингам FIDE, вдруг кому надо подобное. Цель была в определении "восходящих звёзд" и особенно "подозрительно быстро восходящих звёзд".
https://github.com/fingoldo/FideRatings/blob/master/FideRatings.ipynb
Нашёл свою старую шахматную аналитику по рейтингам FIDE, вдруг кому надо подобное. Цель была в определении "восходящих звёзд" и особенно "подозрительно быстро восходящих звёзд".
https://github.com/fingoldo/FideRatings/blob/master/FideRatings.ipynb
🔥1
#ml #featureengineering #geofeatures #advicewanted
Есть задачка на генерацию геофичей. Юзер логинится в приложение в разных точках города, Известны его координаты при логине и метки времени. Какие бы интересные фичи построить из графа его перемещений?
Пока что нашел вот такую прекрасную серию статей
https://towardsdatascience.com/graph-machine-learning-with-python-pt-1-basics-metrics-and-algorithms-cc40972de113
https://towardsdatascience.com/graph-machine-learning-with-python-part-3-unsupervised-learning-aa2854fe0ff2
https://towardsdatascience.com/graph-machine-learning-with-python-part-4-supervised-semi-supervised-learning-d66878161b79
Есть задачка на генерацию геофичей. Юзер логинится в приложение в разных точках города, Известны его координаты при логине и метки времени. Какие бы интересные фичи построить из графа его перемещений?
Пока что нашел вот такую прекрасную серию статей
https://towardsdatascience.com/graph-machine-learning-with-python-pt-1-basics-metrics-and-algorithms-cc40972de113
https://towardsdatascience.com/graph-machine-learning-with-python-part-3-unsupervised-learning-aa2854fe0ff2
https://towardsdatascience.com/graph-machine-learning-with-python-part-4-supervised-semi-supervised-learning-d66878161b79
Towards Data Science
Graph Machine Learning with Python Part 1: Basics, Metrics, and Algorithms | Towards Data Science
An introduction to networks via key metrics and algorithms on a Football dataset
👍1
Aspiring Data Science
#ml #featureengineering #geofeatures #advicewanted Есть задачка на генерацию геофичей. Юзер логинится в приложение в разных точках города, Известны его координаты при логине и метки времени. Какие бы интересные фичи построить из графа его перемещений? Пока…
#ml #gbm #catboost #quantileloss
https://towardsdatascience.com/a-new-way-to-predict-probability-distributions-e7258349f464
https://towardsdatascience.com/a-new-way-to-predict-probability-distributions-e7258349f464
Towards Data Science
A New Way to Predict Probability Distributions | Towards Data Science
Exploring multi-quantile regression with Catboost
#surverys
Кто может посоветовать сервис для проведения опросов? Гугл формс, конечно, бесплатный, но по ссылке нельзя передать параметры (например, хэш юзера или кампании), и он не собирает ip, а если бы собирал, можно было бы у респондента не спрашивать страну.
СурвейМанки, с другой стороны, задирает цены, $34/mo и это только при оплате сразу за год, а так ещё выше.
Кто может посоветовать сервис для проведения опросов? Гугл формс, конечно, бесплатный, но по ссылке нельзя передать параметры (например, хэш юзера или кампании), и он не собирает ip, а если бы собирал, можно было бы у респондента не спрашивать страну.
СурвейМанки, с другой стороны, задирает цены, $34/mo и это только при оплате сразу за год, а так ещё выше.
#ml #graphs #convolution #templatematching #spectral #laplacian #fourier #gcn #chebyshev #chebnets #cayleynets #graphsage #gin
Оказывается, ну почти всё в нашей жизни можно представить как граф. Так вот внезапно ты становишься объктом исследования науки и учёных, о которых ничего и не знал.
https://youtu.be/Iiv9R6BjxHM
Оказывается, ну почти всё в нашей жизни можно представить как граф. Так вот внезапно ты становишься объктом исследования науки и учёных, о которых ничего и не знал.
https://youtu.be/Iiv9R6BjxHM
YouTube
Week 13 – Lecture: Graph Convolutional Networks (GCNs)
Course website: http://bit.ly/DLSP20-web
Playlist: http://bit.ly/pDL-YouTube
Speaker: Xavier Bresson
Week 13: http://bit.ly/DLSP20-13
0:00:00 – Week 13 – Lecture
LECTURE Part A
In this section, we discuss the architecture and convolution of traditional…
Playlist: http://bit.ly/pDL-YouTube
Speaker: Xavier Bresson
Week 13: http://bit.ly/DLSP20-13
0:00:00 – Week 13 – Lecture
LECTURE Part A
In this section, we discuss the architecture and convolution of traditional…
👍2
#recommendations
Попробовал трипадвизор, он советует кафешки, которые тупо не работают. Ну зато хоть размял свои мощные мышцы.
Попробовал трипадвизор, он советует кафешки, которые тупо не работают. Ну зато хоть размял свои мощные мышцы.
#payments
Уважаемые подписчики из России, мне удалось открыть карту в зарубежном банке, если у вас из-за войны/санкций такая же аховая ситуация с оплатой зарубежных облачных сервисов (AWS, GCP, etc), какая была у меня недавно, но очень надо, можете написать в личку для помощи с оплатой. По себе знаю, что фиг кто поможет.
Уважаемые подписчики из России, мне удалось открыть карту в зарубежном банке, если у вас из-за войны/санкций такая же аховая ситуация с оплатой зарубежных облачных сервисов (AWS, GCP, etc), какая была у меня недавно, но очень надо, можете написать в личку для помощи с оплатой. По себе знаю, что фиг кто поможет.
🔥6
#ml #geofeatures #python
Отличная глава о подготовке геофичей
https://geographicdata.science/book/notebooks/12_feature_engineering.html
Отличная глава о подготовке геофичей
https://geographicdata.science/book/notebooks/12_feature_engineering.html
#featureengineering #supervisedlearning #standardpractice
Недавно был материал о стандартном подходе к решению ML-задач с разметкой (не хочется использовать термин "с учителем", нет там учителя/супервизора), хотелось бы подробнее остановиться на создании признаков.
Часто бывает, что в модельной задаче есть целые группы признаков, которые относятся к определённой сущности: пользователю, компании, активностям, внешней среде, локациям. Часть из них текстовые, часть графовые. Это всё ещё часто осложняется временной структурой, и надо думать об агрегатах этих всех признаков по некоторым скользящим окнам. Если всё это богатство слепить в одну таблицу, начинают буксовать любые алгоритмы, не говоря уже про требования к железу. Как не сойти с ума во время такой инженерии и добиться осмысленных результатов в рамках бюджета?
Пока я остановился на таком подходе.
1) определяем Cross-Validation schema и метрики
2) настраиваем библу для трекинга, типа neptune или mlflow
3) начинаем с DummyClassifier/Regressor (DummyLags, если у вас timeseries-задача) со всеми доступными strategy. Лучший по метрикам становится baseline-ом.
4) работаем индивидуально по группам, относящимся к отдельным классам сущностей (юзеры, компании, и т.п.), начиная с самых простых
5) также можно работать по признакам, объединённым типом данных, например, все текстовые. это позволит ещё и логично считать межпризнаковые связи, например, расстояния в разных пространствах.
6) на данной группе построенных признаков обучаемся, фиксируем CV метрики, делаем анализ важности признаков, фиксируем барчарт важностей и список как артефакт модели и фичерсета. важность признаков в группе позволяет понять, куда копать дальше, в какие дебри углубляться
7) если это временной ряд, надо строить окна. строим коррелограмму, ориентируемся на пики графика, начинаем с небольших окон.
8) когда все группы пройдены, анализируем важности признаков и принимаем решение о том, в какую сторону углубляться, повторяем цикл с более "тонкими" признаками
9) теперь объединяем группы, пробуем обучаться на всех сразу, и используя Feature Selector (по-прежнему на CV).
10) если остаётся время, пробуем отношения фичей из разных групп, их добавляем к основному датасету и прогоняем тоже через пункт 9
Теперь смотрим в свой трекинг, выбираем лучший вариант по соотношению сложность/качество. Страдает ли этот метод от подгонки? Конечно, ведь мы, принимая решения о новых фичах, заглядываем в метрики. Можно ли этого избежать? Не знаю. Но можно зарезервировать часть данных под OOS, и финальное решение принимать только по этому набору, это уменьшит смещение.
Недавно был материал о стандартном подходе к решению ML-задач с разметкой (не хочется использовать термин "с учителем", нет там учителя/супервизора), хотелось бы подробнее остановиться на создании признаков.
Часто бывает, что в модельной задаче есть целые группы признаков, которые относятся к определённой сущности: пользователю, компании, активностям, внешней среде, локациям. Часть из них текстовые, часть графовые. Это всё ещё часто осложняется временной структурой, и надо думать об агрегатах этих всех признаков по некоторым скользящим окнам. Если всё это богатство слепить в одну таблицу, начинают буксовать любые алгоритмы, не говоря уже про требования к железу. Как не сойти с ума во время такой инженерии и добиться осмысленных результатов в рамках бюджета?
Пока я остановился на таком подходе.
1) определяем Cross-Validation schema и метрики
2) настраиваем библу для трекинга, типа neptune или mlflow
3) начинаем с DummyClassifier/Regressor (DummyLags, если у вас timeseries-задача) со всеми доступными strategy. Лучший по метрикам становится baseline-ом.
4) работаем индивидуально по группам, относящимся к отдельным классам сущностей (юзеры, компании, и т.п.), начиная с самых простых
5) также можно работать по признакам, объединённым типом данных, например, все текстовые. это позволит ещё и логично считать межпризнаковые связи, например, расстояния в разных пространствах.
6) на данной группе построенных признаков обучаемся, фиксируем CV метрики, делаем анализ важности признаков, фиксируем барчарт важностей и список как артефакт модели и фичерсета. важность признаков в группе позволяет понять, куда копать дальше, в какие дебри углубляться
7) если это временной ряд, надо строить окна. строим коррелограмму, ориентируемся на пики графика, начинаем с небольших окон.
8) когда все группы пройдены, анализируем важности признаков и принимаем решение о том, в какую сторону углубляться, повторяем цикл с более "тонкими" признаками
9) теперь объединяем группы, пробуем обучаться на всех сразу, и используя Feature Selector (по-прежнему на CV).
10) если остаётся время, пробуем отношения фичей из разных групп, их добавляем к основному датасету и прогоняем тоже через пункт 9
Теперь смотрим в свой трекинг, выбираем лучший вариант по соотношению сложность/качество. Страдает ли этот метод от подгонки? Конечно, ведь мы, принимая решения о новых фичах, заглядываем в метрики. Можно ли этого избежать? Не знаю. Но можно зарезервировать часть данных под OOS, и финальное решение принимать только по этому набору, это уменьшит смещение.
Telegram
Aspiring Data Science
Мой фреймворк для проектов с DL-экспериментами
Начиная новый проект, я представляю, что вокруг меня прогружается мир в игре. Взаимодействуя с ним я лучше понимаю задачу и как хорошо я могу ее выполнить. И что вообще значит "хорошо"
👉🏻 Формулирую задачу…
Начиная новый проект, я представляю, что вокруг меня прогружается мир в игре. Взаимодействуя с ним я лучше понимаю задачу и как хорошо я могу ее выполнить. И что вообще значит "хорошо"
👉🏻 Формулирую задачу…
👍1
#featureengineering #hamilton
Новая библа для вдумчивого, покрытого тестами создания признаков. Каждый признак - функция. Драйвер выполняет функции в том числе на системах оркестрации типа prefect, airflow. Есть удобные декораторы метаданных, валидации. Наверное, это хорошо для энтерпрайза, где командная работа, и важно понимание, как что считается и кто за что в ответе. Также обещают масштабируемость (Ray, Dask, Spark).
https://www.youtube.com/watch?v=oQLEkjUNq0U&ab_channel=PyData
Новая библа для вдумчивого, покрытого тестами создания признаков. Каждый признак - функция. Драйвер выполняет функции в том числе на системах оркестрации типа prefect, airflow. Есть удобные декораторы метаданных, валидации. Наверное, это хорошо для энтерпрайза, где командная работа, и важно понимание, как что считается и кто за что в ответе. Также обещают масштабируемость (Ray, Dask, Spark).
https://www.youtube.com/watch?v=oQLEkjUNq0U&ab_channel=PyData
👍1
#fantasy #subwaytosally #kwerner #thecrowking
- Возьми вот, упругость тропок,
Возьми стынь и глубь колодцев,
И острый свет над покосами,
Закат – хлад излома дня.
- Не надо мне твоих тропок,
И крови сухих колодцев,
И окон, что в спину косятся,
Закатов, что тишь хранят.
Вороний король на троне
Из девятисот колосьев,
Из тысяч мышиных косточек
В степи ночной ждёт меня.
- Возьми тогда моё имя.
И будут – густые кроны,
Сыночки, что в доме возятся.
И счастье. И навсегда.
- Не нужно мне твоё имя,
И яблонь густые кроны,
И дети. Прозрачней воздуха
Кошмарное «навсегда».
В виски мои рвётся иней.
Вороний король в короне
Из сотни гадючьих хвостиков,
Не любит, не любит ждать.
***
А если захочешь свидеться,
Иди за гадючьим хвостиком,
Иди за мышиной косточкой,
За склёванным колоском.
За чёрной крылатой свитою
За криком, что всюду носится,
Над пашнями, над покосами,
Звенит между облаков.
Иди вслед за жуткой песенкой,
Его остроклювых пасынков –
Наследников;
Вдоль по просекам
Спеши же, пока тепло.
Смотри, как орут и бесятся,
Над выселками, над пасекой,
Пока в один миг ты просто так
Не встанешь сам на крыло.
Тогда-то мы сможем встретиться,
Тогда-то мы сможем свидеться,
В десятках мышиных косточек,
Да в склёванных колосках.
И будут сыны и доченьки,
И будет закат над гнёздышком,
И будет летать над просекой
Осипшее
наше
«кар».
К. Вернер
https://www.youtube.com/watch?v=49tMqYbNXWA&ab_channel=xXPayongXx
- Возьми вот, упругость тропок,
Возьми стынь и глубь колодцев,
И острый свет над покосами,
Закат – хлад излома дня.
- Не надо мне твоих тропок,
И крови сухих колодцев,
И окон, что в спину косятся,
Закатов, что тишь хранят.
Вороний король на троне
Из девятисот колосьев,
Из тысяч мышиных косточек
В степи ночной ждёт меня.
- Возьми тогда моё имя.
И будут – густые кроны,
Сыночки, что в доме возятся.
И счастье. И навсегда.
- Не нужно мне твоё имя,
И яблонь густые кроны,
И дети. Прозрачней воздуха
Кошмарное «навсегда».
В виски мои рвётся иней.
Вороний король в короне
Из сотни гадючьих хвостиков,
Не любит, не любит ждать.
***
А если захочешь свидеться,
Иди за гадючьим хвостиком,
Иди за мышиной косточкой,
За склёванным колоском.
За чёрной крылатой свитою
За криком, что всюду носится,
Над пашнями, над покосами,
Звенит между облаков.
Иди вслед за жуткой песенкой,
Его остроклювых пасынков –
Наследников;
Вдоль по просекам
Спеши же, пока тепло.
Смотри, как орут и бесятся,
Над выселками, над пасекой,
Пока в один миг ты просто так
Не встанешь сам на крыло.
Тогда-то мы сможем встретиться,
Тогда-то мы сможем свидеться,
В десятках мышиных косточек,
Да в склёванных колосках.
И будут сыны и доченьки,
И будет закат над гнёздышком,
И будет летать над просекой
Осипшее
наше
«кар».
К. Вернер
https://www.youtube.com/watch?v=49tMqYbNXWA&ab_channel=xXPayongXx
YouTube
Subway to Sally - Krähenkönig
Album: Kreuzfeuer
Einfach Genial ;)
All Rights at Subway to Sally
Einfach Genial ;)
All Rights at Subway to Sally
❤1👍1