Библиотека задач по Data Science | тесты, код, задания
3.85K subscribers
665 photos
5 videos
378 links
Задачи и тесты по Data Science для тренировки и обучения.

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Каким будет результат выполнения кода?
Anonymous Quiz
37%
3
1%
11
20%
5
1%
6
41%
Error
Вы анализируете данные о доходах клиентов компании. Вам необходимо обнаружить аномалии в распределении доходов. Какой метод наиболее подходит для обнаружения выбросов?
Anonymous Quiz
23%
Z-оценка (Z-score)
16%
K-средних (K-means) кластеризация
10%
Линейная регрессия
51%
Межквартильный размах (IQR)
Пробовали ли вы обучить LLM или любой другой генератор текста на своих данных и что у вас выходило?
Задача из раздела простых, показываем два простых решения
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| id | int |
| name | varchar |
| salary | int |
| managerId | int |
+-------------+---------+

Нужно по заданной таблице вывести имена работников, которые зарабатывают больше своих менеджеров.
Два простых решения, какое работает быстрее?
Anonymous Quiz
53%
Решение 1
47%
Решение 2
Допустим, у нас есть набор данных о продажах различных продуктов в разных магазинах. Мы хотим вычислить общую выручку и среднюю цену продукта для каждого магазина, какой код эффективнее:
Anonymous Quiz
56%
первый
44%
второй
Как называется метод, который использует стохастическую случайную выборку из тренировочных данных для создания разных версий модели и усредняет их предсказания для улучшения обобщающей способности?
Anonymous Quiz
15%
Data Augmentation
52%
Ensemble Learning
3%
Transfer Learning
30%
Gradient Boosting
Дан вариационный ряд. Если все варианты увеличить в одно и то же количество раз, то средняя арифметическая
Anonymous Quiz
21%
увеличится на то же число
12%
уменьшится во столько же раз
2%
уменьшится на то же число
65%
увеличится во столько же раз
Ранжирование - это операция, заключающаяся в том, что наблюдаемые значения случайной величины располагаются в порядке
Anonymous Quiz
26%
группирования
42%
неубывания
21%
расположения
11%
невозрастания
+-------------+-------+
| Column Name | Type |
+-------------+-------+
| pid | int |
| tiv_2015 | float |
| tiv_2016 | float |
| lat | float |
| lon | float |
+-------------+-------+
pid — это первичный ключ (столбец с уникальными значениями) для этой таблицы.
Каждая строка этой таблицы содержит информацию об одном полисе, где:
pid — идентификатор полиса страхователя.
tiv_2015 — общая стоимость инвестиций в 2015 году, а tiv_2016 — общая стоимость инвестиций в 2016 году.
lat — широта города страхователя. Гарантируется, что lat не равен NULL.
lon — долгота города страхователя. Гарантируется, что lon не равен NULL.

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

Округлите tiv_2016 до двух десятичных знаков.

Решение разберем завтра
Решение вчерашней задачи

Самый простой способ — создать 2 критерия, которые позже будут использоваться в .isin():
Это делается для того, чтобы мы удалили все строки, в которых lat и lon не уникальны (keep = False гарантирует, что мы не оставим ни одного дублированного экземпляра, как это обычно происходит) - оставьте только столбец pid:
Insurance.drop_duulates(subset = ['lat','lon'], Keep = False).pid

Та же логика, но на этот раз нам нужно дублировать:
not_uniq_tiv_2015 = Insurance.loc[insurance.duulated(subset = 'tiv_2015', Keep=False)].pid

После этого просто возвращаем сумму тех tiv_2016, которые остались после фильтрации по двум созданным ранее критериям.
Table: Users
+----------------+---------+
| Column Name | Type |
+----------------+---------+
| user_id | int |
| join_date | date |
| favorite_brand | varchar |
+----------------+---------+
user_id — это первичный ключ (столбец с уникальными значениями) таблицы.
В этой таблице содержится информация о пользователях веб-сайта интернет-магазинов, где пользователи могут продавать и покупать товары.

Table: Orders
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| order_id | int |
| order_date | date |
| item_id | int |
| buyer_id | int |
| seller_id | int |
+---------------+---------+
order_id — это первичный ключ (столбец с уникальными значениями) таблицы.
item_id — это внешний ключ (ссылочный столбец) таблицы Items.
buyer_id и seller_id — внешние ключи таблицы Users.

Table: Items
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| item_id | int |
| item_brand | varchar |
+---------------+---------+
item_id — это первичный ключ (столбец с уникальными значениями) этой таблицы.

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

Решение разбираем завтра
Разбор вчерашней задачи
Фильтрация, включающая только 2019 год, join с Users, groupby, count, переименовывание.