TL;DR: Посмотрите демо, которое я сделал во время стажировки в SAP. Это модель машинного обучения, позволяющая предсказать вероятность выхода компании из наших облачных контрактов или нет. Он также служит платформой для отработки навыков машинного обучения.

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

Подготовка очень важна

Когда меня попросили сделать презентацию, я ни к чему не был готов. Я просто обсуждал различные идеи о том, как объединить машинное обучение и некоторые технологии с открытым исходным кодом, такие как keras.io или Tensorflow, в бизнес-кейс. Как только эта идея понравилась, меня попросили провести проверку концепции. Я решил использовать данные об оттоке клиентов из облака SAP. Это было действительно сложно получить, поэтому мне пришлось взять некоторый набор банковских данных и адаптировать его для SAP, чтобы доказать, что это не так уж и плохо, поскольку нас больше интересовало, что машинное обучение может дать компании. Я планировал сделать двоичный классификатор по нескольким функциям, касающимся клиентов SAP Cloud. Таким образом, модель пытается предсказать, может ли компания выйти из SAP Cloud Contracts или нет. Выходные данные — это yes или no, а входные данные — это несколько функций, связанных с компанией, таких как доход, отзывы, количество и типы продуктов. и как только я получил зеленый флаг, я решил использовать старый добрый React. На этот раз я хотел поэкспериментировать с разными техниками. Итак, вместо использования Nodejs я решил использовать Python для серверной части, в частности Django. Кому-то это нравится, кому-то не нравится. На мой взгляд, использование Node.js с React более органично, потому что это не другой язык. но в конце концов, это сделало работу.

Будьте уверены

Это очень легко сказать. На его написание у меня ушло менее 2 секунд. Чтобы получить его, потребуется целая жизнь, если не больше. Я не был уверен, что смогу закончить проект примерно за месяц. Месяц - это продолжительность, которую мне дали. Кто-то может сказать, что месяц — это довольно большой срок для PoC, но, на мой взгляд, в моем понимании, это было нормально для меня и моей команды, поскольку весь этот опыт был экспериментальным. Итак, я закончил интерфейс с React, сервер с Django-Python и использовал базу данных sqlite3. Sqllte3 — очень легкий инструмент для работы с базами данных. Раньше я использовал Postgresql, Redis и MongoDB, что требовало от меня подключения к серверу. Но база данных sqllite3 — это просто файл, который вы храните в своей локальной файловой системе. Связь по сети отсутствует.

За неделю до презентации

Примерно за неделю до презентации я в основном закончил работу над проектом. Итак, я решил развернуть его на Heroku, облачной платформе, купленной SalesForce. Мне потребовалось некоторое время, чтобы настроить и подготовить его к работе из-за связки Python и JS. Кроме того, я использовал веб-пакет, и каждый раз, когда они говорят zero config, я раздражаюсь, потому что это ложная реклама. Я смог развернуть его примерно за 2-3 дня до дня презентации, и я начал делать свои слайды.

За день до презентации

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

За час до презентации

Я немного нервничал. Мне сказали, что моя презентация будет записана. Это тоже не помогло.

Презентация

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

Посмотреть демо

Здоровья, Йигит