Библиотека собеса по Data Science | вопросы с собеседований
4.33K subscribers
421 photos
10 videos
1 file
402 links
Вопросы с собеседований по Data Science и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7dfb7235

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Что вы знаете про работу с временными рядами?

Временной ряд — это последовательность значений, которые были измерены в определённом временном промежутке. Такой тип данных может появляться повсеместно. Например, компаниям часто требуется знать ответ на вопрос: что будет происходить с показателями в ближайший день/неделю/месяц. Такими показателями могут быть количество пользователей, установивших приложение, пиковый онлайн и т.д.

Работа с временными рядами — это в основном прогнозирование. С точки зрения машинного обучения мы занимаемся задачей регрессии — предсказываем следующее в ряду значение. Прогноз значения ряда в какой-то момент времени строится на основе известных значений ряда до этого момента времени. Также имеет смысл строить предсказательный интервал для значений.

Виды прогнозирования:

▪️Наивное: «завтра будет как вчера»
Или «почти как вчера». Тут чаще всего используется скользящее среднее для предсказания значение ряда.
Модификацией простого скользящего среднего является взвешенное среднее, внутри которого наблюдениям придаются различные веса, в сумме дающие единицу, при этом обычно последним наблюдениям присваивается больший вес.

▪️Менее наивное: экспоненциальное сглаживание
Вместо взвешивания последних n значений ряда мы будем взвешивать все доступные наблюдения, при этом экспоненциально уменьшая веса по мере углубления в исторические данные. В этом нам поможет формула простого экспоненциального сглаживания.
Можно расширить этот метод. Будем разбивать ряд на две составляющие — уровень (level, intercept) и тренд (trend, slope). Уровень — это и есть ожидаемое значение ряда, которое мы уже предсказывали. А тренд можно тоже прогнозировать при помощи экспоненциального сглаживания.
Кроме того, можно добавить третью компоненту — сезонность, и предсказывать её тоже. Такая модель тройного экспоненциального сглаживания больше известна по фамилиям её создателей — Чарльза Хольта и Питера Винтерса.

Среди других методов анализа временных рядов выделяются:

▪️ ARIMA;
▪️ Сезонная ARIMA (SARIMA);
▪️ Рекуррентные нейронные сети (RNN).

#машинное_обучение
Объясните разницу между списком и кортежем?

▫️Список — это упорядоченная коллекция элементов. Элементы могут иметь любой тип. При этом коллекцию можно изменять: вставить новый элемент, удалить старый и т.д. То есть длина у списка динамическая — при необходимости Python будет выделять новую память.
Список создаётся через квадратные скобки.

▫️Кортеж — это тоже упорядоченная коллекция элементов. Элементы тоже могут иметь любой тип. Однако изменять кортеж нельзя. Кроме того, в памяти Python пустой кортеж — всегда в единственном экземпляре. Пустые списки же каждый раз создаются заново.
Кортеж создаётся через круглые скобки.

#программирование
#python
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
Как можно визуализировать многомерные данные в 2D?

Существует несколько методов. Вот наиболее распространённые:

▪️Метод главных компонент (PCA)
Позволяет не только понизить размерность, но выявить наиболее информативные признаки в данных. Его суть заключается в предположении о линейности отношений данных и их проекции на подпространство ортогональных векторов, в которых дисперсия будет максимальной. Такие вектора называются главными компонентами и они определяют направления наибольшей изменчивости (информативности) данных. Именно эти главные компоненты можно визуализировать в 2D.

▫️Стохастическое вложение соседей с t-распределением (t-SNE)
Это техника нелинейного снижения размерности, хорошо подходящая для вложения данных высокой размерности для визуализации в пространство низкой размерности (двух- или трёхмерное). Метод моделирует каждый объект высокой размерности двух- или трёхмерной точкой таким образом, что похожие объекты моделируются близко расположенными точками, а непохожие точки моделируются точками, далеко друг от друга отстоящими.

#предобработка_данных
У вас есть полином третьей степени. Вы хотите обучить многослойный перцептрон с линейной функцией активации f(x)=sx. Сколько нейронов должно быть в перцептроне, чтобы аппроксимировать полином третьей степени?

Это вопрос с подвохом. Полином третьей степени представляет собой нелинейную функцию. А перцептрон с данной функцией активации является линейной моделью, и следовательно не может моделировать нелинейные зависимости.

#глубокое_обучение
🤖💣 ИИ-ассистенты разработчика: скрытая угроза

Внедрение ИИ в процессы разработки и отладки неизменно сопровождается изматывающими обсуждениями с участием юристов, комплаенс-менеджеров и специалистов по кибербезопасности. И это понятно — никому не хочется нести ответственность за риски, связанные с безопасностью данных, конфиденциальностью и соблюдением авторских прав.

Однако самый важный вопрос — как использование ИИ повлияет на качество готового продукта — обычно остается без внимания. Именно эту проблему мы и обсудим.

🔗 Читать статью
🔗 Зеркало
Как сгенерировать распределение на основе выборочных данных?

Для генерации распределения, исходя из выборок, часто используется бутстреп (bootstrap). Этот метод позволяет оценить характеристики распределения (например, среднее, медиану или стандартное отклонение) путём создания множества выборок из исходных данных.

