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

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

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

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

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

Ансамбль методов — это использование нескольких алгоритмов с целью получения более высокой эффективности прогнозирования, чем можно было бы получить, используя эти алгоритмы отдельно.
👍61
Что такое Random Forest?

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

Случайный лес состоит из большого количества отдельных деревьев решений, которые по сути являются ансамблем методов. Каждое дерево в случайном лесу возвращает прогноз класса, и класс с наибольшим количеством голосов становится прогнозом леса.
🔥6👍21
Для чего нужен Scrapy?

Scrapy — это фреймворк для извлечения данных из веб-сайтов. Он используется для автоматического сбора структурированных данных из веб-страниц, таких как цены товаров, информация о продуктах, контактные данные и многое другое.

Этот код создает веб-паука, который извлекает цены товаров с сайта example.com. Он использует CSS-селекторы для поиска элементов страницы, содержащих информацию о продуктах, и извлекает их название и цену.
4👍31
Запустится ли этот код на Python 3? Если да, то что он выведет?

sys.allow_boolean_assignment разрешает создавать переменные с именами, зарезервированными под идентификаторы типа bool. Поэтому этот код запустится и выведет "True is False".

Эта настройка введена в известном первоапрельском коммите, который до сих пор остался в коде интерпретатора. Если кандидат об этом знает, можно с уверенностью сказать, что он общается в должных профессиональных кругах и любят углубляться в детали.
👍721
Расскажите про какую-нибудь полезную библиотеку с машинным обучением, которую вы недавно использовали.

Для сравнения двух лиц на фото в Python можно использовать библиотеку face_recognition. В этом примере мы сначала загружаем изображения лиц и находим лица на изображениях с помощью функции face_locations().

Затем мы кодируем найденные лица с помощью функции face_encodings() и сравниваем их между собой с помощью функции compare_faces(). Результат сравнения — список булевых значений (True или False), которые сообщают, совпадают ли два лица на фото.
👍71
Приведите пример библиотеки для создания графиков

Leather используется для создания графиков. В отличие от ряда подобных библиотек, Leather способна взаимодействовать с широким разнообразием данных и выводить их через векторную графику.

В примере используются следующие функции:
leather.Chart() — создает график с заданным заголовком.
chart.add_dots() — добавляет точки на график. Также в ней можно указать функцию для определения цвета точек.
chart.to_svg() — позволяет сохранить график в формате .svg в указанный файл.

На втором изображении представлен результат работы программы.
👍41🔥1
Объясните, как работает функция map

Она возвращает объект (итератор), который перебирает значения, применяя функцию к каждому элементу. В случае необходимости объект можно преобразовать в список:

def add_three(x):
return x + 3
li = [1,2,3]
list(map(add_three, li))
#=> [4, 5, 6]

Здесь к каждому элементу в списке мы добавляем число 3.
👍7
Как работает умножение списка?

Посмотрим на результат умножения списка [1,2,3] на 2:
[1,2,3] * 2
#=> [1, 2, 3, 1, 2, 3]

Содержание списка [1,2,3] повторяется дважды.
👍4
Предложите библиотеку для прогнозирования временных рядов.

PyFlux — это библиотека для прогнозирования временных рядов. Она предоставляет удобный интерфейс для работы с моделями временных рядов, такими как анализ авторегрессии (AR), интегрированной скользящей средней (ARIMA), авторегрессии скользящего среднего (ARMA) и др.

В этом примере создается искусственный временной ряд и на его основе модель ARMA обучается для прогнозирования следующих 10 значений этого ряда.
👍10
Какая разница между словарями и JSON?

Dict (словарь) — это тип данных Python, представляющий собой набор индексированных, но неупорядоченных пар ключ-значение.

JSON — просто строка, которая следует заданному формату и предназначена для передачи данных.
👍2
В чем разница между append и extend?

append добавляет значения в список, а extend добавляет в список значения из другого списка:
a = [1,2,3]
b = [1,2,3]

a.append(6)
print(a)
#=> [1, 2, 3, 6]

b.extend([4,5])
print(b)
#=> [1, 2, 3, 4, 5]
👍4👏2
Как вернуть двоичный код целого числа?

Используйте функцию bin():
bin(5)
#=> '0b101'
👍2
Что такое градиентный спуск? Как это работает?

Градиентный спуск — это алгоритм, который использует концепцию исчисления градиента, чтобы попытаться достичь локальных или глобальных минимумов. Он работает, беря отрицательное значение градиента в точке заданной функции и многократно обновляет эту точку, используя вычисленный отрицательный градиент, пока алгоритм не достигнет локального или глобального минимума, что приведет к тому, что будущие итерации алгоритма будут возвращать значения, которые равны или слишком близки к текущей точке. Он широко используется в приложениях машинного обучения.
👍6👎31
Что произойдет с нашей моделью линейной регрессии, если у нас есть три столбца в наших данных: x, y, z  —  и z является суммой x и y?

Мы не смогли бы выполнить регрессию. Поскольку z линейно зависит от x и y, поэтому при выполнении регрессии будет сингулярная (не обратимая) матрица.
🤔5👍1
Что такое оверфиттинг (переобучение)?

Когда ваша модель очень хорошо работает на вашем тренировочном наборе, но не может обобщить тестовый набор, потому что она сильно адаптирована к тренировочному набору.
👍7
Какие методы регуляризации применимы к линейным моделям? ‍

AIC/BIC, Ридж-регрессия, Лассо, Эластичная сеть, Basis pursuit denoising, модель Рудина – Ошера – Фатеми, модель Поттса, RLAD, селектор Данцига, SLOPE.
👍6😱2
Чем временные ряды отличаются от обычной задачи регрессии?

Принцип причинного прогнозирования заключается в том, что значение, которое необходимо спрогнозировать, зависит от входных характеристик (причинных факторов). Ожидается, что при прогнозировании временных рядов прогнозируемое значение будет следовать определенной закономерности с течением времени.
3🤯1😱1😢1
Как регуляризация L2 влияет на веса линейной модели? ‍

Регуляризация L2 более сильно влияет на большие веса (из-за квадрата), что способствует уменьшению значений веса к нулю.
👍1
Каковы основные параметры в модели повышения градиента? ‍

Существует множество параметров, но ниже приведены несколько ключевых значений по умолчанию.
learning_rate=0.1.
n_estimators=100 (количество деревьев).
max_depth=3.
min_samples_split=2.
min_samples_leaf=1.
subsample=1.0.
👍4😁1