Профессия Data Scientist и 20 вопросов на собеседовании


Оглавление (нажмите, чтобы открыть):

Собеседование на должность по data science

Пользователи сайта Glassdoor, на котором бывшие и действующие сотрудники различных компаний оценивают своих работодателей, назвали должность специалиста по data science лучшей работой 2020 года. Издание Business Insider изучило вопросы, которые задают соискателям в крупных компаниях при собеседовании на эту позицию.

Медианный годовой доход специалиста по data science в Америке составит в 2020 году $117 тысяч. «Поскольку теперь все компании так или иначе работают в интернете, им нужны люди, которые знают, как управлять данными, чтобы на их основе принимать лучшие решения о развитии бизнеса. Думаю, что спрос на таких специалистов будет в ближайшие годы оставаться высоким», — считает главный экономист Glassdoor Эндрю Чемберлен.

Особенно актуальна такая работа для технологических компаний. Пользователи процитировали некоторые вопросы, которые можно услышать на собеседованиях в ИТ-гигантах.

«Мне предложили назвать какие-либо параметры, которые можно использовать для построения определенных алгоритмов. Например, построить алгоритм, который будет определять, что кто-то из моих знакомых начал поиски работы»

«У вас самолет до Сиэттла. Вы хотите знать, стоит ли захватить зонтик. Вы звоните трем случайным друзьям из Сиэттла и каждого из них спрашиваете, идёт ли дождь. Каждый друг с вероятностью 2/3 скажет правду и с вероятностью 1/3 соврёт. Все трое сообщают, что на улице дождь. Какова вероятность, что в Сиэттле действительно идёт дождь?»

«Какие параметры вы бы использовали, чтобы оценить, привлекает ли клиентов наружная реклама Uber? И как бы в этом случае вы определили приемлемую стоимость привлечения клиента?»

«Создайте алгоритм, который проверяет, является ли заданное слово палиндромом»
«В сумке шесть шариков, один из них — белый. У вас есть 100 попыток достать один из них. После каждой попытки вы встряхиваете сумку и кладете шарик обратно. С какой вероятностью вы достанете белый шарик хотя бы один раз?»

«Есть миллионы пользователей, каждый из которых совершил сотни транзакций при наличии десятков тысяч продуктов. Как сгруппировать эти данные так, чтобы извлечь из этого пользу?»

«Как вы решаете проблему недостающих данных?»

«Оперируя пользовательскими данными Twitter, как вы будете оценивать уровень вовлеченности?»

Как искать работу начинающим Data Scientists?

В этой статье мы опишем все базовые вещи, которые надо знать и к чему надо готовиться при поиске работы для Data Scientist. Особенно, если вы junior.

Оглавление:

  • Предварительная подготовка
  • Резюме
  • Стратегия поиска
  • Собеседование
  • К чему быть готовым, если вы переходите в DS из другой отрасли
  • Что спрашивают на собеседованиях

Предварительная подготовка

Задача: решить, каким аналитиком вы станете.

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

Что делать?

  • Прокачивайте свой профессиональный нетворк.
  • Вступайте в профессиональные онлайн-сообщества (группы в ТГ, Slack, ФБ, Open data science).
  • Следите за лидерами проф. сообщества и их активностями.
  • Принимайте участие в проф. соревнованиях (например, на Kaggle), индивидуально и, если возможно, в группе.
  • Приходите и участвуйте в митапах, хакатонах и встречах аналитиков.
  • Соглашайтесь на профильные стажировки.
  • Пробуйте много разных вещей, чтобы иметь возможность выбора.

Результат:

  1. Вы поймете, что ваше, а что нет. После многих проб и исследований важно остановиться и сфокусироваться на чем-то одном.
  2. Вы повысите свой проф. уровень и сможете больше заинтересовать работодателей.
  3. Есть шанс, что вас начнут узнавать в проф. тусовке и это тоже положительно скажется на вашей карьере.
  4. Вы будете узнавать о важных событиях, мероприятиях и вакансиях(!).

Резюме

Цель резюме: презентация вашего опыта и навыков так, чтобы привлечь внимание классных работодателей.

Что делать?

Начинайте писать резюме сразу же, прямо сейчас. Даже, если у вас нет проф. опыта. Прочитайте нашу статью «Что писать, а что не писать в резюме, если вы начинающий Data Scientist?»

Что еще писать в резюме?

  • Записывайте все профильное: участие в хакатонах, митапах, статьи, доклады и т.д. Пожалуйста, не стесняйтесь и отмечайте все, что может иметь отношение к профессии. Вплоть до упоминяния тем профильных курсовых и дипломных проектов, студенческих публикаций.
  • Указывайте информацию об обучении в профильных школах и курсах (Нетология, ШАД и пр.). Даже если вы не закончили ШАД, все равно упомяните про это обучение в резюме.
  • Запишите даже скромный опыт, например, бесплатную стажировку или студенческие проекты.
  • Помните, что ваше резюме может оценивать, как профи в data science, так и не опытный рекрутер. Используйте в резюме как спец. термины, так и понятные рекрутеру слова.
  • Расскажите коротко, почему вам интересна профессия и что конкретно в профессии вам интересно.

Стратегии поиска

Задача: использовать все возможности для трудоустройства в компанию-мечты.

Что делать?

  • Сформируйте список компаний/проектов, в которых вам хотелось бы поработать. Пополняйте этот список. Найдите, где вы можете следить за новыми вакансиями в этих проектах. Следите и откликайтесь.
  • Найдите, кто является Head of Analysts или Head of Data Science из вашего списка желаемых компаний-работодателей. Отыщите их на ФБ и подпишитесь, чтобы следить за появляющимися вакансиями. В последнее время работодатели все чаще публикуют свои вакансии на ФБ, в личных профилях.
  • Внимательно изучите публичную информацию о том, как внутри компании устроена аналитика, с какими задачами там работают, какие подходы предпочитают. После этого, постучитесь в личку к Руководителю аналитики этой компании и расскажите про себя.
  • Лайфхак: когда нашли, кто является главой аналитики в той компании, которая вам интересна, проверьте, не преподает ли он где-нибудь. Если преподает, запишитесь к нему на курсы и постарайтесь быть в числе лучших учеников. Это сильно повысит ваши шансы на стажировку в компании.
  • Подпишитесь на профильные ТГ-каналы с вакансиями для аналитиков (например: https://t.me/foranalysts). Следите за вакансиями на Open data science.
  • Не игнорируйте работные сайты (hh.ru, moikrug, geekjob.ru), там могут быть интересные стажерские вакансии.
  • Обязательно оставляйте свое резюме на всех профессиональных курсах, на которых вы учитесь. К таким школам приходят работодатели, которым интересны начинающие аналитики.
  • Если вы еще учитесь, следите за объявлениями для выпускников ВУЗов.
  • Напишите в своих соц.сетях о том, что вы ищите работу. Расскажите это всем, кого хорошо знаете (идеально, если человек из профессии). Делайте это, даже если ищите временную работу. Никогда не знаешь, где повезет и откуда прилетит классная вакансия.

Собеседование

Цель: подготовиться и успешно пройти собеседование в компанию-мечты.

Соглашайтесь на любую возможность пройти собеседование.
Ходите на все собеседования, по возможности, очно. Не инициируйте дистанционное общение сами.

  • Вы потренируетесь рассказывать о себе и своем опыте.
  • Узнаете, что стандартно спрашивают работодатели и научитесь отвечать на эти вопросы.
  • Изучите разные компании и узнаете, как там все устроено внутри в плане задач по аналитике.
  • Познакомитесь с нанимающими менеджерами. Это вам пригодится в будущем. Рынок очень узкий и вы еще можете пересечься в других компаниях, митапах, семинарах, чатах и т.д.
  • Обязательно послушайте наш подкаст про поиск работы в США, там много хороших рекомендаций о важности тренировочных собеседований и навыке самопрезентации.

Делайте все тестовые задания!

  • Это дает возможность профессионально прокачаться.
  • Некоторые тесты вы можете использовать в качестве портфолио.
  • Или даже частично использовать их для собеседований в других компаниях.

Что смотрят на тестовом для Junior Data Scientists?

  • Смотрят на то, как написан код.
  • На аккуратность оформления (чтобы было понятно другому человеку).
  • На сделанные выводы и логичность этих выводов.
  • На общую коммуникацию в процессе решения задачи. Например, смотрят, на то: Задаете ли вы вопросы? Гуглите ли перед тем, как их задавать? Оцениваете ли сроки адекватно? Выдерживаете ли сроки?

Перед собеседованием

  • Соберите предварительно информацию о компании. Чем она занимается? На чем зарабатывает? Где используется аналитика? И т.д.
  • попробуйте узнать, как проходят собеседования. Некоторые компании открыто про это пишут. Поспрашивайте знакомых и друзей тех, кто сейчас работает или ранее работал. Спросите рекрутера, как лучше подготовиться.

На самом собеседовании
Продемонстрируйте интерес, задайте вопросы.

  • То, какие вопросы вы задаете, демонстрирует вашу мотивацию и то, что на самом деле вам важно. Например, можно спросить, о том: когда мне повысят ЗП?А можно спросить: с какими технологиями работаете? Какие задачи нужно решать?

Этические правила

  • Не опаздывайте.
  • Оденьтесь опрятно.
  • Предупредите работодателя, если нужно перенести собеседование.

Big Data. Machine Learning. Data Science.

Блог компании Даталитика. Интересное об искусственном интеллекте, машинном обучении, больших данных и ИТ-консалтинге

Подписаться на этот блог

Подписаться на обновления

Тест на настоящего Data Scientist: знание всего

  • Получить ссылку
  • Facebook
  • Twitter
  • Pinterest
  • Электронная почта
  • Другие приложения

В области Data Science часто можно попасть на собеседование, где вас будут тестировать абстрактными вопросами, ответы на которые весьма отдаленно оценивают вас как хорошего кандидата. Страдают этим, как правило, вчерашние выпускники или интервьюеры, которые в ходе собеседования решают какие-то другие задачи, например, показать, какие они умные или самоутвердится перед руководством.

Мне приходится проводить много собеседований в сфере Data Science. Так как в Даталитике мы ищем по-настоящему крутых сотрудников, чтобы отделять талантливых кандидатов от средних, приходится искать варианты нестандартных задач. С одной стороны, емкие, а с другой — чтобы у соискателя оставалось легкое и приятное впечатление от собеседования.

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

Теперь попробовать можете и вы 🙂

Итак, задача: Выберите наиболее подходящий порядок картинок для следующей последовательности терминов: XGBoost, Linear regression, Kaggle, Confusion Matrix.

Начнем с самого простого, картинка с беременным мужчиной (False Positive) из представленных вариантов относится к Confusion Matrix (Матрица ошибок). Юмористы могут увидеть в ней kaggle — «не верь ничему, в соревновании все окажется не так, как учили».

Попробуем сгруппировать предложенные варианты:

  • XGBoost — метод.
  • Linear regression — семейство методов.
  • Kaggle — платформа для соревнования.
  • Confusion Matrix — термин.

XGBoost и Linear regression относятся к популярным методам и, если подумать про отношения между ними, то большинство скажет, что XGBoost дает лучше результат, т.е. круче. Если в оставшихся трех картинках искать пару с похожим отношением, это автомобиль и вертолет.

Методом исключения kaggle это картинка с башней из кубиков, которая символизирует популярную технику стекинг.

Итого правильный ответ: 2. C, B, A, D.

Для скептиков, что вилами по воде писано, решение может быть основано и на эрудиции, так пара картинок автомобиль-вертолет взята из популярной статьи про XGBoost, а башня из кубиков — мем в очень известном в узких кругах сообществе.

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

Какие еще встречаются интерпретации? Башня из кубиков может ассоциироваться с XGBoost, там как он сам является композицией деревьев, тогда вертолет это Kaggle, как что-то современное, но возникает проблема с отнесением регрессии.

Если у вас есть альтернативные решения, пишите в комментарии.


Data Engineer: учебное пособие для прохождения собеседования

Собеседование на любую техническую должность, как правило, требует подготовки и занимает немало времени. И не всегда понятно, что нужно конкретно изучать инженеру данных. Некоторые позиции требуют Hadoop, другие — SQL, а третьи — понимания статистики.

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

Вы также можете использовать чек-лист, который поможет отслеживать прогресс и ничего не забыть.

Почти неизбежно, что вам, как инженеру данных, зададут вопросы по SQL.

11 ноября в 10:00, Санкт-Петербург, беcплатно

  • объединение с фильтрацией;
  • последовательные объединения;
  • формирование подзапросов.

Базовые задачи на знание SQL

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

Комплексные запросы

Задача: В городе X построен новый стадион. Каждый день его посещает много людей, и статистика сохраняется в виде следующих столбцов: id, дата посещения, количество людей.

Напишите запрос, чтобы отобразить записи, которые имеют 3 или более последовательных строк и количество человек более 100 (включительно).

Задача: В таблице находится список сотрудников.

У каждого сотрудника есть идентификатор, а также столбец для идентификатора отдела. Напишите SQL-запрос, чтобы найти сотрудников, которые получают три самые высокие зарплаты в каждом отделе.

Дополнительно: Таблица содержит все отделы компании:

Для приведённых выше таблиц ваш запрос SQL должен возвращать следующие строки (порядок строк не имеет значения).

Задача: Для заданной таблицы напишите SQL-запрос, чтобы найти идентификаторы всех дат с более высокой температурой по сравнению с предыдущими датами.

Например, верните следующие идентификаторы для приведённой выше таблицы:

Aggregation

Задача: таблица Trips содержит все поездки такси. Каждая поездка имеет уникальный идентификатор, в то время как Client_Id и Driver_Id являются внешними ключами для Users Id в таблице Users . Статус является типом ENUM («завершено», «отменено водителем», «отменено клиентом»).

Мастер Йода рекомендует:  Лучший видеокурс по нейронным сетям на русском

Напишите SQL запрос, чтобы найти число отменённых заявок среди незаблокированных пользователей с 1 по 3 октября 2013 года.

Расширенные объединения (Advanced Join)

Задача: Мэри — учитель в средней школе, и у неё есть таблица seat, в которой записаны имена учеников с их соответствующими местами.

Столбец ID является неизменным. Мэри хочет поменять местами соседствующих студентов.

Можете ли вы написать запрос SQL для вывода результата Мэри?

Простые объединения (Simple Joins)

Задача: Кетти даёт Еве задание создать отчёт, содержащий три столбца: Имя, Оценка и Отметка. Кетти не нужны имена тех учеников, которые получили оценку ниже 8. Отчёт должен быть составлен в порядке убывания по классам — более высокие оценки вводятся первыми. Если у двух и более учеников одинаковые оценки (8–10), упорядочите их по алфавиту. Наконец, если оценка ниже 8, используйте « NULL » в качестве имени и перечислите их по оценкам в порядке убывания. Если у двух и более учеников одинаковые оценки (1–7), упорядочите учеников по их оценкам в порядке возрастания.

Напишите запрос, чтобы помочь Еве.

Ранжирование количества строк и аналитические функции

Задача: написать запрос SQL, чтобы получить n-ую самую высокую зарплату из таблицы Employee:

Сложные запросы Self Join

Задача: Приведена таблица, содержащая два столбца: X и Y .

Две пары ( X 1 , Y 1 ) и ( X 2 , Y 2 ) называются симметричными парами, если X 1 = Y 2 и X 2 = Y 1 .

Напишите запрос для вывода всех таких симметричных пар в порядке возрастания величины X .

Дополнительно

Если вам нужно больше задач SQL:

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

Решение SQL задач после просмотра обучающих видео

Как только вы закончите смотреть видео по SQL, посмотрите задачи ниже. Если остались пробелы, запишите темы, в которых вы ещё слабы, и больше работайте над ними.

Базы данных, ETL и хранилища данных

Чтобы разобраться с вопросами по проектированию баз данных, ETL и хранилищ данных, посмотрите несколько видеороликов. А также рассмотрите несколько концепций баз данных, которые вы могли бы попробовать разработать самостоятельно.

Самостоятельная практика и возникающие проблемы

Перечислим несколько бизнес-систем, которые вы можете попытаться разработать. Сначала рекомендуется создать реляционную базу данных, а затем подумать о том, как бы вы разработали ETL и DW, которые полагаются на неё:

  • Приложение для знакомств;
  • Прокат велосипедов;
  • Приложения Music Streaming;
  • Сайта поиска работы;
  • Веб-сайта Udemy.

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

Задачи по программированию

Инженеры данных обычно используют несколько языков, и Python среди них наиболее распространённый. Если требуется много работать с Hadoop, то хорошо подойдёт Java, а если вы работаете в Windows, то также Powershell.

Обычно вопросы бывают двух типов: прикладные и по алгоритмам и структурам данных.

Алгоритмы и структуры данных

Задачи перед подготовкой:

Теперь, когда вы решили эти задачи, давайте начнём рассмотрение других концепций по следующим видео.

Структуры данных

Big O

Ещё варианты прохождения интервью:

Задачи после изучения

Как только вы закончили с видео, попробуйте свои силы в решении задач. Следите за тем, насколько уверенно вы себя чувствовали, работая над ними.

Если вы всё ещё чувствуете, что нуждаетесь в помощи, подумайте о прохождении курса по алгоритмам и структурам данных.

Задачи оперативного программирования

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

Проектирование систем

Вопросы по проектированию систем встречаются не так часто. Тем не менее, лучше быть к ним готовым.

Потратив некоторое время на просмотр видео, вы будете готовы ко всему, что интервьюер может попросить вас сделать:

Курсы

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

Англоязычные курсы на Udemy:

Заключение

Надеемся, что этот обзор поможет вам подготовиться к собеседованию на должность Data Engineer. Если вам нужен контрольный список, вы можете найти его здесь.

Анализ малых данных

КвазиНаучный блог Александра Дьяконова

Вопросы на собеседованиях

Этот пост навеян просмотром нескольких ресурсов, в которых даются перечни вопросов на собеседовании на позицию Data Scientist и ответы на них. Вопросы не всегда корректные, а ответы не всегда правильные, поэтому я решил их подробно разобрать… думаю, для новичков будет полезно.

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

Зачем использовать Feature selection?

Feature selection (выбор классификационных признаков) – простой и эффективный способ улучшения алгоритмов классификации. […]

  • FS имеет нормальный русский перевод: отбор (или селекция) признаков. Лучше так и спрашивать, если собеседование ведётся на русском.
  • Самое плохое, что можно сделать при ответе на вопрос ЗАЧЕМ — ответить ЧТО ЭТО (или КАК).
  • В написанной выше фразе всё плохо! Я не назвал бы отбор признаков простым, поскольку его можно делать, например, с помощью эволюционной оптимизации (хотя, это философский вопрос, что такое просто). Но это точно не метод улучшения АЛГОРИТМА, сам алгоритм не трогают — меняют лишь признаковое описание объектов. Ну и наконец, почему алгоритмов КЛАССИФИКАЦИИ? Отбор признаков можно делать в задачах регрессии и даже в задачах обучения без учителя (кластеризации, например).

Как можно ответить:

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

  • повысить надёжность обучения (уменьшить эффект переобучения),
  • улучшить интерпретируемость решения (модель будет зависеть от небольшого числа признаков),
  • упростить поддержку решения (чем меньше входных данных, тем проще понять, из-за каких изменений входа алгоритм стал себя неадекватно вести),
  • повысить скорость работы алгоритмов (чем меньше признаков, тем быстрее),
  • удешевить решение задачи (часто получение признаков связано с денежными затратами — установка дополнительных датчиков, запросы нужной информации и т.п., здесь мы получаем возможность узнать, что чаcть признаков можно не использовать).

Методы фильтрации


Методы фильтрации основаны на статистических методах и, как правило, рассматривают каждую функцию независимо.

Можно поспорить, что только на статистических методах… конечно, статистика — это функция от выборки, поэтому если мы что-то вычисляем на основе значений признаков, то как бы используем статистический метод. Но что делать с таким методом: в задаче бинарной классификации с вещественными признаками вычислить AUC ROC для каждого признака (т.е. если бы он выдавался как ответ модели), признаки с AUC ROC близкими к 0.5 удалить? Это фильтрация… но вряд статистик назовёт это «своим» методом.

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

Overfitting

[…] Связано это с тем, что при построении модели в обучающей выборке обнаруживаются случайные закономерности, которые отсутствуют в общей совокупности. […]

Эта фраза (как и весь ответ) взята из страницы русской Википедии. И, знаете, она написана крайне неудачно. Конкретно по этой фразе: я бы не назвал это причиной переобучения, поскольку возникает много вопросов (например, что это за закономерности, которая ищет модель, например ближайший сосед, почему они случайные, неужели в детерминированном случае, когда я в модельной задаче буду генерировать выборку, переобучения не будет и т.п.)

Вот российский классик теории переобучения — Костя Воронцов пишет: переобучение возникает при использовании избыточно сложных моделей. Я бы так и рекомендовал говорить (и почитать материал на machinelearning). Тут тоже возникает вопрос: что такое сложность, почему она может быть избыточна? Но на это понятно, что отвечать.

Что такое регуляризация и чем она полезна?

Регуляризация – это метод добавления дополнительной информации к условию для решения некорректно поставленных задач или для предотвращения переобучения. Под регуляризацией часто понимается «штраф» за сложность модели.

Тоже фраза из википедии. В целом верная, но немного корявая. Здесь следует помнить, что термин изначально возник в теории некорректно поставленных задач, т.е. задач , в которых не выполняются требования:

  • решение существует,
  • решение единственно,
  • решение непрерывно зависит от данных.

Собственно, регуляризация (изначально в версии по Тихонову) борется со вторым и третьим пунктом с помощью дополнительных ограничений на решение. По факту: в задаче оптимизации к целевой функции добавляют регуляризационное слагаемое (т.н. штраф).

Сейчас термин стал намного шире: часто любой способ борьбы с переобучением, который касается настройки модели, в машинном обучением называют регуляризацией (начиная от dropout и заканчивая prunning).

Что такое смещение и дисперсия, и каковы их отношения в моделировании данных?

Смещение – это то, насколько далеки предсказания модели от правды, а дисперсия – степень, в которой эти предсказания различаются между итерациями модели.

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

Что делать, если классы не сбалансированы?

Я бы тут уточнил вопрос: кому и когда делать? Причины дисбаланса бывают разные, иногда он устраним на этапе постановки задачи, иногда он совсем неустраним и надо продумать подходящую метрику качества, а если уже всё продумано, то часто ничего не надо делать.

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

Есть куча искусственных приёмов для восстановления баланса классов, например SMOTE. Но как показывает практика, лучше с ними не связываться, гораздо важнее подобрать правильную модель и корректно преобразовать её результаты (например, с помощью калибровки). В крайнем случае, можно использовать пересемплирование (resampling) данных, например, дублирование объектов малого класса. Для желающих сказать побольше при ответе на этот вопрос — вот ссылка.

Какими способами можно сделать модель более устойчивой к выбросам?

Выбросы обычно определяются по отношению к распределению. Они могут быть удалены на этапе предварительной обработки (до любого этапа обучения)…

Странно задавать вопрос именно в такой форме, чтобы услышать именно такой ответ! Как СДЕЛАТЬ МОДЕЛЬ устойчивой — надо до её использования повозиться с данными. Если бы вопрос был «как решить проблему выбросов», то ответ был бы корректным, причём я бы его разнёс по пунктам:

  • удаление выбросов на этапе подготовки данных (в том числе, детектирование аномальных значений, винзоризация, стат. критерии, преобразование признаков и т.п.),
  • применение т.н. робастных моделей (например, линейных с настройкой не на сумму квадратов ошибки, а на сумму модулей),
  • удаление выбросов и переобучение моделей (например, удаляя объекты, на которых модель ошибается сильнее).

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

В заключение история: недавно при собеседовании соискатель спросил меня, а зачем ему помнить критерий расщепления Джини (Gini impurity)? Вряд ли на практике это понадобится…

Действительно, в большинстве случаев совсем не понадобится. Также как и среднестатистическому физику знание второго закона Ньютона, но что-то мне подсказывает, что подавляющее большинство физиков, если не все, помнят эту формулу из 3х букв. Точно также и здесь… есть маленькая формула, до которой можно дойти самому. Если Вы хоть раз в жизни задумывались, как разбить выборку на две части по значениям всего одного признака, то, наверное, приходили к выводу, что надо придумать функцию, которая принимает малые значения, если «в часть» попали объекты одного класса, и большие, если от всех классов примерно поровну. И не так много вариантов для выбора функции… В голову, в первую очередь, придёт энтропия (если Вы знаете, что это такое) и Джини (до которой можно додуматься самому). Есть, на самом деле, ещё более простой вариант (чуть позже я напишу отдельную заметку про него), но вот до него додуматься сложнее. А ещё, посмотрев на формулу Джини, Вы увидите сумму квадратов переменных (при условии, что они неотрицательны и их сумма равна 1), и узнаете задачу, которую всегда дают в курсе оптимизации при изучении условной оптимизации (и вдруг снова осознаете, что человечество решает всё время одни и те же задачи и придумало не так уж и много функций для оптимизации).

Поэтому умение описать критерий разделения Джини показывает либо то, что Вы его заучили, либо то, что Вы хоть раз серьёзно задумывались, как должен быть устроен алгоритм (бинарной) классификации. А неумение – не запомнили и не задумывались.

25 прикольных вопросов для собеседования по машинному обучению

Могут ли вопросы на собеседовании по машинному обучению быть одновременно прикольными и глубокими?

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

Однако пытливый, рассудительный и упорный ум может придумать множество чудесных вопросов по МО, разбор ответов на которые прекрасно способен обнаружить более глубокие его аспекты. В общем, такие вопросы могут помочь высунуть голову из кучи с картинки выше. Мы ведь не хотим целыми днями перемешивать данные — мы хотим нырнуть в глубины свойств, странностей и тонкостей методик машинного обучения и проникнуться ими…

В конце концов, в интернете хватает статей о «стандартных вопросах для собеседования по машинному обучению». Может, сделать кое-что другое, поинтереснее?

Сразу скажу: я публикую эти вопросы, просто чтобы вдохновить вас на размышления и разговоры. Готовых ответов не даётся. В некоторых вопросах есть подсказки, но они на самом деле больше для обсуждений, они не указывают на определённый ответ. Каждый вопрос заслуживает подробного обсуждения. Нет какого-то одного ответа. Некоторые вопросы заумные, а некоторые просто забавные. Приятного чтения 🙂 Вдобавок я вставил смешной мем после каждого 5-го вопроса…

Прикольные вопросы

89% данных лежат в пределах ±3 стандартных отклонений от среднего значения. ( Подсказка: научный руководитель Маркова)

Мастер Йода рекомендует:  Оптимизация форума под поисковые системы
  • Большая часть алгоритмов машинного обучения так или иначе связана с операциями над матрицами, например перемножением или обращением. Дайте простое математическое доказательство, почему мини-пакетная версия такого алгоритма МО может быть более эффективна с точки зрения объёма расчётов, чем обучение на полном наборе данных. ( Подсказка: временная сложность перемножения матриц…)
  • Не кажется ли вам, что временной ряд — это очень простая задача линейной регрессии с единственной переменной отклика и с единственным предиктором — временем? В чём проблема метода линейной регрессии (необязательно с единственным линейным членом, с многочленами тоже) в случае данных временного ряда? ( Подсказка: прошлое указывает на будущее…)
  • Что я узнал после многочисленных собеседований в компаниях, специализирующихся на ИИ

    Индийский программист Аман Далмиа дал советы о том, как успешно пройти собеседование инженеру или дата-сайентисту, поделился списком компаний, в которых он рекомендует попробовать свои силы, и ресурсов для помощи в подготовке к интервью.

    За последние восемь месяцев я успел пройти собеседования в различных компаниях вроде DeepMind, Microsoft, Ola, Fractal Analytics на должности аналитика данных, разработчика ПО и инженера-исследователя. В процессе мне посчастливилось не только пообщаться со многими интересными людьми, но также проанализировать, что интересует интервьюеров в соискателях. Мне кажется, если бы я обладал этими знаниями раньше, я мог бы избежать многих ошибок и лучше подготовиться.

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

    1. Как сделать так, чтоб вас заметили

    Честно говоря, этот шаг самый важный. Среди всех откликов рекрутер должен заметить именно ваш. Эту часть можно разделить на три ключевых шага:

    a) Последовательная подготовка: Составьте профиль на LinkedIn, Github, сайт-портфолио и хорошее резюме. Во-первых, ваше резюме должно быть кратким и аккуратным. Это руководство поможет вам правильно его составить. В нем указано все, чем я хотел бы с вами поделиться, и я сам им очень часто пользуюсь. Если говорить о шаблонах резюме, неплохие варианты можно найти на Overleaf.

    На одной странице можно уместить множество информации. Однако если вам действительно нужно больше места, формат, который я предложил выше, не подойдет. Вместо этого вы можете найти более объемный шаблон здесь. Еще одна важная вещь – ваш профиль на Github. Многие недооценивают потенциал этого сервиса, потому что, в отличие от LinkedIn, здесь нет функции «Кто просматривал ваш профиль». Люди просматривают ваш профиль на Github, потому что это единственный способ проверить то, что вы упомянули в своем резюме. Вот что вы должны сделать:

    • Создать аккаунт на Github , если вы еще не зарегистрированы.
    • Создать репозиторий для каждого из ваших проектов.
    • Добавить документацию, где указаны четкие инструкции, как запускать код.
    • Добавить документацию для каждого файла с указанием роли каждой функции, значением каждого параметра, правильного форматирования (например, PEP8 для Python) и сценария по автоматизации предыдущего шага (факультативно).

    Перейдем к третьему шагу – это сайт-портфолио, которое продемонстрирует ваш опыт. Создав портфолио, вы покажете работодателю серьезность своих намерений попасть в эту сферу. Кроме того, это добавляет несколько очков к вашей аутентичности. Как правило, вы не можете в резюме углубляться в детали своих проектов. С этим вам поможет портфолио. Его довольно легко создать. Существует множество бесплатных платформ, которые сделают этот процесс безболезненным. Лично я использую Weebly. Конечно, с самого начала лучше посмотреть на примеры чужих сайтов. Вот, например, мой:

    Наконец, многие рекрутеры и стартапы начали использовать LinkedIn как основную платформу для поиска сотрудников. Туда выкладывают очень много интересных предложений. Помимо рекрутеров, активность на сайте проявляют и люди, занимающие влиятельные должности. Поэтому если вы привлечете их внимание, у вас есть шанс найти работу. Конечно, с вами захотят связаться только в том случае, если у вас будет аккуратный профиль. Поисковая машина LinkedIn является очень важной частью этого сайта. Чтобы вас заметили, вы должны использовать в профиле актуальные ключевые слова. Кроме того, вы можете попросить людей, с которыми вы когда-либо работали, написать рекомендацию. Все это повысит ваши шансы быть замеченным. Еще раз оставлю здесь ссылку на руководство Udacity по созданию профилей на LinkedIn и GitHub.

    Объем информации довольно большой, но помните, что вы не обязаны сделать это все за один день или даже месяц. Этот процесс никогда не заканчивается. Конечно, настройка всего с самого начала потребует некоторых усилий, однако как только вы с этим справитесь и продолжите постепенно обновлять свой профиль, вы заметите, что все это очень просто. Кроме того, это поможет вам без проблем рассказывать о себе на собеседованиях без подготовки.

    б) Аутентичность: Я часто видел, как люди меняли на собеседованиях поведение в зависимости от требований к вакансии. Я считаю, что сначала следует решить, что вас интересует, чем вы хотели бы заниматься, а затем искать соответствующие возможности – не наоборот. Кроме того, спрос на сотрудников в сфере ИИ выше предложения, поэтому у вас есть преимущество.

    в) Нетворкинг: Очень важно взаимодействовать с людьми каждый день – если не физически, то на LinkedIn. Вы должны создать мощную сеть знакомств. Если вы хотите выстроить крепкие отношения с человеком, сначала предложите ему помощь. Еще один полезный шаг в нетворкинге – публикация вашего контента. Например, если у вас что-то хорошо получается, напишите об этом пост и поделитесь им на Facebook и LinkedIn. Это поможет не только остальным, но и вам. Как только вы выстроите хорошую сеть знакомств, вы станете более узнаваемым в обществе. Вы не представляете, как сильно вам может помочь человек, который просто лайкнет ваш пост.

    2. Список компаний и стартапов, куда следует отправить резюме

    Я составил список интересных компаний, в которых можно попробовать свои силы. Организации, которые я лично вам рекомендую, я отметил знаком «*». Моя рекомендация основывается на следующих факторах: программное заявление, люди, личное взаимодействие и область обучения. Рекомендации с двумя звездочками основываются только на последних двух факторах.

    • Adobe Research
    • *AllinCall – (основана выпускником Индийского технологического института Бомбея)
    • *Amazon
    • Arya.ai
    • *Element.ai
    • *Facebook AI Research: Программа резидентов ИИ
    • *Fractal Analytics (также приобрели: Cuddle.ai, **Qure.ai)
    • **Google (Brain / DeepMind / X): Программа резидентов ИИ
    • Goldman Sachs
    • Haptik.ai
    • **HyperVerge – основана выпускниками Индийского технологического института Мадраса , которые также работают над развитием решений различных проблем на основе ИИ с клиентами по всему миру
    • IBM Research
    • *Intel AI labs
    • **Jasmine.ai – основана выпускником Индийского технологического института Мадраса, который также получил докторскую степень в Мичиганском университете
    • JP Morgan
    • *Microsoft Research: а) стипендия на один или два года в лаборатории Microsoft в Индии. б) программа резидентов ИИ
    • MuSigma
    • Next Education
    • niki.ai
    • *Niramai – бывшие сотрудники Xerox Research работают над ранним выявлением рака молочной железы с использованием тепловизора
    • Ola
    • *OpenAI
    • *PathAI
    • Predible Health
    • Qualcomm
    • *SalesForce
    • Samsung Research
    • *SigTuple
    • *Suki – голосовой ассистент для врачей на основе ИИ. Недавно компания привлекла множество инвестиций, и, вероятно, откроет офис в Индии
    • *Swayatt Robotics – специализируется на развитии беспилотных автомобилей в Индии
    • **Wadhwani AI – основана братьями-миллиардерами Вадхвани
    • *Uber AI Labs & Advanced Technologies Group: Программа резидентов ИИ
    • *Umbo CV
    • Uncanny Vision
    • Zendrive

    3. Как понравиться на собеседовании

    Существует два типа собеседований:

    1. Интервьюер пришел с подготовленным списком вопросов и будет задавать вам только их, независимо от вашего резюме.
    2. Интервьюер будет задавать вопросы, опираясь на ваше резюме.

    Я начну со второго. Такие собеседования начинаются с вопроса: «Что вы можете рассказать о себе». В таком случае не стоит рассказывать об обучении в университете и деталях ваших проектов. Идеальный ответ должен уместиться в минуту или две. Из него собеседник должен понять, чем вы занимались до этого момента. Вы можете рассказать о своих хобби – чтении книг, спорте, медитации – буквально о чем угодно, что определяет вас как личность. Затем интервьюер, основываясь на вашем ответе, задаст следующий вопрос, а затем начинается техническая часть собеседования. Цель – определить, указали ли вы правду в своем резюме.

    Будут вопросы о том, что можно было бы сделать по-другому или что было бы, если бы вместо «X» стоял «Y». Здесь нужно разбираться, какие типы компромиссов обычно выполняются во время реализации. Например, если интервьюер говорит, что использование более сложной модели дало бы лучшие результаты, вы можете ответить, что у вас на самом деле было меньше данных, и это привело бы впоследствии к переобучению.

    Я также заметил, что интервьюерам нравилось, когда я говорю о проектах в следующем порядке:

    Проблема > один или два предыдущих подхода > наш подход > результат > интуиция

    Суть первого типа собеседований заключается в том, чтобы просто проверить ваши базовые знания. Обычно там не задают слишком сложных вопросов. Однако будьте готовы к тому, что вас подробно опросят по каждой из областей, которыми вы должны владеть. Обычно сюда относятся линейная алгебра, машинное обучение и/или глубокое обучение, статистика и оптимизация. Интервьюеры обращают внимание также на скорость ваших ответов. Поскольку эти вопросы являются базовыми, отвечать на них вы должны мгновенно.

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

    Недавно я начал просить интервьюеров высказывать то, что им во мне не понравилось, чтобы я мог исправить эти недостатки в будущем. Это очень помогло мне.

    4. Минимальные ресурсы, необходимые для подготовки

    Любые собеседования на должность исследователя данных охватывают вопросы по следующим темам: информатика, математика, статистика и машинное обучение.

    Информатика

    • Алгоритмы и структура данных:
    • — InterviewBit (практика)
    • — Лекции Индийского технологического института Дели на YouTube
    • Операционные системы:
    • 10 концепций операционных систем, о которых должны помнить разработчики ПО
    • Главы 3, 4, 7 книги «Концепции операционных систем» (англ. – Operating System Concepts)
    • Операционные системы на GeeksForGeeks

    • Объектно-ориентированное программирование: Вас спросят, как спроектировать систему. Поэтому вам нужно обсудить с интервьюером его/ее требования, какие классы необходимо создать, какими переменными/методами должен обладать каждый класс, как можно использовать наследование и так далее. Все это приходит с практикой. Вы можете перейти по этой ссылке для базового понимания терминологии.

    Математика и статистика

    При подготовке полезными могут быть главы 2, 3 и 4 книги «Глубокое обучение». Благодаря ней вы сможете подготовиться к теоретическим вопросам. Я подготовил краткое изложение нескольких глав, где объяснил концепции, которые, как мне кажутся, сложны для понимания. Если говорить о статистике, этих статей будет достаточно.

    Машинное обучение

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

    • CS 229 – курс по машинному обучению, который ведет Эндрю Ын
    • Курс по машинному обучению, который ведет профессор Калифорнийского технологического института Ясер Абу-Мостафа

    Важные темы: Обучение с учителем (классификация, регрессия, SVM, дерево решений, Random Forests, логистическая регрессия, многослойный перцептрон, оценка параметров, теорема Байеса), Обучение без учителя (Метод k-средних, GMM), Понижение размерности (PCA).

    Если вы проходите собеседование на более продвинутую должность, есть вероятность, что вас спросят о глубинном обучении. В таком случае вы должны хорошо разбираться в сверточных нейронных сетях и/или рекуррентных нейронных сетях. То есть вы должны понимать фундаментальную идею глубинного обучения, как работали сверхточные и рекуррентные сети, какие типы архитектур предлагались и почему эти архитектурные изменения произошли. Нет никакой короткой статьи, в которой это все объяснялось бы. Вы либо понимаете это, либо выделяете время на ознакомление с этими темами. Вы можете почитать ресурсы Стэнфорда CS 231N и CS 224N. В первом расскажут о сверточных нейронных сетях, во втором – о рекуррентных. Мне также очень понравилось это видео о нейронных сетях. Эта статья поможет быстро освежить в памяти материал. Не забывайте про Udacity. Как вы уже могли догадаться, Udacity – действительно важное место для тех, кто занимается машинным обучением.

    Подготовка к интервью – длинный путь к самореализации. Я надеюсь, эта статья будет для вас полезной и поможет получить работу своей мечты.

    Материалы по теме:

    Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

    Как подготовиться к собеседованию на должность data scientist’а

    Наш сегодняшний материал – для тех, кто мечтает получить должность data scientist’а, но не знает, к чему конкретно готовиться. Вооружившись мнением приглашенного эксперта и проведя мини-исследование на тему, мы составили для наших читателей краткое руководство к действию.

    С чего начать?

    Во-первых, стоит заранее «познакомиться» с компанией, ее продуктами/услугами и приоритетами, а также хорошенько подумать о своем потенциальном месте в ней. Помните: главная цель – убедить работодателя в том, что вас интересует должность data scientist’а именно в этой организации.

    Основные моменты

    Но каких именно вопросов следует ожидать на собеседовании?

    Во время собеседования нужно быть готовым рассказать о себе (чем занимались раньше, почему / как пришли в Data Science) и описать опыт прошлых проектов, — рассказывает Анастасия Корнилова, data scientist в V.I. Tech. — Если же проекты под NDA или собеседование на первую работу, это могут быть соревнования по Kaggle (kaggle.com), проекты в рамках учебных курсов, собственные проекты).

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

    В общем-то, один из ключевых факторов успеха на собеседовании заключается в формуле «будь собой» — понятно, что расслабиться в таких обстоятельствах сложно, но не стоит бояться своей индивидуальности, например, чувства юмора. Помните: работодатель – тоже человек!

    Мастер Йода рекомендует:  Сегодня Википедия отмечает десятилетний юбилей

    Технические вопросы

    Далее по списку – «технические» вопросы, которых школы-университеты приучили нас побаиваться, даже если мы на 100% уверены в своих силах. Анастасия Корнилова уверена: предупрежден – значит, вооружен:

    Стоит готовиться к вопросам вроде «Как бы вы решали задачу (обычно связана с проектом, над которым вам придется работать)?» «Опишите как работает алгоритм (например, machine learning)» или «Откуда вы получаете информацию о новых тенденциях в области?

    Первый вопрос немного пугает своей непредсказуемостью, но типичных проблем не так много, и их в избытке можно найти в сети, к примеру, здесь или здесь. Вообще, не стоит бояться таких вопросов – обычно работодатель скорее смотрит на образ ваших мыслей, чем выискивает в вас сверхъестественную способность выдавать верные решения на-гора. Вам дают подсказку? Ни в коем случае не стоит ее игнорировать – воспринимайте это как должное и смело используйте ее для поиска ответа на вопрос. Это покажет работодателю, что вы способны работать в команде (еще один «плюсик к карме»).

    Каких еще технических вопросов ждать на собеседовании? Наш эксперт приводит пример:

    Вас могут попросить описать все этапы решения некой задачи, связанной с данными:

    — представление результатов или какой-то конкретной части.

    Здесь важно как можно лучше подготовиться теоретически – и постараться как можно меньше волноваться. Как любят иногда повторять работодатели: «Это не экзамен». Обнадеживает, не правда ли?

    И напоследок

    Как ни странно, работодатели ценят в соискателях еще одну черту: умение задавать правильные вопросы. Далеко не обязательно это касается «технической» части – практически в любом месте интервью так вы можете показать, что «коммуникабельность» — не просто красивое слово в вашем резюме. Плюс, живая заинтересованность компанией и тем, чем вам предстоит заниматься, непременно сыграет вам на руку. Желаем удачи!

    Data Scientist (Специалист по обработке, анализу и хранению больших массивов данных)

    Data Scientist — специалист по обработке, анализу и хранению больших массивов данных, так называемых «Big Data». Профессия подходит тем, кого интересует физика, математика и информатика (см. выбор профессии по интересу к школьным предметам).

    Data Science – наука о данных на стыке разных дисциплин: математика и статистика; информатика и компьютерные науки; бизнес и экономика.

    (С.Мальцева, В.Корнилов НИУ «ВШЭ»)

    Профессия новая, актуальная и чрезвычайно перспективная. Сам термин «Big Data» появился в 2008 году. А профессия Data Scientist — «Учёный по данным» официально зарегистрирована как академическая и межотраслевая дисциплина в начале 2010 г. Хотя первое упоминание термина «data science” было отмечено в книге Петера Наура 1974 г., но в ином контексте.

    Необходимость возникновения такой профессии была продиктована тем, что когда речь идет об Ультра Больших Данных, массивы данных оказываются слишком велики для того, чтобы обрабатывать их стандартными средствами математической статистики. Каждый день через сервера компаний всего мира проходит тысячи петабайт ( 10 15 байт =1024 терабайт) информации. Кроме таких объёмов данных, проблему усложняет их разнородность и высокая скорость обновления.

    Массивы данных подразделяют на 3 вида:

    структурированные (например, данные кассовых аппаратов в торговле);

    полуструктурированные (сообщения E-mail);

    неструктурированные (видеофайлы, изображения, фотографии).

    Большинство данных Big Data является неструктурированными, что значительно усложняет их обработку.

    По отдельности специалист по статистике, системный аналитик или бизнес-аналитик не может решить задачи с такими объёмами данных. Для этого нужен человек с междисциплинарным образованием, компетентный в математике и статистике, экономике и бизнесе, информатике и компьютерных технологиях.

    Главная задача Data Scientist — умение извлекать необходимую информацию из самых разнообразных источников, используя информационные потоки в режиме реального времени; устанавливать скрытые закономерности в массивах данных и статистически анализировать их для принятия грамотных бизнес-решений. Рабочим местом такого специалиста является не 1 компьютер и даже не 1 сервер, а кластер серверов.

    Особенности профессии

    В работе с данными Data Scientist использует различные способы:

    • статистические методы;
    • моделирование баз данных;
    • методы интеллектуального анализа;
    • приложения искусственного интеллекта для работы с данными;
    • методы проектирования и разработки баз данных.

    Должностные обязанности data scientist зависят от сферы его деятельности, но общий перечень функций выглядит следующим образом:

    • сбор данных из разных источников для последующей оперативной обработки;
    • анализ поведения потребителей;
    • моделирование клиентской базы и персонализация продуктов;
    • анализ эффективности внутренних процессов базы;
    • анализ различных рисков;
    • выявление возможного мошенничества по изучению сомнительных операций;
    • составление периодических отчетов с прогнозами и презентацией данных.

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

    Плюсы и минусы профессии

    Плюсы

    • Профессия не только чрезвычайно востребованная, но существует острый дефицит специалистов такого уровня. Поэтому так стремительно и широко финансируются и развиваются факультеты при самых престижных вузах по подготовке специалистов по данным. В России также растет спрос на Data Scientist.
    • Высокооплачиваемая профессия.
    • Необходимость постоянно развиваться, идти в ногу с развитием IT-технологий, самому создавать новые методы обработки, анализа и хранения данных.

    Минусы

    • Не каждый человек сможет освоить эту профессию, нужен особый склад ума.
    • В процессе работы могут не сработать известные методы и более 60% идей. Множество решений окажется несостоятельным и нужно иметь большое терпение, чтобы получить удовлетворительные результаты. Учёный не имеет права сказать: «НЕТ!» проблеме. Он должен найти способ, который поможет решить поставленную задачу.

    Место работы

    Data Scientist занимают ключевые позиции в:

    • технологических отраслях (системы автонавигации, производство лекарств и т.д.);
    • IT-сфере (оптимизация поисковой выдачи, фильтр спама, систематизация новостей, автоматические переводы текстов и многое другое);
    • медицине (автоматическая диагностика болезней);
    • финансовых структурах (принятие решений о выдаче кредитов) и т.д;
    • телекомпаниях;
    • крупных торговых сетях;
    • избирательных кампаниях.

    Важные качества

    • аналитический склад ума;
    • трудолюбие;
    • настойчивость;
    • скрупулёзность, точность, внимательность;
    • способность доводить исследования до конца, несмотря на неудачные промежуточные результаты;
    • коммуникабельность;
    • умение объяснить сложные вещи простыми словами;
    • бизнес-интуиция.

    Профессиональные знания и навыки:

    • знание математики, матанализа, математической статистики, теории вероятностей;
    • знание английского языка;
    • владение основными языками программирования, у которых имеются компоненты для работы с большими массивами данных: Java (Hadoop), C ++ (BigARTM, Vowpel Wabbit, XGBoost), Python (Matplotlib, Numpy, Scikit, Skipy);
    • владение статистическими инструментами — SPSS, R, MATLAB, SAS Data Miner, Tableau;
    • основательное знание отрасли, в которой работает data scientist; если это фармацевтическая отрасль, то необходимо знание основных процессов производства, компонентов лекарств;
    • главный базовый навык специалиста по data scientist — организация и администрация кластерных систем хранения больших массивов данных;
    • знание законов развития бизнеса;
    • экономические знания.

    Обучение на Data Scientist-а (Образование)

    Профессию Data Scientist в России можно получить и совершенствовать по специальным программам дополнительного образования, организуемым компаниями, которые занимаются исследованиями в этой сфере.

    Курсы

    • МГУ им. Ломоносова, Факультет вычислительной математики и кибернетики, специальная образовательная программа Mail.Ru Group «Техносфера», с обучением методам интеллектуального анализа большого объема данных, программированию на С ++ , многопоточному программированию и технологии построения систем информационного поиска.
    • МФТИ, Кафедра анализа данных.
    • Факультет бизнес-информатики в НИУ ВШЭ готовит системных аналитиков, проектировщиков и внедренцев сложных информационных систем, организаторов управления корпоративными информационными системами.
    • Школа анализа данных Яндекс.
    • Университет в Иннополисе, университет Данди, университет Южной Калифорнии, Оклендский университет, Вашингтонский университет: Магистратуры по направлению Big Data.
    • Бизнес-школа Имперского колледжа Лондона, Магистратура по науке о данных и менеджменту.

    Как и в любой профессии здесь важно самообразование, несомненную пользу которому принесут такие ресурсы, как:

    • онлайн-курсы ведущих университетов мира COURSERA;
    • канал машинного обучения MASHIN LEARNING;
    • подборка курсов edX;
    • курсы Udacity;
    • курсы Dataquest, на которых можно стать настоящим профи в Data Science;
    • 6-шаговые курсы Datacamp;
    • обучающие видео O’Reilly;
    • скринкасты для начинающих и продвинутых Data Origami;
    • ежеквартальная конференция специалистов Moskow Data Scients Meetup;
    • соревнования по анализу данных Kaggle.сom

    Оплата труда

    Зарплата на 06.11.2020

    Профессия Data Scientist является одной из самых высокооплачиваемых. Информация с сайта hh.ru — зарплата в месяц составляет от $8,5 тыс. до $9 тыс. В США оплата труда такого специалиста составляет $110 тыс. — $140 тыс. в год.

    По результатам опроса исследовательского центра Superjob зарплата специалистов Data Scientist зависит от опыта работы, объёма обязанностей и региона. Начинающий специалист может рассчитывать на 70 тыс. руб. в Москве и 57 тыс. руб. в Санкт-Петербурге. С опытом работы до 3 лет зарплата повышается до 110 тыс. руб. в Москве и 90 тыс. руб. в Санкт-Петербурге. У опытных специалистов с научными публикациями зарплата может достигать 220 тыс. руб. в Москве и 180 тыс. руб. в Петербурге.

    Ступеньки карьеры и перспективы

    Профессия Data Scientist сама по себе является высоким достижением, для которой требуются серьёзные теоретические знания и практический опыт нескольких профессий. В любой организации такой специалист является ключевой фигурой. Чтобы достичь этой высоты надо упорно и целенаправленно работать и постоянно совершенствоваться во всех сферах, составляющих основу профессии.

    Интересные факты о профессии

    Про Data Scientist шутят: это универсал, который программирует лучше любого специалиста по статистике, и знает статистику лучше любого программиста. А в бизнес-процессах разбирается лучше руководителя компании.

    ЧТО ТАКОЕ «BIG DATA» в реальных цифрах?

    1. Через каждые 2 дня объём данных увеличивается на такое количество информации, которое было создано человечеством от Рождества Христова до 2003 г.
    2. 90% всех существующих на сегодня данных появились за последние 2 года.
    3. До 2020 г. объём информации увеличится от 3,2 до 40 зеттабайт. 1 зеттабайт = 10 21 байт.
    4. В течение 1 минуты в сети Facebook загружается 200 тысяч фото, отправляется 205 млн. писем, выставляется 1,8 млн. лайков.
    5. В течение 1 секунды Google обрабатывает 40 тыс. поисковых запросов.
    6. Каждые 1,2 года удваивается общий объём данных в каждой отрасли.
    7. К 2020 г. объём рынка Hadoop-сервисов вырастет до $50 млрд.
    8. В США в 2015 г. создано 1,9 млн. рабочих мест для специалистов, работающих на проектах Big Data.
    9. Технологии Big Data увеличивают прибыль торговых сетей на 60% в год.
    10. По прогнозам объём рынка Big Data увеличится до $68,7 млрд. в 2020 г. по сравнению с $28,5 млрд. в 2014 г.

    Несмотря на такие позитивные показатели роста, бывают и ошибки в прогнозах. Так, например, одна из самых громких ошибок 2020 года: не сбылись прогнозы по поводу выборов президента США. Прогнозы были представлены знаменитыми Data Scientist США Нейт Сильвером, Керк Борном и Биллом Шмарзо в пользу Хиллари Клинтон. В прошлые предвыборные компании они давали точные прогнозы и ни разу не ошибались.

    В этом году Нейт Сильвер, например, дал точный прогноз для 41 штата, но для 9 штатов — ошибся, что и привело к победе Трампа. Проанализировав причины ошибок 2020 года, они пришли к выводу, что:

    1. Математические модели объективно отражают картину в момент их создания. Но они имеют период полураспада, к концу которого ситуация может кардинально измениться. Прогнозные качества модели со временем ухудшаются. В данном случае, например, сыграли свою роль должностные преступления, неравенство доходов и другие социальные потрясения. Поэтому модель необходимо регулярно корректировать с учётом новых данных. Это не было сделано.
    2. Необходимо искать и учитывать дополнительные данные, которые могут оказать существенное влияние на прогнозы. Так, при просмотре видео митингов в предвыборной кампании Клинтон и Трампа, не было учтено общее количество участников митингов. Речь шла приблизительно о сотнях человек. Оказалось, что в пользу Трампа на митинге присутствовало 400-600 человек в каждом, а в пользу Клинтон — всего 150-200, что и отразилось на результатах.
    3. Математические модели в предвыборных кампаниях основаны на демографических данных: возраст, раса, пол, доходы, статус в обществе и т.п. Вес каждой группы определяется тем, как они голосовали на прошлых выборах. Такой прогноз имеет погрешность 3-4 % и работает достоверно при большом разрыве между кандидатами. Но в данном случае разрыв между Клинтон и Трампом был небольшим, и эта погрешность оказала существенное влияние на результаты выборов.
    4. Не было учтено иррациональное поведение людей. Проведенные опросы общественного мнения создают иллюзию, что люди проголосуют так, как ответили в опросах. Но иногда они поступают противоположным образом. В данном случае следовало бы дополнительно провести аналитику лица и речи, чтобы выявить недобросовестное отношение к голосованию.

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

    Как эффективно начать карьеру в Data Science?

    Итак, у меня есть огромное желание связать свою деятельность с Data Science в области финансов, и я хотел бы получить совет от опытных людей, как можно сделать это наиболее эффективно.

    Про бэкграунд коротко:

    • высшее инженерное, но так получилось, не буду вдаваться в детали, что уже достаточно долго и, надо сказать, достаточно успешно я занимаюсь UI/UX дизайном
    • есть небольшой опыт в написании web-приложений (Backbone + MarionetteJS, RequireJS)
    • есть опыт написания расширений для Chrome на Angular
    • в универе познакомился с Asm, C/C++, C#, Java, JS, PHP, Lisp (нет, это не опечатка), а также с разработкой под Android и iOS
    • знаю английский

    Относительно недавно я всё-таки решился сменить карьеру и составил для себя список необходимых минимальных навыков, чтобы получить первую работу:

    1. Python (+ SciPy, NumPy, Pandas);
    2. Проштудировать матан, линейку, тервер и статистику;
    3. Сделать пару небольших проектов, чтобы ходить на собесы не с голым задом, извиняюсь.

    Уже недели три как я максимально погрузился в чтение Лутца, и в штудирование математики.

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

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

    Благодарю всех, кто дочитал, и надеюсь услышать что-то конструктивное.

    Добавить комментарий