Алгоритм бутстрепа такой:
▪️По имеющейся выборке строим большое количество псевдовыборок того же размера: случайным образом выбираем элементы из исходного набора, допуская повторения.
▪️Для каждой псевдовыборки вычисляем интересующее нас значение (например, среднее или медиану).
▪️Анализируем полученное распределение значений. Предполагаем, что это даёт нам какое-то представление о генеральной совокупности.
▪️Используя полученные данные, можно построить доверительные интервалы.

#статистика
Хардкорный курс по математике для тех, кто правда любит математику!

Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/61c44272

Что вас ждет:

– Вводный урок от CPO курса

– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск

– Практические задания для закрепления материала и ссылки на дополнительные материалы.

⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/61c44272
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💼Собеседование — самое важное событие для начинающего специалиста

Для многих новичков сам факт приглашения на собеседование — уже большое событие. И, как нам кажется, половина успеха!

Давайте проверим, насколько вы к нему готовы — мы выбрали три популярных вопроса, которые задают на собеседованиях будущим Data-специалистам; пишите свои ответы в комментариях!

1️⃣ Как оценить статистическую значимость анализа?

2️⃣ Приведите три примера распределений с длинным хвостом. Почему они важны в задачах классификации и регрессии?

3️⃣ Что такое центральная предельная теорема, и почему она важна?


#собес_academy
Какие магические методы в Python вы знаете?

Магическими методами в Python называют встроенные методы с двойными подчёркиваниями (например, `__init__`, `__str__`). Они позволяют определять поведение классов для различных операций.

Вот несколько магических методов для примера:
▫️`__init__` — для инициализации нового объекта;
▫️`__del__` — деструктор, который вызывается при удалении объекта;
▫️`__str__` — определяет поведение функции `str()`, вызванной для экземпляра вашего класса;
▫️`__len__` — возвращает длину объекта;
▫️`__eq__` — определяет поведение оператора равенства `==`;
▫️`__iter__` — возвращает итератор для объекта;
▫️`__getitem__` — получение значения по ключу или индексу;
▫️`__call__` — позволяет объекту класса вести себя как функция.

#программирование
#python
⚡️Как войти в Data Science всего за год?

Очень кратко пересказываем историю одного специалиста, который устроился в Data Science после работы в авиационной промышленности. В карточках — его путь и одна из рекомендаций, а в статье по ссылке — большая подборка полезных ресурсов!

👉Читать статью

А чтобы следовать совету и окружить себя подходящим информационным фоном, изучайте другие классные статьи про Data Science:
⭐️Математические основы генеративных нейронных сетей: что нужно знать для их изучения
⭐️Что такое GPT: раскрываем тайны трансформеров
⭐️Как работают языковые модели (LLM): простое объяснение через аналогию с кулинарией
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает градиентный бустинг для регрессии, и как — для классификации?

Основная идея градиентного бустинга заключается в последовательном добавлении простых моделей (например, деревьев решений) так, чтобы каждая последующая модель корректировала ошибки предыдущих.

🔹Для задачи регрессии алгоритм выглядит так:

▫️Всё начинается с простой начальной предсказательной модели, обычно с использованием среднего значения целевой переменной.
▫️Для каждой модели в ансамбле вычисляется градиент функции потерь по отношению к предсказаниям текущей составной модели. Градиент показывает направление наибольшего увеличения ошибки. Соответственно, следующая модель обучается предсказывать отрицательный градиент предыдущих моделей.
▫️Этот процесс повторяется множество раз. Каждая новая модель улучшает предсказательные способности ансамбля.

🔹Для задачи классификации алгоритм почти такой же:

▫️Меняется предмет предсказания — вместо самих меток классов можно использовать их log-правдоподобие.
▫️Градиент функции потерь вычисляется, основываясь на различиях между фактическими классами и предсказанными вероятностями.
▫️Задачей каждой новой модели в ансамбле является уменьшение ошибки путём улучшения оценки вероятности.
▫️Как и в случае регрессии, каждая последующая модель стремится к уменьшению ошибок предыдущих.

#машинное_обучение
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🟰Математические основы генеративных нейронных сетей: что нужно знать для их изучения

Генеративный ИИ — это тип искусственного интеллекта, который после обучения на огромных массивах существующих данных способен создавать новый контент (текст, программный код, изображения, аудио, видео).

🪅Первыми примитивными примерами генеративного ИИ можно считать статистические модели, которые могли генерировать новые последовательности на основе заданных входных данных. Одна из таких моделей была использована для предсказания итогов президентских выборов в США в 1952 году.

↗️ Стремительное развитие генеративного ИИ началось в 2014 году, когда Ян Гудфеллоу и его коллеги представили генеративную состязательную сеть (GAN). Параллельно с этим, вариационные автокодировщики (VAE) и рекуррентные нейронные сети (RNN) тоже продемонстрировали впечатляющие способности к генерации нового контента. С тех пор генеративный ИИ развивается с головокружительной скоростью.

В новой статье рассказываем, какие разделы математики нужно знать для разработки современных генеративных моделей.

🔗 Читать статью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM