Библиотека собеса по Data Science | вопросы с собеседований
前往频道在 Telegram
Вопросы с собеседований по Data Science и ответы на них. Курс по Ai-агентам: https://clc.to/9L0Tqg По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7dfb7235 Для обратной связи: @proglibrary_feeedback_bot
显示更多4 489
订阅者
无数据24 小时
+77 天
+4230 天
帖子存档
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Градиентный бустинг и случайный лес: когда какой алгоритм использовать?
Рассмотрим несколько ситуаций:
🔹 Если в ваших данных много пропущенных значений.
Случайный лес может справиться с такими данными. Впрочем, современные реализации градиентного бустинга, такие как LightGBM или CatBoost, также поддерживают работу с пропусками.
🔹 Если вам важна интерпретируемость модели.
Результаты случайного леса легче интерпретируются через важность признаков.
🔹 Если время обучения ограничено.
Случайный лес может обучаться быстрее за счёт параллелизации. Однако современные реализации градиентного бустинга также поддерживают ускорение за счёт параллельных вычислений.
🔹 Если в данных есть дисбаланс классов.
Градиентный бустинг может решить эту проблему, увеличивая веса неверно классифицированных примеров на каждой итерации.
#машинное_обучение
Градиентный спуск, когда он запускается до достижения минимума, всегда находит одно и то же решение, независимо от того, каков был исходный набор весов.
Какой алгоритм машинного обучения используется для восстановления плотности вероятности?
Тут могут использоваться методы, основанные на моделях Гауссовых смесей (Gaussian Mixture Models, GMM). Это вероятностные модели, которые предполагают, что все точки данных генерируются из смеси конечного числа распределений Гаусса с неизвестными параметрами.
Так, данный алгоритм машинного обучения может присвоить каждой выборке Гауссово распределение, к которому она, скорее всего, принадлежит.
#машинное_обучение
Какие статистические тесты можно применить для сравнения среднего двух выборок?
▪️Z-тест
Это самый очевидный выбор. Для его применения предположим, что выполнена нулевая гипотеза — обе выборки получены из одного распределения с неизвестным средним. Тогда построим статистику с распределением 𝑁(0,1), чтобы применить z-тест. Стоит отметить, что размер выборки должен быть достаточно большой.
▪️U-критерий Манна-Уитни
Пусть в выборках одинаковое количество элементов, и выборки большие. Разобьём первую на 100 групп одинакового размера. Внутри каждой группы посчитаем среднее. Мы получим 100 чисел. Сделаем то же самое для второй выборки. Получим ещё 100 чисел. Теперь применяем тест Манна-Уитни к этим двум сотням чисел, как к двум выборкам.
▪️Точный тест Фишера и критерий согласия Пирсона (критерий хи-квадрат)
Точный тест Фишера применяется только на очень маленьких выборках, так как на больших выборках он трудно вычислим. Для больших выборок применяют критерий хи-квадрат.
#статистика
Как работает метод groupby() в Pandas?
Метод работает по этапам:
▪️Первый этап — разбиение данных
Данные в объекте pandas (будь то Series или DataFrame) делятся на группы на основе одного или нескольких ключей (столбцов), которые указывает пользователь.
▪️Разбиение выполняется по оси
Операция разбиения может быть выполнена по строкам (по умолчанию axis=0) или по столбцам (axis=1).
▪️Применение функций к каждой группе
После разбиения к каждой группе применяется функция (например, агрегация, фильтрация или трансформация), и это создает новое значение для каждой группы.
▪️Финальная комбинация
Результаты применения этих функций собираются в итоговый объект. Окончательная форма результата зависит от типа операции, применяемой к данным.
#pandas
Какие библиотеки Python, позволяющие провести статистический анализ данных, вы знаете?
Можно назвать основные.
▪️statistics
Это встроенный модуль, который позволяет оценить некоторые статистические характеристики.
▪️NumPy
Данная библиотека предназначена для работы с многомерными массивами и предоставляет широкий набор функций для выполнения математических и статистических операций, таких как вычисление среднего, стандартного отклонения, дисперсии и т.д.
▪️SciPy
Расширяет возможности NumPy и включает в себя модули для выполнения более сложных статистических операций, таких как расчет доверительных интервалов, регрессии, а также проведение тестов на значимость.
▪️Pandas
Эта библиотека предназначена для обработки и анализа данных. Она позволяет легко работать с табличными данными и предоставляет методы для их фильтрации, агрегации и выполнения статистических операций, таких как группировка и вычисление медианы.
▪️Matplotlib
Хотя эта библиотека в первую очередь предназначена для визуализации данных, она также полезна при проведении статистического анализа, поскольку позволяет строить графики распределений и гистограммы для анализа данных.
#python
Назовите алгоритмическую сложность следующих структур данных: список, словарь, очередь, множество
▪️Список (List)
Позволяет хранить последовательность элементов, поддерживает доступ по индексу.
Операция поиска (доступа к элементу): O(1);
Вставка или удаление элемента: O(n) в худшем случае.
▪️ Словарь (Dictionary)
Позволяет хранить пары «ключ-значение» и обеспечивает быстрый доступ к значениям по ключу.
Операция поиска, вставки и удаления элемента: O(1) в среднем, O(n) в худшем случае при коллизиях.
▪️ Очередь (Queue)
Поддерживает порядок «первым пришёл — первым вышел» (FIFO).
Операция добавления и удаления элемента: O(1).
▪️ Множество (Set)
Хранит уникальные элементы и обеспечивает быстрые операции проверки наличия элемента.
Операция поиска, вставки и удаления элемента: O(1) в среднем, O(n) в худшем случае
#программирование
Repost from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
+5
🤖🆓13 опенсорсных инструментов для ИИ-разработчиков
Готовы прокачать свои проекты? Эти 13 инструментов помогут вам не просто ускорить разработку, а сделать её по-настоящему качественной.
👉 Все инструменты перечислены в нашей статье
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
✍️ Решение задачи про палиндром
Условие:
Фраза является палиндромом, если, после преобразования всех заглавных букв в строчные и удаления всех неалфавитных символов, она читается одинаково слева направо и справа налево. Алфавитные символы включают буквы и цифры.
Напишите функцию, которая принимает на вход строку
s и возвращает True, если это палиндром, и False, если это не палиндром.
Решение выше👆Repost from Библиотека питониста | Python, Django, Flask
+5
🐍🔍 7 малоизвестных возможностей стандартной библиотеки Python
Стандартная библиотека Python — это кладезь возможностей. Мы представляем семь недооценённых модулей, которые помогут вам улучшить организацию данных, оптимизировать производительность и упростить распространение ваших программ.
🔗 Читать обо всём в статье
👾 -35% на хардкорный курс по вышмату
На курсе вы получите все необходимые знания для старта карьеры в DS или аналитике – https://proglib.io/w/b10d5805
19 490 рублей 29 990 рублей
Что еще вас ждет на курсе:
▪️ Полугодовая программа от преподавателей ВМК МГУ;
▪️ 150 практических заданий и 47 видеолекций;
▪️ Бессрочный доступ ко всем материалам курса;
▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
🌚 Переходите на сайт, читайте подробности и заходите на обучение по самым выгодным условиям – https://proglib.io/w/b10d5805
👆Небольшая памятка по основным алгоритмам машинного обучения и их гиперпараметрам👆
▪️Линейная регрессия
Параметр регуляризации (например, альфа для Ridge/Lasso регрессии).
▪️Логистическая регрессия
Параметр C (обратная сила регуляризации), штраф (L1, L2).
▪️Дерево решений
Глубина дерева (Max_depth), минимальное количество образцов для разделения (min_samples_split), минимальное количество образцов на лист (min_samples_leaf), критерий разделения (criterion).
▪️K-Nearest Neighbors (KNN)
Количество соседей (n_neighbors), веса (weights), метрика (metric).
▪️Support Vector Machines (SVM)
Параметр C, ядро (kernel), гамма (gamma), степень (для полиномиального ядра).
Repost from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
+4
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих
В новой статье мы расскажем о шести основных алгоритмах машинного обучения и их практическом применении в различных отраслях.
Вот алгоритмы, которые мы рассмотрим:
🔹линейная регрессия;
🔹SVM;
🔹дерево решений;
🔹случайный лес;
🔹наивный байес;
🔹логистическая регрессия.
🔗 Читать статью
Как с помощью линейной модели понять, от каких признаков можно сразу избавиться?
Есть несколько способов:
▪️Посмотреть на коэффициенты при признаках
Они показывают, насколько сильно каждый признак влияет на целевую переменную. Если коэффициент признака близок к нулю, это может означать, что данный признак мало влияет на прогноз, и его можно исключить.
▪️Использовать регуляризацию
L1-регуляризация (Lasso) может обнулять коэффициенты некоторых признаков, что прямо указывает на их малую значимость.
▪️Проверить значимости признаков
Методы статистического тестирования (например, t-тест для каждого признака) могут показать, являются ли коэффициенты значимыми. Если какой-то признак незначим, его вклад в предсказание минимален, и его можно исключить из модели.
#машинное_обучение
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Для каких алгоритмов машинного обучения не нужно масштабирование признаков?
Для некоторых алгоритмов машинного обучения необязательно проводить масштабирование признаков, поскольку они не зависят от расстояний или линейных комбинаций признаков.
К таким алгоритмам относятся:
▪️дерево решений;
▪️случайный лес (так как строится над деревьями решений);
▪️градиентный бустинг над деревьями решений;
▪️наивный байесовский классификатор (так как его основная идея заключается в вычислении условных вероятностей для каждого признака и класса на основе данных).
#машинное_обучение
В чем разница между вероятностью и правдоподобием?
▪️В случае с вероятностью мы оцениваем вероятность наступления определённого события, исходя из фиксированного параметра, который мы считаем известным. Например, если мы предполагаем, что монета честная, мы принимаем вероятность выпадения орла за 0.5.
Таким образом, вероятность позволяет оценить, каковы шансы каждого из возможных исходов при многократных испытаниях.
▪️Правдоподобие — это оценка того, насколько хорошо наблюдаемые данные соответствуют гипотезе или параметрам модели. В этом случае данные зафиксированы, и мы пытаемся определить, при каком значении параметра правдоподобие (вероятность появления таких данных) будет максимальным. Например, если при подбрасывании монеты 10 раз выпало 7 орлов, мы можем вычислить, какая вероятность выпадения орла (не обязательно 0.5) лучше всего объясняет полученные данные.
#теория_вероятностей
Repost from Библиотека питониста | Python, Django, Flask
🐍📈 Бэктест на Python: оцениваем торговую стратегию
Бэктестинг — это метод, который используется в трейдинге и инвестировании для оценки эффективности торговой стратегии (или инвестиционного подхода) с помощью исторических рыночных данных.
Проще говоря, это процесс проверки того, как стратегия работала бы в прошлом, если бы её применяли к реальным данным.
👉 В новой статье разбираемся, как реализовать бэктестинг на Python
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
