diff --git a/labs/lab2.md b/labs/lab2.md index fe7f115..a034c68 100644 --- a/labs/lab2.md +++ b/labs/lab2.md @@ -26,8 +26,8 @@ ----- 10. С использованием библиотеки `sklearn` создать дополнительные признаки, обучить модель, залогировать ее. 11. (*) Сгенерировать новые признаки с использованием библиотект `autofeat`, обучить модель, залогировать ее. -12. С использованием библиотеки `mlxtend` отобрать N наиболее важных признаков. N выбирается с учетом количества признаков на предыдущем шаге, ориентировочный диапазон - от 20% до 70%. Обучить модель, залогировать ее. -13. (*) Повторите предыдущий пункт с помощью `sklearn`, проанализируйте, схожие ли признаки выбраны другим алгоритмом? +12. С использованием библиотеки `mlxtend` отобрать N наиболее важных признаков. N выбирается с учетом количества признаков на предыдущем шаге, ориентировочный диапазон - от 20% до 70%. Обучить модель, залогировать ее. +13. (*) Повторите предыдущий пункт, изменив направление отбора признаков и\или с помощью подхода `RFE`. Проанализируйте, схожие ли признаки выбраны другим алгоритмом? 14. С помощью `optuna` настроить оптимальные параметры для модели, показывающей лучший результат. Обучить модель, залогировать ее, зарегистрировать очередную версию. 15. (*) Обучить модель с помощью алгоритма [CatBoost](https://catboost.ai/) с выбранным вами набором признаков, залогировать ее, зарегистрировать очередную версию. Не забудьте воспользоваться оберткой (flavour) catboost. ----- @@ -200,7 +200,7 @@ mlflow.sklearn.log_model(...) ### 13 (*) -Повторите предыдущий пункт с `SequentialFeatureSelector` последовательно удаляя признаки (`forward=False`). И\или с помощью `RFE` из `sklearn`. +Повторите предыдущий пункт с `SequentialFeatureSelector` последовательно удаляя признаки (`forward=False`), и\или с помощью `RFE` из `sklearn`. Проанализируйте, схожие ли признаки выбраны другим алгоритмом? @@ -208,12 +208,12 @@ mlflow.sklearn.log_model(...) ### 14 -Используйте модель, которая показала лучший результат. +ИДалее используем модель, которая показала лучший результат. У `Random Forest` будем настраивать параметры: -* количество деревьев от 1 до 20 -* глубина дерева от 1 до 10 -* max_features в интевале от 0.1 до 1 +* количество деревьев +* глубина дерева +* max_features в интервале от 0.1 до 1.0 Проведите не менее 10 trails по подбору опитмальных гиперпараметров. Настраивать качество будем по метрике `mae` для регрессии и `f1` для классификации. Обратите внимание и явно укажите в коде на то, что нужно делать с метрикой - максимизировать или минимизировать. @@ -223,7 +223,7 @@ mlflow.sklearn.log_model(...) ### 15 (*) Обучить модель с помощью алгоритма [CatBoost](https://catboost.ai/) с выбранным вами набором признаков. Пункт аналогичен предыдущему. -Залогируйте модель. Не забудьте воспользоваться оберткой (flavour) catboost. +Залогируйте модель. Не забудьте воспользоваться оберткой (flavour) `catboost`. Зарегистрируйте данную модель как третью версию. Можно через интерфейс, можно с использованием API. @@ -239,7 +239,7 @@ mlflow.sklearn.log_model(...) * файл `requirements.txt` * список используемых столбцов -В реестре моделей установить ей тэг `Production` +Зарегистрируйте эту версию в реестре моделей и установите ей тэг `Production` ### 17 Сохранить в папке `research` и закоммитить два скриншота из интерфейса mlflow: @@ -258,7 +258,7 @@ mlflow.sklearn.log_model(...) В `.gitignore` добавить в исключения папку с артефактами mlflow, и базу `mlruns.db`. -> Убедитесь, что скрипт по запуску **должен быть обязательно закоммичен!** +> Убедитесь, что скрипт по запуску mlflow **должен быть обязательно закоммичен!** ### 19 @@ -272,7 +272,7 @@ mlflow.sklearn.log_model(...) 1. Для чего нужен этап feature extraction? 1. Для чего нужен этап feature selection? -1. Для чего используется фреймворл mlfow? +1. Для чего используется фреймворк mlflow? 1. Что такое "гиперпараметры модели" для чего и как их настраивать? 1. Как выглядит пайплайн работы модели, какие шаги в нем могут быть?