Назовите алгоритмическую сложность следующих структур данных: список, словарь, очередь, множество
▪️Список (List)
Позволяет хранить последовательность элементов, поддерживает доступ по индексу.
Операция поиска (доступа к элементу): O(1);
Вставка или удаление элемента: O(n) в худшем случае.
▪️ Словарь (Dictionary)
Позволяет хранить пары «ключ-значение» и обеспечивает быстрый доступ к значениям по ключу.
Операция поиска, вставки и удаления элемента: O(1) в среднем, O(n) в худшем случае при коллизиях.
▪️ Очередь (Queue)
Поддерживает порядок «первым пришёл — первым вышел» (FIFO).
Операция добавления и удаления элемента: O(1).
▪️ Множество (Set)
Хранит уникальные элементы и обеспечивает быстрые операции проверки наличия элемента.
Операция поиска, вставки и удаления элемента: O(1) в среднем, O(n) в худшем случае
#программирование
▪️Список (List)
Позволяет хранить последовательность элементов, поддерживает доступ по индексу.
Операция поиска (доступа к элементу): O(1);
Вставка или удаление элемента: O(n) в худшем случае.
▪️ Словарь (Dictionary)
Позволяет хранить пары «ключ-значение» и обеспечивает быстрый доступ к значениям по ключу.
Операция поиска, вставки и удаления элемента: O(1) в среднем, O(n) в худшем случае при коллизиях.
▪️ Очередь (Queue)
Поддерживает порядок «первым пришёл — первым вышел» (FIFO).
Операция добавления и удаления элемента: O(1).
▪️ Множество (Set)
Хранит уникальные элементы и обеспечивает быстрые операции проверки наличия элемента.
Операция поиска, вставки и удаления элемента: O(1) в среднем, O(n) в худшем случае
#программирование
Какие библиотеки Python, позволяющие провести статистический анализ данных, вы знаете?
Можно назвать основные.
▪️statistics
Это встроенный модуль, который позволяет оценить некоторые статистические характеристики.
▪️NumPy
Данная библиотека предназначена для работы с многомерными массивами и предоставляет широкий набор функций для выполнения математических и статистических операций, таких как вычисление среднего, стандартного отклонения, дисперсии и т.д.
▪️SciPy
Расширяет возможности NumPy и включает в себя модули для выполнения более сложных статистических операций, таких как расчет доверительных интервалов, регрессии, а также проведение тестов на значимость.
▪️Pandas
Эта библиотека предназначена для обработки и анализа данных. Она позволяет легко работать с табличными данными и предоставляет методы для их фильтрации, агрегации и выполнения статистических операций, таких как группировка и вычисление медианы.
▪️Matplotlib
Хотя эта библиотека в первую очередь предназначена для визуализации данных, она также полезна при проведении статистического анализа, поскольку позволяет строить графики распределений и гистограммы для анализа данных.
#python
Можно назвать основные.
▪️statistics
Это встроенный модуль, который позволяет оценить некоторые статистические характеристики.
▪️NumPy
Данная библиотека предназначена для работы с многомерными массивами и предоставляет широкий набор функций для выполнения математических и статистических операций, таких как вычисление среднего, стандартного отклонения, дисперсии и т.д.
▪️SciPy
Расширяет возможности NumPy и включает в себя модули для выполнения более сложных статистических операций, таких как расчет доверительных интервалов, регрессии, а также проведение тестов на значимость.
▪️Pandas
Эта библиотека предназначена для обработки и анализа данных. Она позволяет легко работать с табличными данными и предоставляет методы для их фильтрации, агрегации и выполнения статистических операций, таких как группировка и вычисление медианы.
▪️Matplotlib
Хотя эта библиотека в первую очередь предназначена для визуализации данных, она также полезна при проведении статистического анализа, поскольку позволяет строить графики распределений и гистограммы для анализа данных.
#python
Как работает метод groupby() в Pandas?
Метод работает по этапам:
▪️Первый этап — разбиение данных
Данные в объекте pandas (будь то Series или DataFrame) делятся на группы на основе одного или нескольких ключей (столбцов), которые указывает пользователь.
▪️Разбиение выполняется по оси
Операция разбиения может быть выполнена по строкам (по умолчанию axis=0) или по столбцам (axis=1).
▪️Применение функций к каждой группе
После разбиения к каждой группе применяется функция (например, агрегация, фильтрация или трансформация), и это создает новое значение для каждой группы.
▪️Финальная комбинация
Результаты применения этих функций собираются в итоговый объект. Окончательная форма результата зависит от типа операции, применяемой к данным.
#pandas
Метод работает по этапам:
▪️Первый этап — разбиение данных
Данные в объекте pandas (будь то Series или DataFrame) делятся на группы на основе одного или нескольких ключей (столбцов), которые указывает пользователь.
▪️Разбиение выполняется по оси
Операция разбиения может быть выполнена по строкам (по умолчанию axis=0) или по столбцам (axis=1).
▪️Применение функций к каждой группе
После разбиения к каждой группе применяется функция (например, агрегация, фильтрация или трансформация), и это создает новое значение для каждой группы.
▪️Финальная комбинация
Результаты применения этих функций собираются в итоговый объект. Окончательная форма результата зависит от типа операции, применяемой к данным.
#pandas
Какие статистические тесты можно применить для сравнения среднего двух выборок?
▪️Z-тест
Это самый очевидный выбор. Для его применения предположим, что выполнена нулевая гипотеза — обе выборки получены из одного распределения с неизвестным средним. Тогда построим статистику с распределением 𝑁(0,1), чтобы применить z-тест. Стоит отметить, что размер выборки должен быть достаточно большой.
▪️U-критерий Манна-Уитни
Пусть в выборках одинаковое количество элементов, и выборки большие. Разобьём первую на 100 групп одинакового размера. Внутри каждой группы посчитаем среднее. Мы получим 100 чисел. Сделаем то же самое для второй выборки. Получим ещё 100 чисел. Теперь применяем тест Манна-Уитни к этим двум сотням чисел, как к двум выборкам.
▪️Точный тест Фишера и критерий согласия Пирсона (критерий хи-квадрат)
Точный тест Фишера применяется только на очень маленьких выборках, так как на больших выборках он трудно вычислим. Для больших выборок применяют критерий хи-квадрат.
#статистика
▪️Z-тест
Это самый очевидный выбор. Для его применения предположим, что выполнена нулевая гипотеза — обе выборки получены из одного распределения с неизвестным средним. Тогда построим статистику с распределением 𝑁(0,1), чтобы применить z-тест. Стоит отметить, что размер выборки должен быть достаточно большой.
▪️U-критерий Манна-Уитни
Пусть в выборках одинаковое количество элементов, и выборки большие. Разобьём первую на 100 групп одинакового размера. Внутри каждой группы посчитаем среднее. Мы получим 100 чисел. Сделаем то же самое для второй выборки. Получим ещё 100 чисел. Теперь применяем тест Манна-Уитни к этим двум сотням чисел, как к двум выборкам.
▪️Точный тест Фишера и критерий согласия Пирсона (критерий хи-квадрат)
Точный тест Фишера применяется только на очень маленьких выборках, так как на больших выборках он трудно вычислим. Для больших выборок применяют критерий хи-квадрат.
#статистика
Какой алгоритм машинного обучения используется для восстановления плотности вероятности?
Тут могут использоваться методы, основанные на моделях Гауссовых смесей (Gaussian Mixture Models, GMM). Это вероятностные модели, которые предполагают, что все точки данных генерируются из смеси конечного числа распределений Гаусса с неизвестными параметрами.
Так, данный алгоритм машинного обучения может присвоить каждой выборке Гауссово распределение, к которому она, скорее всего, принадлежит.
#машинное_обучение
#машинное_обучение
Градиентный спуск, когда он запускается до достижения минимума, всегда находит одно и то же решение, независимо от того, каков был исходный набор весов.
Anonymous Quiz
16%
Правда
84%
Ложь
Градиентный бустинг и случайный лес: когда какой алгоритм использовать?
Рассмотрим несколько ситуаций:
🔹 Если в ваших данных много пропущенных значений.
Случайный лес может справиться с такими данными. Впрочем, современные реализации градиентного бустинга, такие как LightGBM или CatBoost, также поддерживают работу с пропусками.
🔹 Если вам важна интерпретируемость модели.
Результаты случайного леса легче интерпретируются через важность признаков.
🔹 Если время обучения ограничено.
Случайный лес может обучаться быстрее за счёт параллелизации. Однако современные реализации градиентного бустинга также поддерживают ускорение за счёт параллельных вычислений.
🔹 Если в данных есть дисбаланс классов.
Градиентный бустинг может решить эту проблему, увеличивая веса неверно классифицированных примеров на каждой итерации.
#машинное_обучение
Рассмотрим несколько ситуаций:
🔹 Если в ваших данных много пропущенных значений.
Случайный лес может справиться с такими данными. Впрочем, современные реализации градиентного бустинга, такие как LightGBM или CatBoost, также поддерживают работу с пропусками.
🔹 Если вам важна интерпретируемость модели.
Результаты случайного леса легче интерпретируются через важность признаков.
🔹 Если время обучения ограничено.
Случайный лес может обучаться быстрее за счёт параллелизации. Однако современные реализации градиентного бустинга также поддерживают ускорение за счёт параллельных вычислений.
🔹 Если в данных есть дисбаланс классов.
Градиентный бустинг может решить эту проблему, увеличивая веса неверно классифицированных примеров на каждой итерации.
#машинное_обучение
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Какова разница между параметром и статистикой?
▪️Параметр — это фиксированное, но неизвестное число, описывающее некоторую характеристику генеральной совокупности. Например, в качестве параметра может выступать средний вес младенца в популяции.
▪️Статистика — это оценка некоторого параметра. Например, если мы возьмём выборку из 100 младенцев и посчитаем их средний вес, то это будет статистика, которая оценивает истинный параметр — средний вес всех младенцев в популяции.
#статистика
#статистика
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
👨🎓️📊 7 мифов о профессии Data Scientist
Вокруг науки о данных возникло множество разнообразных заблуждений, мешающих освоить эту замечательную дисциплину. Развенчиваем наиболее распространённые мифы о профессии Data Scientist.
🔗 Читать статью
Вокруг науки о данных возникло множество разнообразных заблуждений, мешающих освоить эту замечательную дисциплину. Развенчиваем наиболее распространённые мифы о профессии Data Scientist.
🔗 Читать статью
Что вы можете рассказать про дизайн систем машинного обучения?
Можно, например, представить вот такой 9-ступенчатый шаблон ML System Design:
1️⃣ Формулировка задачи
На этом этапе стоит задать уточняющие вопросы всем участникам процесса, понять, в каком состоянии находятся данные, сформулировать гипотезу.
2️⃣ Метрики
Стоит определиться с офлайн- и онлайн-метриками.
3️⃣ Архитектурные компоненты
Можно нарисовать диаграмму, которая даст наглядное представление об архитектуре проекта.
4️⃣ Сбор данных и их подготовка
На этом этапе можно переместить данные в хранилище, разметить их, если требуется, и т.д.
5️⃣ Feature Engineering
Далее следует провести отбор признаков или создание новых признаков.
6️⃣ Разработка модели и её оценка
Это тот самый процесс обучения модели и её проверка на тестовой выборке.
7️⃣ Получение моделью предсказаний
8️⃣ Развёртывание и онлайн-тестирование
На этом этапе можно провести A/B-тестирование.
9️⃣ Поддержание жизненного цикла системы
Сюда входят мониторинг, масштабирование и обновления.
#машинное_обучение
Можно, например, представить вот такой 9-ступенчатый шаблон ML System Design:
1️⃣ Формулировка задачи
На этом этапе стоит задать уточняющие вопросы всем участникам процесса, понять, в каком состоянии находятся данные, сформулировать гипотезу.
2️⃣ Метрики
Стоит определиться с офлайн- и онлайн-метриками.
3️⃣ Архитектурные компоненты
Можно нарисовать диаграмму, которая даст наглядное представление об архитектуре проекта.
4️⃣ Сбор данных и их подготовка
На этом этапе можно переместить данные в хранилище, разметить их, если требуется, и т.д.
5️⃣ Feature Engineering
Далее следует провести отбор признаков или создание новых признаков.
6️⃣ Разработка модели и её оценка
Это тот самый процесс обучения модели и её проверка на тестовой выборке.
7️⃣ Получение моделью предсказаний
8️⃣ Развёртывание и онлайн-тестирование
На этом этапе можно провести A/B-тестирование.
9️⃣ Поддержание жизненного цикла системы
Сюда входят мониторинг, масштабирование и обновления.
#машинное_обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
Объясните, как система может играть в шахматы, используя обучение с подкреплением (reinforcement learning)
Обучение с подкреплением подразумевает наличие среды и агента. Агент выполняет определённые действия для достижения конкретной цели. Каждый раз, когда агент совершает действие, приближающее его к цели, он получает вознаграждение. И каждый раз, когда он делает шаг, отдаляющий его от цели, он получает штраф.
В случае с шахматами агент учится, играя в игру. Система делает ход (совершает действие), проверяет, правильный ли это ход (получает обратную связь) и сохраняет результат для следующего шага (обучается). Вознаграждение даётся за каждый хороший ход, а наказание — за каждый плохой.
#машинное_обучение
#машинное_обучение
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Считаете ли вы нужным как-то готовиться к поведенческому (behavioral) интервью?
Anonymous Poll
59%
Да
41%
Нет
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