Forwarded from DL in NLP (Vlad Lialin)
Applyingml - забавный сайт с практическими советами как применять ML в реальной жизни.
Зашло The first rule of machine learning: Start without machine learning
Интересно как GPT-3/4 все это поменяют, но пока что советы выглядят полезными.
https://applyingml.com
Зашло The first rule of machine learning: Start without machine learning
Интересно как GPT-3/4 все это поменяют, но пока что советы выглядят полезными.
https://applyingml.com
Applyingml
ApplyingML - Papers, Guides, and Interviews with ML practitioners
Curated papers and blogs, ghost knowledge, and interviews with experienced ML practitioners on how to apply machine learning in industry.
Forwarded from New Yorko Times (Yury Kashnitsky)
Курс байесовской статистики и causal inference “Statistical Rethinking”
#courses #statistics
Стартует курс байесовской статистики и causal inference ”Statistical Rethinking 2023”.
Я лично давно хотел разобраться в том, как по данным восстанавливать причинно-следственные связи, читал канал @reliable_ml. Но вот и целый курс. Еще здорово, что это не статистика ради статистики, а статистика ради науки в целом – для исследователей из разных областей (мемы во вводной лекции кого-то выбесят, меня – нет).
Цитата: "We will prioritize conceptual, causal models and precise questions about those models. We will use Bayesian data analysis to connect scientific models to evidence"
Про курс поступило много хороших отзывов из твиттера от людей, знающих статистику уж точно лучше меня.
GitHub https://tinyurl.com/4y7zcvz8, 1-ая лекция https://youtu.be/FdnMWdICdRs. Код в основном на R, но есть и адаптация на Python + PyMC3.
Планирую ботать, как минимум лекции послушать.
#courses #statistics
Стартует курс байесовской статистики и causal inference ”Statistical Rethinking 2023”.
Я лично давно хотел разобраться в том, как по данным восстанавливать причинно-следственные связи, читал канал @reliable_ml. Но вот и целый курс. Еще здорово, что это не статистика ради статистики, а статистика ради науки в целом – для исследователей из разных областей (мемы во вводной лекции кого-то выбесят, меня – нет).
Цитата: "We will prioritize conceptual, causal models and precise questions about those models. We will use Bayesian data analysis to connect scientific models to evidence"
Про курс поступило много хороших отзывов из твиттера от людей, знающих статистику уж точно лучше меня.
GitHub https://tinyurl.com/4y7zcvz8, 1-ая лекция https://youtu.be/FdnMWdICdRs. Код в основном на R, но есть и адаптация на Python + PyMC3.
Планирую ботать, как минимум лекции послушать.
Forwarded from Small Data Science for Russian Adventurers
#книги
Несколько книг в свободном доступе по SQL и бизнес-аналитике (половина в процессе написания)
https://dataschool.com/books/
Несколько книг в свободном доступе по SQL и бизнес-аналитике (половина в процессе написания)
https://dataschool.com/books/
Forwarded from Кодим на Коленке | Уроки по программированию
Forwarded from ИЦ "ГЕВИССТА"
Часть_6_2_4_Иллюстрация_работы_дерева_классификации_CART_на_конкретном.ipynb
514.7 KB
Важности скоррелированных признаков в дереве, лесе и бустинге
В группе, посвященной CatBoost, задали вопрос, какие важности будут у двух высоко коррелированных признаков. Если корреляция идеальная, происходит разбавление важности коррелированных признаков из-за их взаимозаменяемости: важность двух идентичных признаков будет снижена примерно вдвое. Чем сильнее корреляция, тем сильнее выражен эффект. Если корреляция сильная, но не идеальная, эффект будет снижен. На эффект можно влиять с помощью отбора наблюдений/признаков. Он проявляется в одиночном дереве, случайном лесе и бустинге, из всех бустингов меньше всего проявляется в LightGBM. Приложил один из экспериментов, которые делал для книжки по бустингу. Там можно поиграть с добавлением шума.
В группе, посвященной CatBoost, задали вопрос, какие важности будут у двух высоко коррелированных признаков. Если корреляция идеальная, происходит разбавление важности коррелированных признаков из-за их взаимозаменяемости: важность двух идентичных признаков будет снижена примерно вдвое. Чем сильнее корреляция, тем сильнее выражен эффект. Если корреляция сильная, но не идеальная, эффект будет снижен. На эффект можно влиять с помощью отбора наблюдений/признаков. Он проявляется в одиночном дереве, случайном лесе и бустинге, из всех бустингов меньше всего проявляется в LightGBM. Приложил один из экспериментов, которые делал для книжки по бустингу. Там можно поиграть с добавлением шума.
Forwarded from Тимлид Очевидность | Евгений Антонов
Проклятие знания
Проклятие знания — термин, предложенный психологом Робином Хогартом для обозначения психологического феномена, заключающегося в том, что более информированным людям чрезвычайно сложно рассматривать какую-либо проблему с точки зрения менее информированных людей.
Эта штука встречается в работе чаще, чем нам бы этого хотелось.
Обучение и менторство
Видел много раз, что опытный наставник довольно непонятно и непродуктивно чему-то учит новичков. Он уже и забыл, как был сам начинающим специалистом, и что вот эти вот «простейшие азы, которые очевидны», на самом деле не простейшие, не очевидные, и требуют детального объяснения.
В итоге обучающий сыплет сложными терминами и абстракциями, а обучающийся готов провалиться под землю от чувства собственной ничтожности. Ведь наставник же говорит, что там всё легче легкого, значит, это обучающийся – плохой, глупый, неправильный.
Заказчик-исполнитель
В отношениях заказчиков и исполнителей тоже порой всё плохо. Заказчик выдает лишь половину нужной информации, потому что он знает уже хорошо свою доменную область и «ЭТО ЖЕ ОЧЕВИДНО» (оригинальная цитата, с которой я столкнулся в подобном случае).
Или наоборот, исполнитель рассказывает продавцу тортиков, какие он паттерны проектирования использует, как CI/CD настроит и почему синглтон нынче считают моветоном.
Абсолютно то же самое происходит во взаимодействии менеджер-программист. Один про код, другой про РОИ, ДАУ, МАУ, CJM и прочее.
Программист-программист
Уже вроде проще. Да, но нет.
Тут тоже сильно зависит от компетенции и знания глоссария. Кстати, здесь в какой-то мере помогает, например, теория паттернов проектирования. Ведь тут у всех появляется общий словарь и одинаковое понимание абстракций.
Что делать
На мой взгляд, надо хорошенько думать о собеседнике. Надо прикидывать, что он знает, что не знает. Давать как можно больше контекста по теме разговора. Надо уточнять, всё ли понятно. Ну т.е. совет, казалось бы, обо всём и ни о чем.
Давайте чуть более практический пример. Если я хочу, чтобы пентестеры проверили мой новый проект, я не напишу им «Доброго времени суток, коллеги! Прошу проверить мой проект.», как это могли бы сделать некоторые. Я сообщу им весь потенциально нужный контекст, которого они не знают.
Например, я объясню:
⁃ Что за проект и какая у него основная цель. Это нужно для общего понимания, на что делать упор при проверке.
⁃ Когда дедлайн по запуску. Чтобы сроки выполнения сматчить.
⁃ Есть ли пользовательский ввод и если да, то где и какой: формы, загружаемые файлы, регистрации, авторизации и прочее. Чтобы этому уделили максимальное внимание и ничего не осталось незамеченным.
⁃ Есть ли интеграции с внешними системами. Чтобы понимали, какие данные могут поступать извне и куда, в случае прорыва периметра, куда злоумышленник может попасть еще.
⁃ Какой стэк технологий, где конфиги, данные о внешних модулях и библиотеках. Чтобы выяснить все данные об известных уязвимостях.
⁃ Где конфиги сервера и как получить туда доступ. Ведь не только на уровне кода бывают уязвимости.
Все эти пункты дают ответы сразу на многие вопросы, которые потенциально возникали бы спустя часы бестолкового поиска вслепую. Заодно меньше шанс, что что-то пропустят, потому что не знали про это и оно лежало в каком-то неочевидном месте.
Возможно, этих данных окажется недостаточно, и тогда я готов отвечать на дополнительные вопросы. Но я буду знать, что я изначально покрыл большинство темных пятен и люди будут уже что-то уточнять, довольно неплохо ориентируясь в проекте.
Итог
Формирования общего глоссария с собеседником, передача полного контекста, мысль о том, что всё, что очевидно для тебя, может быть неочевидно для кого-то другого – всё это ведет к минимизации негативного эффекта проклятия знания, устранению лишней пустой работы и вопросов.
А еще это довольно уважительно по отношению к собеседнику. А люди любят, когда их уважают.
Проклятие знания — термин, предложенный психологом Робином Хогартом для обозначения психологического феномена, заключающегося в том, что более информированным людям чрезвычайно сложно рассматривать какую-либо проблему с точки зрения менее информированных людей.
Эта штука встречается в работе чаще, чем нам бы этого хотелось.
Обучение и менторство
Видел много раз, что опытный наставник довольно непонятно и непродуктивно чему-то учит новичков. Он уже и забыл, как был сам начинающим специалистом, и что вот эти вот «простейшие азы, которые очевидны», на самом деле не простейшие, не очевидные, и требуют детального объяснения.
В итоге обучающий сыплет сложными терминами и абстракциями, а обучающийся готов провалиться под землю от чувства собственной ничтожности. Ведь наставник же говорит, что там всё легче легкого, значит, это обучающийся – плохой, глупый, неправильный.
Заказчик-исполнитель
В отношениях заказчиков и исполнителей тоже порой всё плохо. Заказчик выдает лишь половину нужной информации, потому что он знает уже хорошо свою доменную область и «ЭТО ЖЕ ОЧЕВИДНО» (оригинальная цитата, с которой я столкнулся в подобном случае).
Или наоборот, исполнитель рассказывает продавцу тортиков, какие он паттерны проектирования использует, как CI/CD настроит и почему синглтон нынче считают моветоном.
Абсолютно то же самое происходит во взаимодействии менеджер-программист. Один про код, другой про РОИ, ДАУ, МАУ, CJM и прочее.
Программист-программист
Уже вроде проще. Да, но нет.
Тут тоже сильно зависит от компетенции и знания глоссария. Кстати, здесь в какой-то мере помогает, например, теория паттернов проектирования. Ведь тут у всех появляется общий словарь и одинаковое понимание абстракций.
Что делать
На мой взгляд, надо хорошенько думать о собеседнике. Надо прикидывать, что он знает, что не знает. Давать как можно больше контекста по теме разговора. Надо уточнять, всё ли понятно. Ну т.е. совет, казалось бы, обо всём и ни о чем.
Давайте чуть более практический пример. Если я хочу, чтобы пентестеры проверили мой новый проект, я не напишу им «Доброго времени суток, коллеги! Прошу проверить мой проект.», как это могли бы сделать некоторые. Я сообщу им весь потенциально нужный контекст, которого они не знают.
Например, я объясню:
⁃ Что за проект и какая у него основная цель. Это нужно для общего понимания, на что делать упор при проверке.
⁃ Когда дедлайн по запуску. Чтобы сроки выполнения сматчить.
⁃ Есть ли пользовательский ввод и если да, то где и какой: формы, загружаемые файлы, регистрации, авторизации и прочее. Чтобы этому уделили максимальное внимание и ничего не осталось незамеченным.
⁃ Есть ли интеграции с внешними системами. Чтобы понимали, какие данные могут поступать извне и куда, в случае прорыва периметра, куда злоумышленник может попасть еще.
⁃ Какой стэк технологий, где конфиги, данные о внешних модулях и библиотеках. Чтобы выяснить все данные об известных уязвимостях.
⁃ Где конфиги сервера и как получить туда доступ. Ведь не только на уровне кода бывают уязвимости.
Все эти пункты дают ответы сразу на многие вопросы, которые потенциально возникали бы спустя часы бестолкового поиска вслепую. Заодно меньше шанс, что что-то пропустят, потому что не знали про это и оно лежало в каком-то неочевидном месте.
Возможно, этих данных окажется недостаточно, и тогда я готов отвечать на дополнительные вопросы. Но я буду знать, что я изначально покрыл большинство темных пятен и люди будут уже что-то уточнять, довольно неплохо ориентируясь в проекте.
Итог
Формирования общего глоссария с собеседником, передача полного контекста, мысль о том, что всё, что очевидно для тебя, может быть неочевидно для кого-то другого – всё это ведет к минимизации негативного эффекта проклятия знания, устранению лишней пустой работы и вопросов.
А еще это довольно уважительно по отношению к собеседнику. А люди любят, когда их уважают.
Forwarded from Блог о Data Science 💻 Наука о данных (Red Powerful)
Этот пост будет по большей части как self best practice.
Cпарсить можно абсолютно все что угодно!)
Если вы когда то проходили курсы по парсингу или веб скрапингу, то в жизни все не так просто, как на курсах. Большинство сайтов защищаются от ддос атак и подозрительных активностей, а парсеры могут сильно нагружать сайты. Поэтому вас на изи заблокать, но выход всегда есть.Можно почувствовать себя немного хакером и бороться с системой, пытаться её обойти. Благо для этого есть достаточно инструментов. Знайте, что если у вас есть данные - у вас есть все.
Hello world + Dev Ops, потому что в дальнейшем хрен знает где мы вообще этот парсер запускать будем, а может распределенно придется парсить.После чего мы можем начать писать первую версию парсера.
jupyter notebook, избавьте меня от этого пожалуйста.Что нам для этого понадобиться?
• request
• BS4/selenium/scrapy
• json, csv, postgresql
• pytest
• superset (или че то такое, что бы картиночки смотреть)
• multiprocessing/joblib
• fakeuseragent, proxy server
Желательно создать отдельный скрипт бекапа данных на виртуальное хранилище и подгрузка в БД, которая находится на другом сервере.Гуглим как парсить данные и пользоваться этим всем, поэтому вот вам гайд
- PythonToday[1][2][3] (Самое годное, что вы можете найти и повторить)
- Как спарсить что угодно?
- HTML не панацея [1][2]
- Request не панацея
- Distributed web parsing [1][2]
Вообще этот мужик годноту делает
Так же вам стоит знать, что запускать лучше всего свои парсеры несколько раз, на несколько параллельных джобах или серверах. (вообще лучше каждый сервер распределить на свой регион или участок, а джобы на один и тот же сектор, так получиться наиболее корректная валидация парсинга). Так вы валидируете результат, а потом просто смотрите по объему и удаляете дубликаты, это достаточно легко сделать.
Парсим че угодно и радуемся жизни. Можно продать инфу конкурентам или сделать на ней аналитический отчет.
Если вам нужно что-то спарсить
Можно всегда написать автору канала @redpf
Please open Telegram to view this post
VIEW IN TELEGRAM
#interview
Страничка с вопросами по собеседованиям в DS
https://interview-mds.ru/
+ вопросы и ответы
https://docs.google.com/document/d/1eeP6R36Ur7aTFica7uBkx8FlaQKSE8dHamdnoAJCVUM/edit?usp=sharing
Страничка с вопросами по собеседованиям в DS
https://interview-mds.ru/
+ вопросы и ответы
https://docs.google.com/document/d/1eeP6R36Ur7aTFica7uBkx8FlaQKSE8dHamdnoAJCVUM/edit?usp=sharing
Google Docs
interview-mds.ru
Вопросы https://interview-mds.ru/ с ответами тг канал: https://teleg.run/mommyscience Что такое статистическая мощность? Сколько нужно провести экспериментов, чтобы построить доверительный интервал? Какой ряд называется стационарным? Как работает регуляризация…
Forwarded from Denis
Интересное что-то
https://academic.oup.com/bioinformatics/article/35/8/1358/5100883
Генерирует псевдо статистику фич