Дорогой друг!
Специально для тебя, есть готовое решение в формате ."IPYNB" (.ipynb), но оно платное.
При получении вами критического (красного) замечания по проекту, проведу правки.
Не можешь оплатить, тогда через "Помощь" запроси другую систему оплаты (Webmoney, Alipay, Telegram (USDT, TON)).
Проектная работа
Телеком
Поздравляем! Вы прошли курс. Самое время проверить знания и решить новую задачу машинного обучения. Выполнять работу будете самостоятельно.
Когда закончите, отправьте её на проверку ревьюеру: он пришлёт комментарии в течение суток. После этого нужно доработать проект и пройти повторную проверку.
Скорее всего, вы будете дорабатывать кейс по комментариям ещё несколько раз. Это нормально.
Проект завершён, когда ревьюер одобрит все доработки.
Описание проекта
Оператор связи «ТелеДом» хочет бороться с оттоком клиентов. Для этого его сотрудники начнут предлагать промокоды и специальные условия всем, кто планирует отказаться от услуг связи. Чтобы заранее находить таких пользователей, «ТелеДому» нужна модель, которая будет предсказывать, разорвёт ли абонент договор. Команда оператора собрала персональные данные о некоторых клиентах, информацию об их тарифах и услугах. Ваша задача — обучить на этих данных модель для прогноза оттока клиентов.
Описание услуг
Оператор предоставляет два основных типа услуг:
Стационарную телефонную связь. Телефон можно подключить к нескольким линиям одновременно.
Интернет. Подключение бывает двух типов: через телефонную линию DSL (англ. digital subscriber line — «цифровая абонентская линия») или оптоволоконный кабель (англ. fiber optic).
Также абонентам доступен ряд услуг:
Интернет-безопасность: антивирус (Device Protection) и блокировка опасных сайтов (Online Security);
Выделенная линия технической поддержки (Tech Support);
Облачное хранилище файлов для резервного копирования данных (Online Backup);
Стриминговое телевидение (Streaming TV) и каталог фильмов (Streaming Movies).
За услуги клиенты могут платить ежемесячно или раз в 1–2 года. Доступны различные способы расчёта и возможность получить электронный чек.
Инструкция по выполнению проекта
Шаг 1. Загрузите данные
В начале работы над проектом подключитесь к базе данных в Sqlite. Для этого достаточно иметь доступ к файлу с расширением .db.
Чтобы его загрузить, используйте команду wget в отдельной ячейке Jupiter Notebook:
!wget https://code.s3.yandex.net/data-scientist/ds-plus-final.db
Этот способ подойдёт для выполнения проекта на платформе Практикума. Если вы планируете работать локально, то можете скачать файл, перейдя по ссылке.
Далее для подключения к базе данных используйте этот код:
import os
import pandas as pd
from sqlalchemy import create_engine
path_to_db = 'ds-plus-final.db'
engine = create_engine(f'sqlite:///{path_to_db}', echo=False)
При выполнении проекта задайте константу RANDOM_STATE. Её значение будет равно дате начала вашей работы над проектом. Например, если это 1 сентября 2022 года, то RANDOM_STATE = 10922. Используйте эту константу везде, где это необходимо: например при разделении данных на выборки.
Шаг 2. Проведите исследовательский анализ и предобработку данных
Проанализируйте исходные данные. Проверьте:
Все ли таблицы содержат данные.
Соответствует ли количество таблиц условию задачи.
Для каждой таблицы:
Проведите исследовательский анализ данных: проверьте наличие пропусков и аномалий, изучите распределение признаков.
Обработайте аномалии с учётом особенностей услуг телекоммуникации.
Объедините таблицы по ID клиента:
Каждому клиенту должно соответствовать одно наблюдение. При объединении учитывайте особенности услуг телекоммуникации.
Попробуйте сгенерировать новые признаки, которые могут пригодиться при обучении. Например, рассчитайте длительность контракта абонента.
Выделите в целевую переменную признак EndDate.
Проведите исследовательский анализ данных объединённой таблицы, при необходимости заполните пропуски и визуализируйте распределение каждого признака.
Визуализируйте соотношение ушедших и оставшихся клиентов для каждого признака.
Проведите корреляционный анализ.
Подготовьте данные для обучения:
Выберите признаки, которые будете использовать для обучения, учитывайте особенности данных и выбранных моделей. Перед вами не стоит задача временных рядов, поэтому не стоит использовать даты как входные признаки модели.
Если вы сгенерируете новый признак «Длительность контракта абонента», то не используйте его одновременно с любыми другими производными признака BeginDate — например с годом заключения договора. Это приведёт к утечке целевого признака.
Разделите данные на тренировочную и тестовую выборки (test_size = 0.25).
Подготовьте выборки для обучения, учитывайте особенности выбранных моделей.
Шаг 3. Обучите модель
Рассмотрите классы моделей:
решающее дерево или случайный лес,
бустинги,
нейронные сети.
Найдите лучшую модель для прогноза оттока клиентов. Оцените её качество метрикой ROC-AUC. Выберите лучшую модель по значению метрики на кросс-валидации.
Подберите значения как минимум двум гиперпараметрам хотя бы для одной модели. Лучше всего использовать методы автоматизированного подбора гиперпараметров: GridSearchCV, RandomizedSearchCV, OptunaSearchCV, Optuna и другие.
Шаг 4. Протестируйте модель и продемонстрируйте её работу
Проверьте качество лучшей модели на тестовой выборке. Значение метрики ROC-AUC должно быть не менее 0.85. Для интерпретируемости модели дополнительно выведите значение accuracy.
Постройте матрицу ошибок лучшей модели. Отобразите полноту и точность модели на графике.
Проанализируйте важность основных входных признаков, влияющих на отток клиентов.
Для одного из важных входных признаков проведите дополнительное исследование:
Покажите график зависимости входного и целевого признаков.
Шаг 5. Сделайте общий вывод по работе
Напишите общие выводы, предложите способы для дальнейшего улучшения модели и дайте бизнес-рекомендации заказчику.
Описание данных
Данные хранятся в Sqlite — СУБД, в которой база данных представлена одним файлом. Она состоит из нескольких таблиц:
- contract — информация о договорах;
- personal — персональные данные клиентов;
- internet — информация об интернет-услугах;
- phone — информация об услугах телефонии.
Таблица contract
customerID — ID абонента;
BeginDate — дата начала действия договора;
EndDate — дата окончания действия договора;
Type — тип оплаты: раз в год-два или ежемесячно;
PaperlessBilling — электронный расчётный лист;
PaymentMethod — тип платежа;
MonthlyCharges — расходы за месяц;
TotalCharges — общие расходы абонента.
Таблица personal
customerID — ID пользователя;
gender — пол;
SeniorCitizen — является ли абонент пенсионером;
Partner — есть ли у абонента супруг или супруга;
Dependents — есть ли у абонента дети.
Таблица internet
customerID — ID пользователя;
InternetService — тип подключения;
OnlineSecurity — блокировка опасных сайтов;
OnlineBackup — облачное хранилище файлов для резервного копирования данных;
DeviceProtection — антивирус;
TechSupport — выделенная линия технической поддержки;
StreamingTV — стриминговое телевидение;
StreamingMovies — каталог фильмов.
Таблица phone
customerID — ID пользователя;
MultipleLines — подключение телефона к нескольким линиям одновременно.
Информация о договорах актуальна на 1 февраля 2020.
Как будут проверять мой проект?
Мы подготовили критерии оценки проекта, которыми руководствуются ревьюеры. Прежде чем приступить к решению кейса, внимательно их изучите.
На что обращают внимание ревьюеры, проверяя проект:
- Как вы готовите данные к обучению?
- Выполнили все шаги по инструкции?
- Все ли условия бизнеса учтены?
- Какие выводы об исследовании задачи делаете?
- Корректно ли выполнена процедура Bootstrap?
- Предложен ли регион для разработки скважин? Обоснован ли выбор?
- Не дублируете ли код?
- Следите ли за структурой проекта и поддерживаете ли аккуратность кода?
Всё, что вам нужно знать, есть в шпаргалках и конспектах прошлых тем.
Успеха!
Дорогой друг!
Я внимательно наблюдал за твоими действиями на сайте через вебвизор.
Если ты добрался до этой страницы, то скорее всего ты проходишь платное обучение на курсах.
Благодаря моим стараниям, целую главу ты можешь закрыть за сутки, а то и быстрее.
Думаю, что сэкономленное время, ты потратил с пользой, в то время как я сидел и пыхтел над заданиями.
Лучшая благодарность от тебя, это пожертвования на мой IT - проект.
Жертвуй столько, сколько не жалко, но и не скупись, чтобы было не стыдно.
Большое тебе спасибо, за твою благодарность!
- Категория: Я.Практикум Data Science
- Просмотров: 451
Специально для тебя, есть готовое решение в формате ."IPYNB" (.ipynb), но оно платное.
При получении вами критического (красного) замечания по проекту, проведу правки.
Не можешь оплатить, тогда через "Помощь" запроси другую систему оплаты (Webmoney, Alipay, Telegram (USDT, TON)).
Проектная работа
Исследование данных о российском кинопрокате
Поздравляем!
Вы прошли курс. Теперь самое время проверить знания и решить аналитический кейс. Выполнять работу вы будете самостоятельно.
Когда закончите, отправьте работу на проверку ревьюеру. В течение суток вы получите комментарии. Их нужно учесть: доработать проект и вернуть ревьюеру обновлённый вариант.
Возможно, вы будете дорабатывать кейс по комментариям несколько раз. Не переживайте, это нормально.
Проект завершён, когда одобрены все доработки..
Описание проекта
Заказчик этого исследования — Министерство культуры Российской Федерации.
Вам нужно изучить рынок российского кинопроката и выявить текущие тренды. Уделите внимание фильмам, которые получили государственную поддержку. Попробуйте ответить на вопрос, насколько такие фильмы интересны зрителю.
Вы будете работать с данными, опубликованными на портале открытых данных Министерства культуры. Набор данных содержит информацию о прокатных удостоверениях, сборах и государственной поддержке фильмов, а также информацию с сайта КиноПоиск.
Инструкция по выполнению проекта
Шаг 1. Откройте файлы с данными и объедините их в один датафрейм
Объедините данные таким образом, чтобы все объекты из датасета mkrf_movies обязательно вошли в получившийся датафрейм.
Пути к файлам:
/datasets/mkrf_movies.csv — данные о прокатных удостоверениях.
Скачать датасет
/datasets/mkrf_shows.csv — данные о прокате в российских кинотеатрах.
Скачать датасет
Шаг 2. Предобработка данных
Проверьте типы данных в датафрейме и преобразуйте там, где это необходимо.
Изучите пропуски в датафрейме. Объясните, почему заполнили пропуски определённым образом или почему не стали это делать.
Проверьте, есть ли в данных дубликаты. Опишите причины, которые могли повлиять на появление дублей.
Изучите столбцы, которые содержат категориальные значения:
- Посмотрите, какая общая проблема встречается почти во всех категориальных столбцах;
Исправьте проблемные значения в поле type. - Изучите столбцы, которые хранят количественные значения. Проверьте, обнаружились ли в таких столбцах подозрительные данные. Как с такими данными лучше поступить?
- Добавьте новые столбцы:
Создайте столбец с информацией о годе проката. Выделите год из даты премьеры фильма;
Создайте два столбца: с именем и фамилией главного режиссёра и основным жанром фильма. В столбцы войдут первые значения из списка режиссёров и жанров соответственно; - Посчитайте, какую долю от общего бюджета фильма составляет государственная поддержка.
Шаг 3. Проведите исследовательский анализ данных
- Посмотрите, сколько фильмов выходило в прокат каждый год. Обратите внимание, что данные о прокате в кинотеатрах известны не для всех фильмов. Посчитайте, какую долю составляют фильмы с указанной информацией о прокате в кинотеатрах. Проанализируйте, как эта доля менялась по годам. Сделайте вывод о том, какой период полнее всего представлен в данных.
- Изучите, как менялась динамика проката по годам. В каком году сумма сборов была минимальной? А максимальной?
- С помощью сводной таблицы посчитайте среднюю и медианную сумму сборов для каждого года. Сравните значения и сделайте выводы.
- Определите, влияет ли возрастное ограничение аудитории («6+», «12+», «16+», «18+» и т. д.) на сборы фильма в прокате в период с 2015 по 2019 год? Фильмы с каким возрастным ограничением собрали больше всего денег в прокате? Меняется ли картина в зависимости от года? Если да, предположите, с чем это может быть связано.
Шаг 4. Исследуйте фильмы, которые получили государственную поддержку
На этом этапе нет конкретных инструкций и заданий — поищите интересные закономерности в данных. Посмотрите, сколько выделяют средств на поддержку кино. Проверьте, хорошо ли окупаются такие фильмы, какой у них рейтинг.
Шаг 5. Напишите общий вывод
Оформление
Выполните задание в Jupyter Notebook. Заполните программный код в ячейках типа code, текстовые пояснения — в ячейках типа markdown. Используйте форматирование и заголовки.
Описание данных
Таблица mkrf_movies содержит информацию из реестра прокатных удостоверений. У одного фильма может быть несколько прокатных удостоверений.
title — название фильма;
puNumber — номер прокатного удостоверения;
show_start_date — дата премьеры фильма;
type — тип фильма;
film_studio — студия-производитель;
production_country — страна-производитель;
director — режиссёр;
producer — продюсер;
age_restriction — возрастная категория;
refundable_support — объём возвратных средств государственной поддержки;
nonrefundable_support — объём невозвратных средств государственной поддержки;
financing_source — источник государственного финансирования;
budget — общий бюджет фильма;
ratings — рейтинг фильма на КиноПоиске;
genres — жанр фильма.
Обратите внимание, что столбец budget уже включает в себя полный объём государственной поддержки. Данные в этом столбце указаны только для тех фильмов, которые получили государственную поддержку.
Таблица mkrf_shows содержит сведения о показах фильмов в российских кинотеатрах.
puNumber — номер прокатного удостоверения;
box_office — сборы в рублях.
Как будут проверять мой проект?
Если вашу работу отправили на доработку, пожалуйста, не удаляйте в Jupyter-тетрадке комментарии ревьюера. Так ревьюеру будет проще проверить изменения.
Ваш проект будут оценивать по конкретным критериям. Прежде чем решать кейс, внимательно изучите их.
На что обращают внимание при проверке проектов:
как вы описываете найденные в данных проблемы;
какие методы замены типов данных, обработки пропусков и дубликатов применяете и как обосновываете принятое решение;
автоматизируете ли вы однотипные действия;
выводите ли финальные данные в сводных таблицах;
какие методы построения графиков применяете;
соблюдаете ли структуру проекта и поддерживаете аккуратность кода;
какие выводы делаете;
оставляете ли комментарии к шагам.
Всё необходимое для того, чтобы выполнить проект, есть в темах, которые вы прошли.
Успеха!
Дорогой друг!
Я внимательно наблюдал за твоими действиями на сайте через вебвизор.
Если ты добрался до этой страницы, то скорее всего ты проходишь платное обучение на курсах.
Благодаря моим стараниям, целую главу ты можешь закрыть за сутки, а то и быстрее.
Думаю, что сэкономленное время, ты потратил с пользой, в то время как я сидел и пыхтел над заданиями.
Лучшая благодарность от тебя, это пожертвования на мой IT - проект.
Жертвуй столько, сколько не жалко, но и не скупись, чтобы было не стыдно.
Большое тебе спасибо, за твою благодарность!
- Категория: Я.Практикум Data Science
- Просмотров: 494
При получении вами критического (красного) замечания по проекту, проведу правки.
Не можешь оплатить, тогда через "Помощь" запроси другую систему оплаты (Webmoney, Alipay, Telegram (USDT, TON)).
-
Проектная работа
Стартапы
Поздравляем!
Соревнование проводится на популярной платформе Kaggle, что позволит вам не только применять на практике свои знания в области анализа данных и машинного обучения, но и освоить работу с этой платформой. Срок проведения соревнований две недели.
Описание проекта
Вам предстоит работать с табличными данными, в которых представлена информация о стартапах, которые функционировали в период с 1980 по 2018 годы. Вам нужно предсказать, какие из них закроются, а какие нет.
Цель проекта:- Разработать модель машинного обучения для предсказания продолжения длительности стартапа.
- Провести полноценный разведочный анализ и сформировать рекомендации будущим создателям стартапов (какие факторы влияют на успешность стартапа).
Инструкция по выполнению проекта
- Разработанная и обученная модель.
- Освоенная платформа "Kaggle"
- Реализованное решение с использованием технологии "pipeline" (из библиотеки sklearn)
- Подготовить отчет по исследованию.
Описание данных
Данные можно скачать по ссылке
- kaggle_startups_train.csv - обучающие данные
- kaggle_startups_test.csv - тестовые данные
- kaggle_startups_sample_submit.csv - пример предсказания в правильном формате
- name - идентификатор (название) стартапа в тестовом наборе.
- ststus - целевой признак
Порядок выполнения:
- Регистрация на Kaggle
- Загрузка и ознакомление с данными
- Предварительная обработка данных
- Полноценный разведочный анализ
- Разработка новых синтетических признаков
- Проверка на мультиколлинеарность
- Отбор финального набора обучающих признаков
- Выбор и обучение моделей
- Итоговая оценка качества предсказания лучшей модели.
- Анализ важности признаков
- Подготовка отчета по исследованию
Всё, что вам нужно знать, есть в шпаргалках и конспектах прошлых тем.
Успеха!
Дорогой друг!
Я внимательно наблюдал за твоими действиями на сайте через вебвизор.
Если ты добрался до этой страницы, то скорее всего ты проходишь платное обучение на курсах.
Благодаря моим стараниям, целую главу ты можешь закрыть за сутки, а то и быстрее.
Думаю, что сэкономленное время, ты потратил с пользой, в то время как я сидел и пыхтел над заданиями.
Лучшая благодарность от тебя, это пожертвования на мой IT - проект.
Жертвуй столько, сколько не жалко, но и не скупись, чтобы было не стыдно.
Большое тебе спасибо, за твою благодарность!
- Категория: Я.Практикум Data Science
- Просмотров: 305
При получении вами критического (красного) замечания по проекту, проведу правки.
Не можешь оплатить, тогда через "Помощь" запроси другую систему оплаты (Webmoney, Alipay, Telegram (USDT, TON)).
Проектная работа
Промышленность
Поздравляем! Вы прошли курс. Самое время проверить знания и решить новую задачу машинного обучения. Выполнять работу будете самостоятельно.
Когда закончите, отправьте её на проверку ревьюеру: он пришлёт комментарии в течение суток. После этого нужно доработать проект и пройти повторную проверку.
Скорее всего, вы будете дорабатывать кейс по комментариям ещё несколько раз. Это нормально.
Проект завершён, когда ревьюер одобрит все доработки.
Описание проекта
Чтобы оптимизировать производственные расходы, металлургический комбинат «Стальная птица» решил уменьшить потребление электроэнергии на этапе обработки стали. Для этого комбинату нужно контролировать температуру сплава. Ваша задача — построить модель, которая будет её предсказывать. Заказчик хочет использовать разработанную модель для имитации технологического процесса. Изучите его, прежде чем генерировать новые признаки.
Описание процесса обработки
Сталь обрабатывают в металлическом ковше вместимостью около 100 тонн. Чтобы ковш выдерживал высокие температуры, изнутри его облицовывают огнеупорным кирпичом. Расплавленную сталь заливают в ковш и подогревают до нужной температуры графитовыми электродами. Они установлены на крышке ковша.
Сначала происходит десульфурация — из стали выводят серу и корректируют её химический состав добавлением примесей. Затем сталь легируют — добавляют в неё куски сплава из бункера для сыпучих материалов или порошковую проволоку через специальный трайб-аппарат.
Прежде чем в первый раз ввести легирующие добавки, специалисты производят химический анализ стали и измеряют её температуру. Потом температуру на несколько минут повышают, уже после этого добавляют легирующие материалы и продувают сталь инертным газом, чтобы перемешать, а затем снова проводят измерения. Такой цикл повторяется до тех пор, пока не будут достигнуты нужный химический состав стали и оптимальная температура плавки.
Дальше расплавленная сталь отправляется на доводку металла или поступает в машину непрерывной разливки. Оттуда готовый продукт выходит в виде заготовок-слябов (англ. slab, «плита»).
Инструкция по выполнению проекта
Шаг 1. Загрузите данные
В начале работы над проектом подключитесь к базе данных в Sqlite. Для этого достаточно иметь доступ к файлу с расширением .db.
Чтобы его загрузить, используйте команду wget в отдельной ячейке Jupiter Notebook:
!wget https://code.s3.yandex.net/data-scientist/ds-plus-final.db
Этот способ подойдёт для выполнения проекта на платформе Практикума. Если вы планируете работать локально, то можете скачать файл, перейдя по ссылке.
Далее для подключения к базе данных используйте этот код:
import os
import pandas as pd
from sqlalchemy import create_engine
path_to_db = 'ds-plus-final.db'
engine = create_engine(f'sqlite:///{path_to_db}', echo=False)
При выполнении проекта задайте константу RANDOM_STATE. Её значение будет равно дате начала вашей работы над проектом. Например, если это 1 сентября 2022 года, то RANDOM_STATE = 10922. Используйте эту константу везде, где это необходимо: например при разделении данных на выборки.
Шаг 2. Проведите исследовательский анализ и предобработку данных
Проанализируйте исходные данные. Проверьте:
Все ли таблицы содержат данные.
Соответствует ли количество таблиц условию задачи.
Для таблицы steel.data_arc:
Проведите исследовательский анализ данных: проверьте наличие пропусков и аномалий, изучите распределение признаков.
Вам нужно либо удалить всю партию с аномальным значением, либо заменить аномальное значение, основываясь на нормальных наблюдениях.
Попробуйте сгенерировать новые признаки, которые могут пригодиться при обучении: длительность нагрева, общую мощность, соотношение активной мощности к реактивной, количество запуска нагрева электродами и другие.
При агрегировании наблюдений по ключу учитывайте порядок арифметических действий: сначала сгенерируйте новые признаки, затем уже агрегируйте наблюдения.
Для таблицы steel.data_bulk:
Проведите исследовательский анализ данных: проверьте наличие пропусков и аномалий, изучите распределение признаков.
Обработайте пропуски. Пропуск означает, что материал не добавляли в партию.
Для таблицы steel.data_bulk_time:
Проведите исследовательский анализ данных: проверьте наличие пропусков и аномалий, изучите распределение признаков.
Проверьте данные на адекватность: например, убедитесь, что подача материала не измеряется сутками. Обратите внимание: перед вами не стоит задача временных рядов.
Для таблицы steel.data_gas:
Проведите исследовательский анализ данных: проверьте наличие пропусков и аномалий, изучите распределение признаков.
Для таблицы steel.data_temp:
Проведите исследовательский анализ данных: проверьте наличие пропусков и аномалий, изучите распределения признаков.
Целевой признак — последняя температура партии. Начальную температуру партии можно использовать как входной признак. Любые другие промежуточные значения температуры приведут к утечке целевого признака, их нельзя использовать как входные.
При агрегировании наблюдений используйте только ключи, у которых как минимум два наблюдения: первый и последний замеры температуры.
Заказчик предупредил, что значения температуры ниже 1500 градусов — аномальные.
Для таблицы steel.data_wire:
Обработайте пропуски. Пропуск означает, что материал не добавляли в эту партию.
Для таблицы steel.data_wire_time:
Проведите исследовательский анализ данных: проверьте наличие пропусков и аномалий, изучите распределение признаков.
Проверьте данные на адекватность: например, убедитесь, что подача материала не измеряется сутками. Обратите внимание: перед вами не стоит задача временных рядов.
Объедините таблицы по ключу:
Каждой партии должно соответствовать одно наблюдение.
Учтите: во все партии точно добавлялись сыпучие и проволочные материалы, везде была выполнена продувка газом и сплав всегда нагревался.
Заказчик предупредил, что иногда наблюдается асинхронность в заданном времени разных датчиков. Если вы будете выстраивать хронологию процессов для разных партий, то можете столкнуться с тем, что полученная хронология не соответствует хронологии в описании. Не стоит воспринимать это как ошибку.
Проведите исследовательский анализ данных объединённой таблицы и визуализируйте распределение каждого признака, напишите выводы.
Проведите корреляционный анализ.
Подготовьте данные для обучения:
Выберите признаки, которые будете использовать для обучения, учитывайте особенности данных и выбранных моделей.
Разделите данные на тренировочную и тестовую выборки (test_size = 0.25).
Подготовьте выборки для обучения, учитывайте особенности выбранных моделей.
Шаг 3. Обучите модель
Рассмотрите классы моделей:
решающее дерево или случайный лес,
бустинги,
нейронные сети.
Найдите лучшую модель для прогноза последней измеренной температуры. Оцените её качество метрикой MAE. Выберите лучшую модель по значению метрики на кросс-валидации.
Подберите значения как минимум двум гиперпараметрам хотя бы для одной модели. Лучше всего использовать методы автоматизированного подбора гиперпараметров: GridSearchCV, RandomizedSearchCV, OptunaSearchCV, Optuna и другие.
Шаг 4. Протестируйте модель и продемонстрируйте её работу
Проверьте качество лучшей модели на тестовой выборке. Значение метрики MAE должно быть менее 6.8.
Дополнительно можете оценить R².
Сравните результаты лучшей и константной моделей.
Проанализируйте важность основных признаков.
Для одного из важных признаков проведите дополнительное исследование:
Покажите график зависимости входного и целевого признаков.
Шаг 5. Сделайте общий вывод по работе
Напишите общие выводы, предложите способы для дальнейшего улучшения модели и дайте бизнес-рекомендации заказчику.
Описание данных
Данные хранятся в Sqlite — СУБД, в которой база данных представлена одним файлом. Она состоит из нескольких таблиц:
- steel.data_arc — данные об электродах;
- steel.data_bulk — данные об объёме сыпучих материалов;
- steel.data_bulk_time — данные о времени подачи сыпучих материалов;
- steel.data_gas — данные о продувке сплава газом;
- steel.data_temp — данные об измерениях температуры;
- steel.data_wire — данные об объёме проволочных материалов;
- steel.data_wire_time — данные о времени подачи проволочных материалов.
Таблица steel.data_arc
key — номер партии;
BeginHeat — время начала нагрева;
EndHeat — время окончания нагрева;
ActivePower — значение активной мощности;
ReactivePower — значение реактивной мощности.
Таблица steel.data_bulk
key — номер партии;
Bulk1 … Bulk15 — объём подаваемого материала.
Таблица steel.data_bulk_time
key — номер партии;
Bulk1 … Bulk15 — время подачи материала.
Таблица steel.data_gas
key — номер партии;
gas — объём подаваемого газа.
Таблица steel.data_temp
key — номер партии;
MesaureTime — время замера;
Temperature — значение температуры.
Таблица steel.data_wire
key — номер партии;
Wire1 … Wire9 — объём подаваемых проволочных материалов.
Таблица steel.data_wire_time
key — номер партии;
Wire1 … Wire9 — время подачи проволочных материалов.
Во всех файлах столбец key содержит номер партии. В таблицах может быть несколько строк с одинаковым значением key: они соответствуют разным итерациям обработки.
Условия задачи:
- Для обучения модели подходит только линейная регрессия (остальные — недостаточно предсказуемые).
- При разведке региона исследуют 500 точек, из которых с помощью машинного обучения выбирают 200 лучших для разработки.
- Бюджет на разработку скважин в регионе — 10 млрд рублей.
- При нынешних ценах один баррель сырья приносит 450 рублей дохода. Доход с каждой единицы продукта составляет 450 тыс. рублей, поскольку объём указан в тысячах баррелей.
- После оценки рисков нужно оставить лишь те регионы, в которых вероятность убытков меньше 2.5%. Среди них выбирают регион с наибольшей средней прибылью.
Данные синтетические: детали контрактов и характеристики месторождений не разглашаются.
Как будут проверять мой проект?
Мы подготовили критерии оценки проекта, которыми руководствуются ревьюеры. Прежде чем приступить к решению кейса, внимательно их изучите.
На что обращают внимание ревьюеры, проверяя проект:
- Как вы готовите данные к обучению?
- Выполнили все шаги по инструкции?
- Все ли условия бизнеса учтены?
- Какие выводы об исследовании задачи делаете?
- Корректно ли выполнена процедура Bootstrap?
- Предложен ли регион для разработки скважин? Обоснован ли выбор?
- Не дублируете ли код?
- Следите ли за структурой проекта и поддерживаете ли аккуратность кода?
Всё, что вам нужно знать, есть в шпаргалках и конспектах прошлых тем.
Успеха!
Дорогой друг!
Я внимательно наблюдал за твоими действиями на сайте через вебвизор.
Если ты добрался до этой страницы, то скорее всего ты проходишь платное обучение на курсах.
Благодаря моим стараниям, целую главу ты можешь закрыть за сутки, а то и быстрее.
Думаю, что сэкономленное время, ты потратил с пользой, в то время как я сидел и пыхтел над заданиями.
Лучшая благодарность от тебя, это пожертвования на мой IT - проект.
Жертвуй столько, сколько не жалко, но и не скупись, чтобы было не стыдно.
Большое тебе спасибо, за твою благодарность!
- Категория: Я.Практикум Data Science
- Просмотров: 517
При получении вами критического (красного) замечания по проекту, проведу правки.
Не можешь оплатить, тогда через "Помощь" запроси другую систему оплаты (Webmoney, Alipay, Telegram (USDT, TON)).
Постановка задачи
Примените знания к реальной задаче Data Science из золотодобывающей отрасли. Проект предоставлен компанией «Цифра».
Когда закончите, отправьте работу на проверку: проверяющий пришлёт комментарии в течение суток. После этого нужно доработать проект и пройти повторную проверку.
Скорее всего, вы будете дорабатывать кейс по комментариям ещё несколько раз. Это нормально.
Проект завершён, когда ревьюер одобрил все доработки.
Постановка задачи
Подготовьте прототип модели машинного обучения для «Цифры». Компания разрабатывает решения для эффективной работы промышленных предприятий.
Модель должна предсказать коэффициент восстановления золота из золотосодержащей руды. В вашем распоряжении данные с параметрами добычи и очистки.
Модель поможет оптимизировать производство, чтобы не запускать предприятие с убыточными характеристиками.
Вам нужно:
- Подготовить данные;
- Провести исследовательский анализ данных;
- Построить и обучить модель.
Чтобы выполнить проект, обращайтесь к библиотекам pandas, matplotlib и sklearn. Вам поможет их документация.
Следующий урок посвящён технологическому процессу очистки руды. Решите сами, какие детали нужны для построения модели, а какие — нет.
Описание проекта
Данные находятся в трёх файлах:
- gold_recovery_train_new.csv — обучающая выборка;
- gold_recovery_test_new.csv — тестовая выборка;
- gold_recovery_full_new.csv — исходные данные.
Данные индексируются датой и временем получения информации (признак date). Соседние по времени параметры часто похожи.
Некоторые параметры недоступны, потому что замеряются и/или рассчитываются значительно позже. Из-за этого в тестовой выборке отсутствуют некоторые признаки, которые могут быть в обучающей. Также в тестовом наборе нет целевых признаков.
Исходный датасет содержит обучающую и тестовую выборки со всеми признаками.
В вашем распоряжении сырые данные: их просто выгрузили из хранилища. Прежде чем приступить к построению модели, проверьте по нашей инструкции их на корректность.
Технологический процесс
Как золото получают из руды? Изучите внимательно стадии процесса.

Когда добытая руда проходит первичную обработку, получается дроблёная смесь. Её отправляют на флотацию (обогащение) и двухэтапную очистку.
Опишем каждую стадию:
- Флотация
Во флотационную установку подаётся смесь золотосодержащей руды. После обогащения получается черновой концентрат и «отвальные хвосты», то есть остатки продукта с низкой концентрацией ценных металлов.
На стабильность этого процесса влияет непостоянное и неоптимальное физико-химическое состояние флотационной пульпы (смеси твёрдых частиц и жидкости).
- Очистка
Черновой концентрат проходит две очистки. На выходе получается финальный концентрат и новые отвальные хвосты.
Описание данных
Технологический процесс
- Rougher feed — исходное сырье
- Rougher additions (или reagent additions) — флотационные реагенты: Xanthate, Sulphate, Depressant
- Xanthate — ксантогенат (промотер, или активатор флотации);
- Sulphate — сульфат (на данном производстве сульфид натрия);
- Depressant — депрессант (силикат натрия).
- Rougher process (англ. «грубый процесс») — флотация
- Rougher tails — отвальные хвосты
- Float banks — флотационная установка
- Cleaner process — очистка
- Rougher Au — черновой концентрат золота
- Final Au — финальный концентрат золота
Параметры этапов
- air amount — объём воздуха
- fluid levels — уровень жидкости
- feed size — размер гранул сырья
- feed rate — скорость подачи
Наименование признаков
Наименование признаков должно быть такое:
[этап].[тип_параметра].[название_параметра]
Пример: rougher.input.feed_ag
Возможные значения для блока [этап]:
- rougher — флотация
- primary_cleaner — первичная очистка
- secondary_cleaner — вторичная очистка
- final — финальные характеристики
Возможные значения для блока [тип_параметра]:
- input — параметры сырья
- output — параметры продукта
- state — параметры, характеризующие текущее состояние этапа
- calculation — расчётные характеристики
Расчёт эффективности
Вам нужно смоделировать процесс восстановления золота из золотосодержащей руды.
Эффективность обогащения рассчитывается по формуле

где:
- C — доля золота в концентрате после флотации/очистки;
- F — доля золота в сырье/концентрате до флотации/очистки;
- T — доля золота в отвальных хвостах после флотации/очистки.
Для прогноза коэффициента нужно найти долю золота в концентратах и хвостах. Причём важен не только финальный продукт, но и черновой концентрат.
Метрика качества
Для решения задачи введём новую метрику качества — sMAPE (англ. Symmetric Mean Absolute Percentage Error, «симметричное среднее абсолютное процентное отклонение»).
Она похожа на MAE, но выражается не в абсолютных величинах, а в относительных. Почему симметричная? Она одинаково учитывает масштаб и целевого признака, и предсказания.
Метрика sMAPE вычисляется так:

Обозначения:
- Значение целевого признака для объекта с порядковым номером i в выборке, на которой измеряется качество.
- Значение предсказания для объекта с порядковым номером i, например, в тестовой выборке.
- Количество объектов в выборке.
- Суммирование по всем объектам выборки (i меняется от 1 до N).
Нужно спрогнозировать сразу две величины:
- эффективность обогащения чернового концентрата rougher.output.recovery;
- эффективность обогащения финального концентрата final.output.recovery.
Инструкция по выполнению проекта
- Подготовьте данные
1.1. Откройте файлы и изучите их.
Путь к файлам:
- /datasets/gold_recovery_train_new.csv. Скачать датасет
- /datasets/gold_recovery_test_new.csv. Скачать датасет
- /datasets/gold_recovery_full_new.csv. Скачать датасет
1.2. Проверьте, что эффективность обогащения рассчитана правильно. Вычислите её на обучающей выборке для признака rougher.output.recovery. Найдите MAE между вашими расчётами и значением признака. Опишите выводы.
1.3. Проанализируйте признаки, недоступные в тестовой выборке. Что это за параметры? К какому типу относятся?
1.4. Проведите предобработку данных.
- Проанализируйте данные
2.1. Посмотрите, как меняется концентрация металлов (Au, Ag, Pb) на различных этапах очистки. Опишите выводы.
2.2. Сравните распределения размеров гранул сырья на обучающей и тестовой выборках. Если распределения сильно отличаются друг от друга, оценка модели будет неправильной.
2.3. Исследуйте суммарную концентрацию всех веществ на разных стадиях: в сырье, в черновом и финальном концентратах.
- Постройте модель
3.1. Напишите функцию для вычисления итоговой sMAPE.
3.2. Обучите разные модели и оцените их качество. Выберите лучшую модель и проверьте её на тестовой выборке. Опишите выводы.
Вам пригодятся формулы метрик качества:


Как будут проверять проект?
Мы подготовили критерии оценки проекта, которыми руководствуются наставники. Прежде чем приступить к решению кейса, внимательно их изучите.
На что обращают внимание наставники, проверяя проект:
- Насколько хорошо вы готовите и анализируете данные?
- Какие модели строите?
- Как проверяете их качество?
- Все ли шаги по инструкции выполняете?
- Следите за структурой проекта и поясняете выполненные шаги?
- Какие выводы делаете?
- Поддерживаете аккуратность кода и не дублируете его?
Всё, что вам нужно знать, есть в шпаргалках и конспектах прошлых тем.
Успеха!
- Категория: Я.Практикум Data Science
- Просмотров: 691