Logo
TGCATALOG
Каталог Подборки Блог
Data Science - собесы

Data Science - собесы

Собесы Data Science.

Нет оценок
608
29.10.2026
608
29.10.2026
Нет оценок
608
29.10.2026
Безопасный переход через бот
О канале

Собесы Data Science.

Подписчиков 4,871
Тематика Технологии
Язык Русский
Ссылка t.me/easy_ds

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Вопросы для собеседований по Data Science.

Последние посты

Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 В чем разница между классификацией и регрессией? Это два основных типа задач обучения с учителем в машинном обучении, каждая из которых решает различные виды проблем с помощью разных подходов и методик. Хотя оба эти типа задач используют входные данные для предсказания значения выходных данных, ключевые различия между ними заключаются в типе выходных данных, который они пытаются предсказать. 🚩Классификация задача машинного обучения, где модель предсказывает категориальную метку, то есть принадлежность к одному или нескольким классам. 🟠Выходные данные Категориальные (номинальные) или порядковые. Примеры включают определение, является ли электронное письмо спамом или нет, или определение типа животного на изображении. 🟠Методы Для классификации часто используются такие алгоритмы, как логистическая регрессия, деревья решений, случайные леса, метод ближайших соседей, нейронные сети и многие другие. 🟠Оценка производительности Точность, точность (precision), полнота (recall), F1-мера, матрица ошибок и другие метрики классификации. 🚩Регрессия 🟠Выходные данные Континуальные или непрерывные значения. Примеры включают предсказание цен на дома, предсказание температуры или оценку кредитного скоринга. 🟠Методы Для регрессии используются такие алгоритмы, как линейная регрессия, регрессия с поддержкой векторных машин, деревья решений для регрессии, методы ансамбля (например, случайные леса) и нейронные сети. 🟠Оценка производительности Среднеквадратичная ошибка (MSE), средняя абсолютная ошибка (MAE), коэффициент детерминации \( R^2 \) и другие. 🟠Классификация Определение, содержит ли изображение кошку, собаку или птицу. 🟠Регрессия Предсказание стоимости жилья на основе его характеристик, таких как площадь, количество комнат и расположение. Ставь 👍 и забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 Что такое градиентное затухание? Градиентное затухание (vanishing gradients) — это проблема, когда в глубоких нейросетях градиенты становятся очень малыми при обратном распространении. Это мешает обновлению весов в начальных слоях, и обучение "замирает". Чаще всего возникает в RNN и в сетях с плохой инициализацией или неподходящей функцией активации. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 Чем отличается итератор от генератора? Итераторы и генераторы в Python имеют схожую функциональность, но существуют ключевые отличия между ними, которые определяют их использование и поведение. Давайте рассмотрим основные различия. 🚩Итераторы Это объект, который реализует протокол итерации, то есть включает методы __iter__() и __next__(). Итераторы используются для последовательного перебора элементов коллекций, таких как списки, кортежи и множества. class MyIterator: def __init__(self, limit): self.limit = limit self.counter = 0 def __iter__(self): return self def __next__(self): if self.counter < self.limit: self.counter += 1 return self.counter else: raise StopIteration my_iter = MyIterator(3) for num in my_iter: print(num) # Вывод: # 1 # 2 # 3 🚩Генераторы Это специальный тип итератора, который создается с помощью функции, содержащей одно или несколько выражений yield. Генераторы позволяют удобно создавать итераторы без необходимости явно определять класс и методы __iter__() и __next__(). Генераторы автоматически реализуют протокол итерации. def simple_generator(): yield 1 yield 2 yield 3 gen = simple_generator() for num in gen: print(num) # Вывод: # 1 # 2 # 3 🚩Основные различия 🟠Создание Итератор: Для создания итератора необходимо явно определить класс с методами iter() и next(). Генератор: Генератор создается с помощью функции, содержащей ключевое слово yield. 🟠Синтаксис и удобство Итератор: Требует больше кода для создания. Необходимо вручную управлять состоянием. Генератор: Более компактный и читаемый код. Управление состоянием осуществляется автоматически. 🟠Память Итератор: Может использовать больше памяти, так как хранит все данные в памяти, если это не специально оптимизированный итератор. Генератор: Использует меньше памяти, так как вычисляет и возвращает элементы по одному, по мере необходимости. 🟠Использование Итератор: Подходит для более сложных случаев, когда нужно иметь полный контроль над процессом итерации. Генератор: Идеален для простых случаев итерации и ленивых вычислений, когда элементы генерируются по мере необходимости. 🚩Примеры для сравнения Итератор class MyIterator: def __init__(self, start, end): self.current = start self.end = end def __iter__(self): return self def __next__(self): if self.current < self.end: self.current += 1 return self.current - 1 else: raise StopIteration it = MyIterator(0, 3) for num in it: print(num) Генератор def my_generator(start, end): current = start while current < end: yield current current += 1 gen = my_generator(0, 3) for num in gen: print(num) Ставь 👍 и забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 Как работает where? Функция where возвращает элементы, соответствующие условию: 1. В SQL — фильтрует строки, соответствующие критериям. 2. В NumPy — выбирает элементы массива по условию или заменяет значения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 В чем преимущество медианы над средним ? Это две основные меры центральной тенденции данных. Хотя оба эти показателя служат для описания "среднего" значения данных, они имеют разные свойства и могут давать разные результаты в зависимости от распределения данных. Рассмотрим основные преимущества медианы над средним: 🟠Устойчивость к выбросам Является более устойчивой к выбросам и экстремальным значениям, чем среднее. Это означает, что единичные очень большие или очень маленькие значения не оказывают сильного влияния на медиану. Пример Предположим, у вас есть набор данных о доходах людей: [30, 32, 35, 40, 45, 50, 1000]. Среднее значение будет сильно завышено из-за выброса (1000), тогда как медиана останется представительной для большинства данных. import numpy as np data = [30, 32, 35, 40, 45, 50, 1000] mean = np.mean(data) median = np.median(data) print(f"Среднее: {mean}") print(f"Медиана: {median}") Результаты Среднее: 176.0 Медиана: 40.0 🟠Применимость к несимметричным распределениям Лучше описывает центральную тенденцию для асимметричных (скошенных) распределений, так как она не зависит от формы распределения. Среднее значение может быть смещено в сторону длинного хвоста распределения. Для распределения доходов в обществе, где большинство людей зарабатывает меньше среднего дохода, медиана будет представлять более точное "среднее" значение для типичного человека. 🟠Интерпретируемость Более интуитивно понятна, так как она представляет значение, разделяющее данные на две равные части. Половина наблюдений будет меньше медианы, а другая половина — больше. 🟠Использование с порядковыми данными Может быть вычислена для порядковых данных (данных, которые могут быть упорядочены, но для которых не имеет смысла вычислять среднее значение). Среднее значение не имеет смысла для таких данных. ratings = [1, 2, 3, 4, 5, 5, 5] median_rating = np.median(ratings) print(f"Медиана рейтинга: {median_rating}") Результат Медиана рейтинга: 4.0 🟠Устойчивость к выбросам Медиана не подвержена влиянию экстремальных значений, что делает её более надежной для данных с выбросами. 🟠Асимметричные распределения Медиана лучше описывает центральную тенденцию в асимметричных распределениях. 🟠Интерпретируемость Медиана интуитивно представляет центральное значение, разделяющее данные на две равные части. 🟠Порядковые данные Медиана применима к порядковым данным, в то время как среднее значение не имеет смысла для таких данных. Ставь 👍 и забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 Как работает градиентный спуск? Градиентный спуск работает путём вычисления частных производных функции ошибки по параметрам модели и обновления параметров в направлении, которое уменьшает ошибку. На каждой итерации вычисляется градиент, указывающий, в каком направлении и насколько нужно изменить параметры модели. Если градиент положительный, параметры уменьшаются, а если отрицательный — увеличиваются. Процесс продолжается до тех пор, пока функция ошибки не достигнет локального минимума или не завершится заданное количество шагов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 Какие есть проблемы с batch norm ? Включают зависимость от размера батча, где маленькие батчи приводят к нестабильности статистик, неэффективность на малых данных или при невозможности разделить данные на большие батчи, ограничения при использовании в рекуррентных нейронных сетях (RNN), а также замедление обучения из-за дополнительных вычислений, требующих нормализации данных. 🚩Проблемы 🟠Зависимость от размера батча Batch Norm сильно зависит от размера батча. При маленьких размерах батча оценка среднего и стандартного отклонения становится менее точной, что может ухудшить производительность модели. В задачах, где использование больших батчей невозможно (например, из-за ограничений памяти GPU), Batch Norm может быть менее эффективным. 🟠Сложности при онлайн-обучении и малых батчах Batch Norm трудно применять в задачах онлайн-обучения или при использовании очень малых батчей, так как статистики, вычисленные на маленьких батчах, могут быть очень шумными и не репрезентативными. 🟠Неинвариантность к аугментация данных При использовании аугментации данных (например, горизонтальные перевороты изображений) статистики Batch Norm могут сильно варьироваться, что может приводить к нестабильности в обучении. 🟠Сложности с рекуррентными нейронными сетями (RNNs) Batch Norm плохо интегрируется с рекуррентными нейронными сетями (RNNs), так как каждый временной шаг зависит от предыдущих, и нормализация на уровне батча может нарушить временную корреляцию данных. 🟠Нестабильность при использовании с очень глубокими сетями В очень глубоких нейронных сетях использование Batch Norm может приводить к нестабильности и затруднениям при обучении. 🚩Альтернативы 🟠Layer Normalization (Layer Norm) Нормализует активации по каждому слою, а не по каждому батчу. Хорошо подходит для рекуррентных нейронных сетей. 🟠Instance Normalization (Instance Norm) Нормализует активации по каждому примеру в батче отдельно. Часто используется в задачах компьютерного зрения, таких как стилизация изображений. 🟠Group Normalization (Group Norm) Нормализует активации по группам каналов. Хорошо работает при небольших размерах батча и в задачах компьютерного зрения. 🟠Weight Normalization (Weight Norm) Нормализует веса нейронов, что уменьшает зависимость от размеров батча и улучшает сходимость. import numpy as np from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, LayerNormalization from tensorflow.keras.optimizers import Adam # Генерация данных np.random.seed(42) X = np.random.rand(1000, 10) y = np.dot(X, np.random.rand(10)) + np.random.rand(1000) * 0.1 # Создание модели с Layer Norm model = Sequential() model.add(Dense(64, input_dim=10, activation='relu')) model.add(LayerNormalization()) model.add(Dense(64, activation='relu')) model.add(LayerNormalization()) model.add(Dense(1, activation='linear')) # Компиляция модели model.compile(optimizer=Adam(learning_rate=0.001), loss='mse') # Обучение модели model.fit(X, y, epochs=50, batch_size=32, validation_split=0.2) 🚩Имеет ряд проблем 🟠Зависимость от размера батча Большие размеры батчей необходимы для точной оценки статистик. 🟠Сложности при онлайн-обучении и малых батчах Шумные статистики могут ухудшить производительность. 🟠Неинвариантность к аугментации данных Аугментация данных может вызвать нестабильность. 🟠Сложности с RNNs Batch Norm плохо сочетается с рекуррентными нейронными сетями. 🟠Нестабильность в очень глубоких сетях В очень глубоких сетях Batch Norm может быть нестабильным. Ставь 👍 и забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 Зачем нужен метод dir для объектов? Метод `dir()` в Python возвращает список атрибутов и методов объекта, что помогает разработчику понять структуру объекта и доступные ему функции. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - собесы
Data Science - собесы
🔒Открыть пост
и посмотреть медиа
🤔 Какие переменные (типы данных) можно использовать в качестве ключей в словаре Питон ? Это структуры данных, которые хранят пары "ключ-значение". Ключи в словаре должны быть уникальными и неизменяемыми (immutable). 🟠Числа (integers, floats, complex numbers) Целые числа (integers) Вещественные числа (floats) Комплексные числа (complex numbers) my_dict = {1: "one", 3.14: "pi", 2+3j: "complex"} 🟠Строки (strings) Строки (strings) неизменяемы и часто используются в качестве ключей. my_dict = {"name": "Alice", "age": 30} 🟠Кортежи (tuples) Кортежи неизменяемы, поэтому их можно использовать в качестве ключей. Однако все элементы кортежа также должны быть неизменяемыми. my_dict = {(1, 2): "point", (3, 4): "another point"} 🟠Булевы значения (booleans) Булевы значения (True, False) также являются допустимыми ключами. my_dict = {True: "yes", False: "no"} 🟠Списки (lists) Списки изменяемы, поэтому их нельзя использовать в качестве ключей. my_dict = {[1, 2, 3]: "list"} # Это вызовет ошибку TypeError 🟠Множества (sets) Множества также изменяемы и не могут быть ключами в словаре. my_dict = {{"a", "b"}: "set"} # Это вызовет ошибку TypeError 🟠Другие словари (dictionaries) Словари изменяемы, поэтому их тоже нельзя использовать в качестве ключей. my_dict = {{1: "one"}: "dict"} # Это вызовет ошибку TypeError Пример # Корректные ключи valid_dict = { 1: "integer", 3.14: "float", (1, 2): "tuple", "key": "string", True: "boolean", } print(valid_dict) # Некорректные ключи try: invalid_dict = { [1, 2, 3]: "list", {"a", "b"}: "set", {1: "one"}: "dict" } except TypeError as e: print(f"Ошибка: {e}") Ставь 👍 и забирай 📚 Базу знаний
Data Science - собесы
Динамика подписчиков
+-0.7% за 30 дней
Текущие
4,871
Месяц назад
4,906
Средний рост
+-1 / день
Обновлено
15 часов назад

Отзывы о канале Data Science - собесы

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход