20 вопросов (с ответами) от ChatGPT для выявления фейковых поддельных специалистов по данным.
https://www.kdnuggets.com/2023/01/20-questions-detect-fake-data-scientists-chatgpt-1.html
@machinelearning_interview
https://www.kdnuggets.com/2023/01/20-questions-detect-fake-data-scientists-chatgpt-1.html
@machinelearning_interview
📌 S7 Тестовое задание для кандидата DS.
Кандидатам предоставлены данные о продажах в сети магазинов в одном городе за несколько лет. В магазинах периодически проводятся рекламные акции. Решение лучше присылать в виде jupyter notebook’а.
Задача:
● Построить прогноз продаж за год, при условии известного графика рекламных акций
● Сделать анализ того, насколько реклама влияет на продажи в магазинах
Данные: ● Данные для обучения:
○ sales_train.csv - индексы продаж по дням(все начинаются с 1).
○ advert_train.csv - рекламные акции в магазинах (обозначены 1 в соответствующую дату)
Данные для проверки:
○ advert_test.csv - рекламные акции на тестовом периоде
○ deploy_example.csv - формат данных в котором нужно построить прогноз продаж
Оформление результатов:
● Подготовить прогноз продаж в формате deploy_test.csv
● Прислать оформленный код в виде ipython ноутбука или R sweave документа
● Оформить исследование влияния рекламных акций в формате презентации (2-3 слайда максимум)
@machinelearning_interview
Кандидатам предоставлены данные о продажах в сети магазинов в одном городе за несколько лет. В магазинах периодически проводятся рекламные акции. Решение лучше присылать в виде jupyter notebook’а.
Задача:
● Построить прогноз продаж за год, при условии известного графика рекламных акций
● Сделать анализ того, насколько реклама влияет на продажи в магазинах
Данные: ● Данные для обучения:
○ sales_train.csv - индексы продаж по дням(все начинаются с 1).
○ advert_train.csv - рекламные акции в магазинах (обозначены 1 в соответствующую дату)
Данные для проверки:
○ advert_test.csv - рекламные акции на тестовом периоде
○ deploy_example.csv - формат данных в котором нужно построить прогноз продаж
Оформление результатов:
● Подготовить прогноз продаж в формате deploy_test.csv
● Прислать оформленный код в виде ipython ноутбука или R sweave документа
● Оформить исследование влияния рекламных акций в формате презентации (2-3 слайда максимум)
@machinelearning_interview
📌 Тестовое задание для кандидата Revo:Mokka.
В файле revo_ds_test_task.csv собраны данные по повторным займам текущих клиентов компании.
По имеющемуся набору данных, необходимо построить модель, которая будет прогнозировать значение целевой переменной 'bad_flag'. Подготовить небольшую презентацию (1-2 слайда), в которой аргументируется выбор модели и показан предполагаемый уровень дефолтности при различных уровнях одобрения.
Расчеты желательно предоставить в виде python-скрипта / jupyter ipythone notebook.
Решение
@machinelearning_interview
В файле revo_ds_test_task.csv собраны данные по повторным займам текущих клиентов компании.
По имеющемуся набору данных, необходимо построить модель, которая будет прогнозировать значение целевой переменной 'bad_flag'. Подготовить небольшую презентацию (1-2 слайда), в которой аргументируется выбор модели и показан предполагаемый уровень дефолтности при различных уровнях одобрения.
Расчеты желательно предоставить в виде python-скрипта / jupyter ipythone notebook.
Решение
@machinelearning_interview
📌 Тестовое задание
Задача
Требуется: предложить модель, сегментирующую окурок сигареты на фотографии.
Вход: фотография 512x512x3.
Выход: маска окурка сигареты 512x512.
Метрика: Dice coefficient.
Данные
Ссылка на скачивание данных: link.
Данные представляют из себя набор синтетически сгенерированных фотографий окурков сигарет и маски, определяющей их на фотографии, а также координаты ограничивающего их бокса.
Доступные данные разделены на несколько папок:
- real_test содержит фотографии 512x512x3;
- train/images содержит фотографии 512x512x3;
- train/coco_annotations.json содержит аннотации в формате COCO;
- val/images содержит фотографии 512x512x3;
- val/coco_annotations.json содержит аннотации в формате COCO.
Результаты
Для лучшей модели требуется создать 2 файла, которые необходимы для валидации Вашего решения:
- сохраненные маски для картинок из valid в формате
- html страницу с предсказанием модели для всех картинок из real_test и папку с используемыми картинками в этой html странице для её просмотра. Создать zip файл c html и изображениями и залить его в папку results.
Также необходимо:
- подготовить код (сам репозиторий) для проверки (докстринги, PEP8);
- создать отчет (можно прямо в ноутбуке) с описанием Вашего исследования, предобработки, постобработки, проверямых гипотез, используемых моделей, описание лучшего подхода и т.п. (он должен лежать в папке notebooks);
Рекомендуемый pipeline решения:
Предполагается следующий pipeline решения поставленной задачи:
- fork данного репозитория;
- ознакомиться с критериями;
- скачать данные;
ознакомиться с notebooks/GettingStarted.ipynb;
ознакомиться с данными, разобраться с их форматом;
ознакомиться с базовой статьей;
- провести анализ данных;
- написать методы аугментации данных;
- реализовать нейросеть/нейросети (необязательно с нуля);
- провалидировать модели;
- выбрать лучшую модель на val и посчитать для нее метрики;
- получить результаты на реальных изображениях real_test и сохранить их;
проанализировать результаты, сформулировать проблемы модели.
Критерии
При оценке решения этой задачи акцент будет делаться на (в порядке приоритета):
1. Качество исследования в jupyter notebook и чистота кода. В этот критерий входит читаемость и адекватность кода, содержательность комментариев, правильное оформление графиков (если таковые будут), отсутствие смысловых ошибок в коде. Наличие docstrings к написаным функциям приветствуется. Также будет оцениваться демонстрация предпринятых шагов и структурирование кода (разные по смыслу куски кода разделены по пакетам).
2. Анализ данных и подходы к аугментации. Оригинальность, эффективность и количество идей. Использование неочевидных шагов в решении, которые улучшают качество, будет хорошим плюсом. Наличие нескольких подходов также будет ценится выше, чем один подход.
3. Значение метрик на контрольной выборке и общая адекватность модели.
4. Обоснование выбора моделей (процесс выбора моделей).
5.Анализ результатов итоговой модели.
@machinelearning_interview
Задача
Требуется: предложить модель, сегментирующую окурок сигареты на фотографии.
Вход: фотография 512x512x3.
Выход: маска окурка сигареты 512x512.
Метрика: Dice coefficient.
Данные
Ссылка на скачивание данных: link.
Данные представляют из себя набор синтетически сгенерированных фотографий окурков сигарет и маски, определяющей их на фотографии, а также координаты ограничивающего их бокса.
Доступные данные разделены на несколько папок:
- real_test содержит фотографии 512x512x3;
- train/images содержит фотографии 512x512x3;
- train/coco_annotations.json содержит аннотации в формате COCO;
- val/images содержит фотографии 512x512x3;
- val/coco_annotations.json содержит аннотации в формате COCO.
Результаты
Для лучшей модели требуется создать 2 файла, которые необходимы для валидации Вашего решения:
- сохраненные маски для картинок из valid в формате
pred_valid_template.cs
v (в архиве с data) и залить его с тем же именем (см. notebooks/GettingStarted.ipynb);- html страницу с предсказанием модели для всех картинок из real_test и папку с используемыми картинками в этой html странице для её просмотра. Создать zip файл c html и изображениями и залить его в папку results.
Также необходимо:
- подготовить код (сам репозиторий) для проверки (докстринги, PEP8);
- создать отчет (можно прямо в ноутбуке) с описанием Вашего исследования, предобработки, постобработки, проверямых гипотез, используемых моделей, описание лучшего подхода и т.п. (он должен лежать в папке notebooks);
Рекомендуемый pipeline решения:
Предполагается следующий pipeline решения поставленной задачи:
- fork данного репозитория;
- ознакомиться с критериями;
- скачать данные;
ознакомиться с notebooks/GettingStarted.ipynb;
ознакомиться с данными, разобраться с их форматом;
ознакомиться с базовой статьей;
- провести анализ данных;
- написать методы аугментации данных;
- реализовать нейросеть/нейросети (необязательно с нуля);
- провалидировать модели;
- выбрать лучшую модель на val и посчитать для нее метрики;
- получить результаты на реальных изображениях real_test и сохранить их;
проанализировать результаты, сформулировать проблемы модели.
Критерии
При оценке решения этой задачи акцент будет делаться на (в порядке приоритета):
1. Качество исследования в jupyter notebook и чистота кода. В этот критерий входит читаемость и адекватность кода, содержательность комментариев, правильное оформление графиков (если таковые будут), отсутствие смысловых ошибок в коде. Наличие docstrings к написаным функциям приветствуется. Также будет оцениваться демонстрация предпринятых шагов и структурирование кода (разные по смыслу куски кода разделены по пакетам).
2. Анализ данных и подходы к аугментации. Оригинальность, эффективность и количество идей. Использование неочевидных шагов в решении, которые улучшают качество, будет хорошим плюсом. Наличие нескольких подходов также будет ценится выше, чем один подход.
3. Значение метрик на контрольной выборке и общая адекватность модели.
4. Обоснование выбора моделей (процесс выбора моделей).
5.Анализ результатов итоговой модели.
@machinelearning_interview
Вы собираетесь поехать в Лондон, и хотите знать, нужно ли брать с собой зонт или нет. Вы знаете, что вероятность дождя в Лондоне в определенный день составляет 25%. Вы звоните трем своим случайным друзьям и спрашиваете каждого из них, идет ли дождь. Вероятность того, что ваш друг скажет правду, составляет 2/3, а вероятность того, что он разыграет вас, составляет 1/3. Если все трое из них скажут, что идет дождь, то какова вероятность того, что на самом деле в Лондоне идет дождь?
Решение
Вы можете сказать, что этот вопрос связан с байесовской теорией из-за последнего утверждения, которое по существу соответствует структуре: «Какова вероятность того, что A истинно, если B истинно?».
P(A) = вероятность дождя = 25%
P(B) = вероятность того, что все 3 друга говорят, что идет дождь
P(A|B) вероятность того, что идет дождь, если все друзья говорят, что идет дождь
P(B|A) вероятность того, что все 3 друга говорят, что идет дождь, если идет дождь
= (2/3)³ = 8/27
Шаг 1: Найдем P(B)
P(B) = P(B | A) * P(A) + P(B | не A) * P(не A)
P(B) = (2/3)³ * 0.25 + (1/3)³ * 0.75 = 0.25 * 8/27 + 0.75 * 1/27
Шаг 2: Теперь вычислим P(A|B)
P(A | B
) = P(B | A) * P(A) / P(B),
P(A | B
) = 0,25 * (8/27) / (0,25 * 8/27 + 0,75 * 1/27)
P(A | B
) = 8 / (8 + 3) = 8/11
Поэтому, если все трое друзей говорят, что идет дождь, то есть шанс 8/11, что на самом деле идет дождь.
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
В одной коробке
12
красных
и 12 черных карт. В другой коробке 24 красных
и 24 черных карты. Вы хотите взять две карты случайным образом из одной из двух коробок, по одной карте за раз. С какой коробкой больше шансов получить карты одного цвета и почему?Ответ
С коробкой с
24 красными
и 24 черными картами более высокая вероятность получения двух карт одного цвета.Допустим, первая карта, которую вы берете из каждой коробки, это красный туз.
Это означает, что в коробке с
12 красными
и 12 черными теперь 11 красных
и 12 черных карт. Поэтому ваши шансы вытащить еще одну красную карту равны 11 / (11 + 12) или 11/23.В колоде с
24 красными
и 24 черными будет 23 красных
и 24 черных карты. Поэтому ваши шансы вытащить еще один красный цвет равны 23 / (23 + 24) или 23/47.
Так как
23/47 > 11/23,
то со второй коробкой с большим количеством карт, большая вероятность вытащить две карты подряд одного цвета.@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы находитесь в казино и у вас две кости для игры. Каждый ваш бросок стоит 5 долларов, и вы выигрываете 10 долларов каждый раз, когда выпадает 5. Если вы играете до тех пор, пока не выиграете, а затем остановитесь, то какова ожидаемая выплата?
Ответ
▪Есть 36 возможных комбинаций с двумя кубиками.
▪Из 36 комбинаций есть 4 комбинации, в результате которых получается пять (см. рисунок). Это означает, что есть шанс 4/36 или 1/9 бросить 5.
▪Вероятность выигрыша 1/9 означает, что вы проиграете восемь раз и выиграете один раз (теоретически).
▪Следовательно, ваша ожидаемая выплата = потеря равна $ 10,00 * 1 – $ 5,00 * 9 = – $ 35,00.
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Вам выдали 40 карт четырех разных цветов: 10 зеленых, 10 красных, 10 синих и 10 желтых. Карты каждого цвета пронумерованы от одного до десяти. Две карты выбираются наугад. Найдите вероятность того, что выбранные карты не одинакового цвета и с разными номерами.
Поскольку эти события не являются независимыми, мы можем использовать правило:
P(A и 😎 = P(A) * P(B | A), которое также равно
P(не A и не 😎 = P(не A ) * P(не B | не A)
Например, допустим что первая карта желтая четверка. Тогда для второй карты справедливо следующее:
P(не 4 и не желтый) = P(не 4) * P(не желтый | не 4)
P(не 4 и не желтый) = (36/39) * (27/36)
P(не 4 и не желтый) = 0,692
Следовательно, вероятность того, что выбранные карты имеют разный номер и не одинаковый цвет, составляет
69,2%.
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Как можно определить, не является ли данная монета предвзятой / смещенной?
Это не вопрос с подвохом, для ответа надо просто выполнить проверку гипотезы:
1. Нулевая гипотеза состоит в том, что монета не смещена, и вероятность одного из двух результатов подбрасывания должна быть равна 50% (р = 0,5). Альтернативная гипотеза состоит в том, что монета смещена и р != 0,5.
2. Подбросим монету 500 раз .
3. Рассчитаем z-статистику (если выборка меньше
30
, мы бы рассчитали t-статистику).4. Сравните с заданным уровнем допустимости верности нулевой гипотезы, обычно альфа
= 5%
(так как у нас два возможных значения в тесте, то 0,05 / 2 = 0,025
).5. Если уровень значимости (p-value) > альфа, то нулевая гипотеза не отбрасывается и монета считается не смещенной.
Если p-value < альфа, то нулевая гипотеза отклоняется в пользу предположения о смещенной монете.
Узнайте больше о проверке гипотез здесь.
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
SberMarket тестовое задание: Predict the user's next order
Overview
Сервисы доставки еды уже давно перестали быть просто курьерами, которые привозят заказ. Индустрия e-grocery стремительно идет к аккумулированию и использованию больших данных, чтобы знать о своих пользователях больше и предоставлять более качественные и персонализированные услуги. Одним из шагов к такой персонализации может быть разработка модели, которая понимает привычки и нужды пользователя, и, к примеру, может угадать, что и когда пользователь захочет заказать в следующий раз.
Такая модель, будучи разработанной, может принести значительную ценность для клиента - сэкономить время при сборке корзины, помочь ничего не забыть в заказе, убрать необходимость планировать закупки и следить за заканчивающимися запасами продуктов.
В данном соревновании участникам предлагается решить задачу предсказания следующего заказа пользователя (безотносительно конкретного момента времени, когда этот заказ произойдет). Заказ пользователя состоит из списка уникальных категорий товаров, вне зависимости от того, сколько продуктов каждой категории он взял.
Data Description
В качестве тренировочных данных представляется датасет с историей заказов 20000 пользователей вплоть до даты отсечки, которая разделяет тренировочные и тестовые данные по времени.
train.csv:
▪user_id - уникальный id пользователя
▪order_completed_at - дата заказа
▪cart - список уникальных категорий (category_id), из которых состоял заказ
В качестве прогноза необходимо для каждой пары пользователь-категория из примера сабмита вернуть 1, если категория будет присутствовать в следующем заказе пользователя, или 0 в ином случае. Список категорий для каждого пользователя примере сабмита - это все категории, которые он когда-либо заказывал.
sample_submission.csv:
Пример сабмита. В тест входят не все пользователи из тренировочных данных, так как некоторые из них так ничего и не заказали после даты отсечки. submission.csv
▪id - идентификатор строки - состоит из user_id и category_id, разделенных точкой с запятой: f'{user_id};{category_id}'. Из-за особенностей проверяющей системы Kaggle InClass, использовать колонки user_id, category_id в качестве индекса отдельно невозможно
▪target - 1 или 0 - будет ли данная категория присутствовать в следующем заказе пользователя
@machinelearning_interview
Overview
Сервисы доставки еды уже давно перестали быть просто курьерами, которые привозят заказ. Индустрия e-grocery стремительно идет к аккумулированию и использованию больших данных, чтобы знать о своих пользователях больше и предоставлять более качественные и персонализированные услуги. Одним из шагов к такой персонализации может быть разработка модели, которая понимает привычки и нужды пользователя, и, к примеру, может угадать, что и когда пользователь захочет заказать в следующий раз.
Такая модель, будучи разработанной, может принести значительную ценность для клиента - сэкономить время при сборке корзины, помочь ничего не забыть в заказе, убрать необходимость планировать закупки и следить за заканчивающимися запасами продуктов.
В данном соревновании участникам предлагается решить задачу предсказания следующего заказа пользователя (безотносительно конкретного момента времени, когда этот заказ произойдет). Заказ пользователя состоит из списка уникальных категорий товаров, вне зависимости от того, сколько продуктов каждой категории он взял.
Data Description
В качестве тренировочных данных представляется датасет с историей заказов 20000 пользователей вплоть до даты отсечки, которая разделяет тренировочные и тестовые данные по времени.
train.csv:
▪user_id - уникальный id пользователя
▪order_completed_at - дата заказа
▪cart - список уникальных категорий (category_id), из которых состоял заказ
В качестве прогноза необходимо для каждой пары пользователь-категория из примера сабмита вернуть 1, если категория будет присутствовать в следующем заказе пользователя, или 0 в ином случае. Список категорий для каждого пользователя примере сабмита - это все категории, которые он когда-либо заказывал.
sample_submission.csv:
Пример сабмита. В тест входят не все пользователи из тренировочных данных, так как некоторые из них так ничего и не заказали после даты отсечки. submission.csv
▪id - идентификатор строки - состоит из user_id и category_id, разделенных точкой с запятой: f'{user_id};{category_id}'. Из-за особенностей проверяющей системы Kaggle InClass, использовать колонки user_id, category_id в качестве индекса отдельно невозможно
▪target - 1 или 0 - будет ли данная категория присутствовать в следующем заказе пользователя
@machinelearning_interview
MLOps в облаке: как работать над ML-экспериментами с помощью MLflow
Александр Волынский (Product Manager ML Platform в VK Cloud) и Сергей Артюхин (преподаватель программы «Симулятор ML» в Karpov Courses) написали статью, где показали последовательность действий по выстраиванию MLOps-подхода, который в последнее время заметно меняет подходы к работе ML-специалистов.
Что в статье?
▪️ Инструменты для решения задач MLOps: JupyterHub и MLflow.
▪️ Запуск трекинга MLflow.
▪️ Как настроить MLflow, чтобы обращаться к нему через API.
@machinelearning_interview
Александр Волынский (Product Manager ML Platform в VK Cloud) и Сергей Артюхин (преподаватель программы «Симулятор ML» в Karpov Courses) написали статью, где показали последовательность действий по выстраиванию MLOps-подхода, который в последнее время заметно меняет подходы к работе ML-специалистов.
Что в статье?
▪️ Инструменты для решения задач MLOps: JupyterHub и MLflow.
▪️ Запуск трекинга MLflow.
▪️ Как настроить MLflow, чтобы обращаться к нему через API.
@machinelearning_interview
🎲 Задачи по теореме Байеса
Рост экономики. Компания ожидает, что вероятность подъема экономики — 5 %, а вероятность роста выручки компании вследствие подъема экономики — 90 %. Если экономика не поднимется, то выручка компании вырастет с вероятностью 40 %.
Каковая вероятность того, что экономика поднялась, если выручка компании выросла?
Решение
Пусть
Если выручка компании выросла, то вероятность того, что экономика поднялась, равна 10,6 %.
@machinelearning_interview
Рост экономики. Компания ожидает, что вероятность подъема экономики — 5 %, а вероятность роста выручки компании вследствие подъема экономики — 90 %. Если экономика не поднимется, то выручка компании вырастет с вероятностью 40 %.
Каковая вероятность того, что экономика поднялась, если выручка компании выросла?
Решение
Пусть
ПЭ
— подъем экономики, РВ
— рост выручки. Находим:• Р(ПЭ | РВ) =Р(РВ | ПЭ) -Р(ПЭ) / Р(РВ);
• Р(ПЭ) = 0,05;
• Р(РВ | ПЭ) = 0,90;
• Р(РВ) = 0,05 • 0,90 + 0,95 • 0,40 = 0,425;
• Р(ПЭ | РВ) = (0,90 • 0,05) / 0,425 = 0,106.
Если выручка компании выросла, то вероятность того, что экономика поднялась, равна 10,6 %.
@machinelearning_interview
1) Напишите алгоритм для определения несколько наиболее часто встречающихся чисел в массиве.
2) Есть два отсортированных вектора, как их объединить в один, отсортированный относительно друг друга?
3) Как реализована функция pow?
4) Какую функцию вы бы добавили в LinkedIn?
5) Как создать механизм рекомендаций соискателей?
6) Напишите программу для объединения длинной строки в группу существующих слов по какому-нибудь словарю. Если строка не сегментируется, программа должна выдать «False». Объясните, в чём сложность работы данной программы.
7) Объясните, как понять, что пользователь ищет работу, используя алгоритмы. (Учитывая, что некоторые просто интересуются)
8) На основе чего работает функция знакомых людей в системе?
9) Как вы найдёте второй по величине элемент в двоичном дереве поиска?
Пишите свои ответы в комментариях👇
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Вам дан набор чисел в виде списка Python. Необходимо найти медиану этого числового ряда.
Задание
Напишите функцию FindMedian, которая будет возвращать одно число - медианное значение.
Функция FindMedian принимает на вход arr - исходный список с числами.
Пример:
arr = [1, 5, 2, 3, 6]
Ответ: 3
Пример:
arr = [100, 5, 2, 4, 3, 6]
Ответ: 4.5
Примечание: Если в выборке четное число элементов, то за медиану нужно взять среднее между центральными элементами (после упорядочивания).Дополнительная информация
Обратите внимание, что шаблон решения представлен в виде (на примере языка Python):
class Answer:
def function(self, arg1, arg2):
# напишите свой код ниже
return res
Здесь function - функция, которую вам нужно написать (от задачи к задаче ее имя меняется), а arg1, arg2 -
аргументы этой функции.Чтобы решить задачу, напишите свой код между комментарием и выражением return ....
print(Answer().function(arg1, arg2))
Если вам нужно импортировать какой-то модуль, указывайте модуль до class Answer. Например:
import mymodule
class Answer:
...
Полный пример:# импортируем модуль
import collections
class Answer:
def problemSolve(self, n, m):
# напишите свой код ниже
...
return res
# промежуточно смотрим результат
print(Answer().problemSolve(n=2, m=3))
Пишите свое решение в комментариях👇
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
❓Как развернуть технологии машинного перевода на своём проекте?
Ответ на этот вопрос вы найдёте в новой статье Андрея Соколова из команды прикладных исследований ВКонтакте. Там он подробно рассказал о процессе разработки переводчика для постов и сообщений в мессенджере. Материал написан максимально понятным языком и его смело можно использовать как гайд для развёртывания технологии в своих проектах.
Обещаем: после прочтения вы поймёте, что сделать собственный переводчик – реально. Это не требует гигантских трудозатрат, а качество на выходе может получиться намного лучше, чем у готовых сторонних продуктов.
@machinelearning_interview
Ответ на этот вопрос вы найдёте в новой статье Андрея Соколова из команды прикладных исследований ВКонтакте. Там он подробно рассказал о процессе разработки переводчика для постов и сообщений в мессенджере. Материал написан максимально понятным языком и его смело можно использовать как гайд для развёртывания технологии в своих проектах.
Обещаем: после прочтения вы поймёте, что сделать собственный переводчик – реально. Это не требует гигантских трудозатрат, а качество на выходе может получиться намного лучше, чем у готовых сторонних продуктов.
@machinelearning_interview
Задание «Обменные курсы»
У игроков Кореи существует возможность покупать внутри-игровую валюту (gold) с помощью веб-интерфейса (премиум-магазина). При этом в магазине представлено лишь 6 типов пакетов с внутри-игровой валютой, различающихся по количеству gold. Типы пакетов
(packages)
и их реальная стоимость (в корейских вонах) для игроков представлена в таблице нижеPackage Price, KRW
1250 gold 7485 KRW
2900 gold 17365 KRW
7000 gold 36270 KRW
12000 gold 60000 KRW
21500 gold 98625 KRW
30000 gold 132745 KRW
Со временем было принято решения о расширении функционала премиум-магазина: было решено добавить возможность покупки пакета с любым количеством gold. При этом было построено правило перевода gold в реальные деньги (корейские воны), которое описано в таблице ниже
Gold Amount Exchange Rate
Amount ≤ 2900 gold 0,167 gold per 1 KRW
2900 gold < Amount ≤ 7000 gold 0,193 gold per 1 KRW
7000 gold < Amount ≤ 12000 gold 0,2 gold per 1 KRW
12000 gold < Amount ≤ 21500 gold 0,218 gold per 1 KRW
Amount > 21500 gold 0,226 gold per 1 KRW
То есть, пакеты с количеством внутри-игровой валюты, не превышающие 2900 gold, оцениваются согласно соотношению 0,167 gold за 1 корейский вон.
Затем было принято решение о введении возможности пополнения аккаунта игрока реальными деньгами, при котором сумма пополнения в корейских вонах переводилась бы в эквивалентную сумму в gold, согласно описанному выше правилу.
Необходимо формализовать и придумать непрерывную функцию, которая записывалась бы в виде формулы (без if, поскольку технические средства не умеют выполнять данную операцию, где предполагалось использовать полученное решение), описанное выше правило таким образом, чтобы после двух нововведений сохранилась описанная выше ценовая политика, но при этом была возможность как покупать любое количество gold, так и пополнять аккаунт любым количеством денег (корейских вон).
Решение
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
13 Инструкций SQL для решения 90% ваших задач по обработке данных
Независимо от того, являетесь ли вы новичком в SQL или имеете некоторый опыт работы с ним, эта статья предоставит вам ценную информацию для подготовки к интервью и практические советы по работе с данными .
▪ Статья
@machinelearning_interview
Независимо от того, являетесь ли вы новичком в SQL или имеете некоторый опыт работы с ним, эта статья предоставит вам ценную информацию для подготовки к интервью и практические советы по работе с данными .
▪ Статья
@machinelearning_interview
📝 Physician Partners Test Task
In this exercise we are providing you an example of financial data (all numbers are fictional). Deadline is 10 days after you received this test.
Task 1
• You need to create an algorithm that can find outliers in this data by one column / several columns. E.g. some members have extremely high costs in the current month and your solution should be able to detect such records
• Think about features and how you would explain it to business people
• All financial columns contain $ sign
Please provide a Jupyter notebook describing your approach as a result of this task.
Task 2
Create a web dashboard prototype in Python that allows users to:
Create slicers and dicers
- Filters by date range / ...
- Show data both in table and plotted formats
- Use paid_amount column for analysis and other columns for filters
Don’t worry about UI and design, just provide very simple functionality
You are free to use Flask / FastAPI / plotly / bokeh / etc.
Normalize text values in columns. Please, provide your approach to do it in the automatic way as Jupyter notebook. Think about it as you need to update this dashboard monthly and do not have time to normalize values manually
Columns:
•member_unique_id - member's ID
•gender - member's gender
•dob - member's date of birth
•eligible_year - year
•eligible_month - month
•affiliation_type - doctor's type
•pbp_group - health plan group
•plan_name - health plan name
•npi - doctor's ID
•line_of_business - health plan type
•esrd - True if patient is on dialysis
•hospice - True if patient is in hospice
Please provide this task as a python project. You can send it as a zip archive / Git repository / Docker
🔎 Data
@machinelearning_interview
In this exercise we are providing you an example of financial data (all numbers are fictional). Deadline is 10 days after you received this test.
Task 1
• You need to create an algorithm that can find outliers in this data by one column / several columns. E.g. some members have extremely high costs in the current month and your solution should be able to detect such records
• Think about features and how you would explain it to business people
• All financial columns contain $ sign
Please provide a Jupyter notebook describing your approach as a result of this task.
Task 2
Create a web dashboard prototype in Python that allows users to:
Create slicers and dicers
- Filters by date range / ...
- Show data both in table and plotted formats
- Use paid_amount column for analysis and other columns for filters
Don’t worry about UI and design, just provide very simple functionality
You are free to use Flask / FastAPI / plotly / bokeh / etc.
Normalize text values in columns. Please, provide your approach to do it in the automatic way as Jupyter notebook. Think about it as you need to update this dashboard monthly and do not have time to normalize values manually
Columns:
•member_unique_id - member's ID
•gender - member's gender
•dob - member's date of birth
•eligible_year - year
•eligible_month - month
•affiliation_type - doctor's type
•pbp_group - health plan group
•plan_name - health plan name
•npi - doctor's ID
•line_of_business - health plan type
•esrd - True if patient is on dialysis
•hospice - True if patient is in hospice
Please provide this task as a python project. You can send it as a zip archive / Git repository / Docker
🔎 Data
@machinelearning_interview
📌 Тестовое задание
Purchases Data Analysis Ланит
Нужно сделать EDA, найти инсайты в данных, потом построить рекоммендательную систему.
Tools in this repository are designed to allow a user to make purchases data analysis, including ABC analysis for inventory categorisation, RFM analysis for customer segmentation. Moreover, underlying relations between different items are identified with the help of association rule mining algorithm. Product recommendations are implemented based on the past purchases using different data science methods, including collaborative filtering.
Датасет
Тестовый датасет
Решение
@machinelearning_interview
Purchases Data Analysis Ланит
Нужно сделать EDA, найти инсайты в данных, потом построить рекоммендательную систему.
Tools in this repository are designed to allow a user to make purchases data analysis, including ABC analysis for inventory categorisation, RFM analysis for customer segmentation. Moreover, underlying relations between different items are identified with the help of association rule mining algorithm. Product recommendations are implemented based on the past purchases using different data science methods, including collaborative filtering.
Датасет
Тестовый датасет
Решение
@machinelearning_interview
10 первых ошибок в карьере ML-инженера
Специалист по машинному обучению (ML-engineer) — это программист, который занимается исследованием, созданием и проектированием систем ИИ. Начинающий
ML-инженер должен неплохо разбираться в математике и алгоритмах.
В этой статье собраны реальные примеры ошибок, которые чаще всего допускают программисты:
https://habr.com/ru/post/718942/
#it #ml #профессии
@machinelearning_interview
Специалист по машинному обучению (ML-engineer) — это программист, который занимается исследованием, созданием и проектированием систем ИИ. Начинающий
ML-инженер должен неплохо разбираться в математике и алгоритмах.
В этой статье собраны реальные примеры ошибок, которые чаще всего допускают программисты:
https://habr.com/ru/post/718942/
#it #ml #профессии
@machinelearning_interview
Forwarded from Анализ данных (Data analysis)
Собеседования в сфере дата-сайенс могут проходить по-разному в зависимости от компании и той должности, которую вы планируете занять. Как правило, все начинается с поведенческого интервью с менеджером по найму или сотрудником отдела кадров, за которым следует техническое собеседование с руководителем группы. Затем проводятся тест на написание кода и еще одно техническое собеседование с членами будущей команды.
В разных организациях этот процесс может варьироваться, но первым этапом при найме специалистов в сфере дата-сайенс остается поведенческое интервью.
Поведенческое интервью — это собеседование при приеме на работу, во время которого кандидата просят рассказать о достижениях на прежнем месте и его поведении в конкретных ситуациях. Это помогает определить, справится ли он с той или иной должностью. Во время такой беседы рекрутер, как правило, преследует следующие цели.
Узнать, к какому типу людей относится соискатель.
Понять, соответствует ли он требованиям культуры компании, сможет ли принять ее основные ценности.
Выяснить, сработается ли он с другими членами команды, будет ли разделять их видение и цели.
Первым делом на поведенческом собеседовании по дата-сайенс задаются личные вопросы. Скорее всего, в начале беседы вас попросят представиться и рассказать больше о себе.
Итак, у вас появляется прекрасная возможность заявить о себе как о перспективном кандидате. Поэтому важно заранее подготовить ответы на эти вопросы.
До собеседования узнайте больше о компании и должности, которую собираетесь занять. Вам также понадобится набросать план ответов. В этой статье мы обсудим, как правильно структурировать самопрезентацию, чтобы максимально конструктивно построить беседу с интервьюером.
1. Расскажите о своем бэкграунде
Для начала расскажите о своем профессиональном опыте и полученном образовании.
Начните с опыта. Опишите свой карьерный путь до этого момента, расскажите, чему научились, и не забудьте упомянуть самые важные результаты своей деятельности.
Также вы можете рассказать о полученном образовании, если оно имеет отношение к должности, на которую вы претендуете. Важно сосредоточиться только на опыте, который связан с той вакансией, на которую вы проходите собеседование.
К сожалению, многие кандидаты останавливаются на этом шаге и не переходят к следующему, в результате чего теряют возможность заявить о готовности принять ценности, видение и миссию компании. Тем не менее это важный этап собеседования — так вы можете показать, что действительно готовы стать ценным сотрудником. Посмотрим, как это сделать.
2. Выразите готовность принять ценности компании
Теперь настало время показать, что вы готовы стать частью команды.
Расскажите о том, что цените в работе и рабочем окружении, и свяжите эту информацию с ценностями и миссией компании. Помимо этого, можно объяснить, почему вам нравится работать в сфере науки о данных, объединив это с подходом компании к данным и тем, что ее представители в них ценят.
Допустим, вы собираетесь устроиться компанию, которая использует данные для принятия важных решений. В таком случае стоит сказать, что вам нравится работать с данными из-за их влияния на бизнес (важный момент, который следует подчеркнуть). Но для этого нужно предварительно узнать больше информации о компании и продумать ответ перед собеседованием.
3. Убедите работодателя, что подходите на эту вакансию
На последнем этапе интервью нужно доказать, что вы достойны занять должность, на которую претендуете. Расскажите о своих профессиональных компетенциях, а также о том, как они помогут вам выполнять должностные обязанности и почему вы заинтересованы в том, чтобы занять именно эту вакансию.
Это важный момент: вам нужно показать, что вы справитесь с будущими обязанностями, а не просто упомянуть свой опыт и ждать положительного ответа. Также стоит рассказать о том, каких результатов, по вашему мнению, вы сможете достичь на этой должности и чего вы от нее ожидаете.
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM