ebook img

Машинное обучение в Python. Модуль 1. Предварительная подготовка данных в Python, 1-я часть PDF

584 Pages·2021·22.679 MB·Russian(Old)
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Машинное обучение в Python. Модуль 1. Предварительная подготовка данных в Python, 1-я часть

Артем Груздев КУРС версия 7.5 PRO МАШИННОЕ ОБУЧЕНИЕ В PYTHON Модуль 1. Предварительная подготовка данных Первая часть Явсталнастол, чтобы напомнитьсебе, чтонадо смотретьнавещисразных https://www.facebook.com/groups/gewissta точекзрения. Москва 2021 ЭКОСИСТЕМА КУРСА Модули курса ü Модуль 1. Предварительная подготовка данных (1-я часть) Решебник ü Модуль 1. Предварительная подготовка данных (2-я часть) ü Модуль 1. Предварительная подготовка данных (3-я часть) ü Модуль 2. Метрики качества и валидация ü Модуль 3. Логистическая регрессия ü Модуль 4. Деревья решений ü Модуль 5. Случайный лес ü Модуль 6. Градиентный бустинг (1-я часть) Модуль 6. Градиентный бустинг (2-я часть) Модуль 6. Градиентный бустинг (3-я часть) ЭКОСИСТЕМА КУРСА Модули курса ü Модуль 7. Кластерный анализ ü Модуль 8. Стекинг ü Модуль 9. Прогнозирование временных рядов Модуль 10. Анализ выживаемости Модуль 11. Мониторинг и тестирование Сборники статей к курсу Программный код к курсу и статьям сборника https://github.com/Gewissta/Course_ML Сборник статей к курсу (I выпуск) Слепок с диска Сборник статей к курсу (II выпуск) Сборник статей к курсу (III выпуск) ЭКОСИСТЕМА КУРСА Переводные книги Авторские книги «Изучаем pandas» Книга Андреаса Мюллера «Введение в машинное обучение с помощью Python» Программный код к книге https://github.com/Gewissta/LP/tree/master/Notebooks Программный код к книге https://github.com/Gewissta/Introduction_to_ML_ Хорошее дополнение к книге «Изучаем pandas»: with_Python_russian_translation Книга Ted Petrou «Master Data Analysis with Python Книга Наима Сиддики «Скоринговые карты для (Volume 1)» оценки кредитного риска» Рубрика «Ответы на Ваши вопросы по прогнозному моделированию» Материалы 2018 года Новые материалы ODS-интегратор YouTube-канал РЕКОМЕНДАЦИИ Критическое мышление, грамотное использование статистических тестов, глубокое понимание работы линейных моделей и байесовского подхода Фрэнк Харрелл Блог https://www.fharrell.com Ответы на вопросы с сайта Cross Validated https://stats.stackexchange.com/users/4253/frank-harrell Книга «Regression Modeling Strategies» Материалы «Biostatistics for Biomedical Research» Эндрю Гельман Личная страница на сайте Колумбийского университета http://www.stat.columbia.edu/~gelman/ Блог https://statmodeling.stat.columbia.edu Глубокое понимание методов классического машинного обучения Тревор Хасти, Роберт Тибширани и Джером Фридман Книга «The Elements of Statistical Learning: Prediction, Inference and Data Mining» https://web.stanford.edu/~hastie/Papers/ESLII.pdf СОДЕРЖАНИЕ Авторские права 9 I. Вводная часть 10 I.1. Типы данных 11 I.2. Типы переменных 12 I.3. Функция, производная, частная производная, градиент, градиентный спуск 18 II. Знакомство с Python 35 II.1. Введение 35 II.2. IPython и Jupyter Notebook 67 II.3. NumPy 78 II.3a. Numba 109 II.4. SciPy 116 II.5. pandas 122 II.5.1. Создание объекта DataFrame 123 II.5.2. Доступ к данным внутри объекта DataFrame 124 II.5.3. Типы переменных 128 II.5.4. Неверное определение типа из-за неправильного десятичного разделителя 130 II.5.5. Чтение больших файлов данных чанками 132 II.5a. datatable 135 II.6. matplotlib 142 6 СОДЕРЖАНИЕ II.7. scikit-learn 157 II.7.1. Загрузка данных 157 II.7.2. Валидация 160 II.7.3. Классы, строящие модели предварительной подготовки данных, и классы, строящие модели машинного обучения 165 II.7.4. Работа с классами, строящими модели предварительной подготовки данных 166 II.7.5. Работа с классами, строящими модели машинного обучения 193 II.7.6. Наиболее часто используемые классы и функции 243 II.7.6.1. Классы MissingIndicator и SimpleImputer 243 II.7.6.2. Класс OneHotEncoder, функция get_dummies(), ускорение вычислений с помощью разреженных матриц в CSR-формат 255 II.7.6.3. Класс Pipeline 269 II.7.6.4. Класс ColumnTransformer 277 II.7.6.5. Функции cross_val_score(), cross_val_predict() и cross_validate() 290 II.7.6.6. Классы GridSearchCV и RandomizedSearchCV 306 II.7.6.6.1. Обычный поиск оптимальных значений гиперпараметров моделей предварительной подготовки и модели машинного обучения 311 II.7.6.6.2. Обычный поиск оптимальных значений гиперпараметров моделей предварительной подготовки и модели машинного обучения с добавлением строки прогресса 321 II.7.6.6.3. Случайный поиск оптимальных значений гиперпараметров моделей предварительной подготовки и модели машинного обучения 324 II.7.6.6.4. Классический перебор значений гиперпараметров для CatBoost при обработке категориальных признаков «как есть» (заданы индексы категориальных признаков) 327 II.7.6.6.5. Отбор оптимальной модели предварительной подготовки данных в рамках отдельного трансформера 332 II.7.6.6.6. Отбор оптимального метода машинного обучения среди разных методов машинного обучения (перебор значений гиперпараметров с отдельной предобработкой данных под каждый метод машинного обучения) 340 II.7.6.6.7. Решаем задачу с Kaggle 355 7 СОДЕРЖАНИЕ II.7.6.6a. Байесовская оптимизация гиперпараметров: библиотеки hyperopt, skopt и optuna 367 II.7.6.6a.1. Недостатки обычного поиска и случайного поиска 367 II.7.6.6a.2. Знакомство с байесовской оптимизацией 369 II.7.6.6a.3. Последовательная оптимизация по модели (Sequential model-based optimization – SMBO) 373 II.7.6.6a.4. Реализации последовательной оптимизации по модели 386 II.7.6.6a.5. Библиотека hyperopt 386 II.7.6.6a.6. Библиотека skopt 400 II.7.6.6a.7. Библиотека optuna 411 II.7.6.7. Классы PowerTransformer, KBinsDiscretizer и FunctionTransformer 424 II.7.6.8. Написание собственных классов для применения в конвейере 436 II.7.6.9. Модификация классов библиотеки scikit-learn для работы с датафреймами 455 II.7.6.10. Классы CountVectorizer и TfidfVectorizer 464 II.8. Dask 490 II.8.1. Общее знакомство 490 II.8.1.1. Массив Dask (Dask Array) 492 II.8.1.2. Датафрейм Dask (Dask DataFrame) 499 II.8.1.3. Мешок Dask (Dask Bag) 502 II.8.1.4. Интерфейс Delayed 503 II.8.2. Машинное обучение 507 II.8.2.1. Машинное обучение с помощью библиотеки dask-ml 507 II.8.2.2. Построение конвейера в Dask 521 II.9. Docker 526 II.9.1. Введение 526 II.9.2. Запуск контейнера Docker 529 II.9.3. Создание контейнера Docker с помощью Dockerfile 530 8 СОДЕРЖАНИЕ III. H2O 539 III.1. Установка пакета h2o для Python 539 III.2. Запуск кластера H2O 540 III.3. Преобразование данных во фреймы H2O 541 III.4. Знакомство с содержимым фрейма 542 III.5. Определение имени зависимой переменной и списка имен предикторов 546 III.6. Построение модели машинного обучения 546 III.7. Вывод модели 547 III.8. Получение прогнозов 548 III.9. Поиск оптимальных значений гиперпараметров по сетке 548 III.10. Извлечение наилучшей модели по итогам поиска по сетке 552 III.11. Класс H2OAutoML 553 IV. Google Colab 565 IV.1. Общее знакомство 565 IV.2. Регистрация и создание папки проекта 566 IV.3. Подготовка блокнота Colab 573 9 АВТОРСКИЕ ПРАВА Использованы пособия http://mathus.ru/math/function.pdf, http://mathus.ru/math/grafik.pdf, 18-26 http://mathus.ru/math/der.pdf, http://mathus.ru/phys/fxyz.pdf, подготовленные Игорем Вячеславовичем Яковлевым. Игорь занимается репетиторством школьников по математике и физике. Обратная связь с автором http://mathus.ru/contacts.php. Использованы книги: Уэс Маккинни «Python и анализ данных», Пол Бэрри «Изучаем 35-66 программирование на Python» Использованы материалы обзорного семинара по возможностям библиотеки matplotlib, 142-143 подготовленного студентами IT Data Science Analytic School https://indico- hlit.jinr.ru/event/151/attachments/340/492/Project_school_Matplotlib_original.pdf. Рисунок взят из курса Юрия Петрова по Python https://www.yuripetrov.ru/edu/python/ch_12_01.html#id14 142 Обратная связь с автором https://vk.com/python_yup. 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.