Построение систем машинного обучения на языке Python
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Перевод:
Слинкин Алексей Александрович
Год издания: 2023
Кол-во страниц: 304
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-89818-331-8
Артикул: 680770.03.99
Применение машинного обучения для лучшего понимания природы данных — умение, необходимое любому современному разработчику программ или аналитику. Python — замечательный язык для создания приложений машинного обучения. Благодаря своей динамичности он позволяет быстро производить разведочный анализ данных и экспериментировать с ними. Обладая первоклассным набором библиотек машинного обучения с открытым исходным кодом, Python дает возможность сосредоточиться на решаемой задаче и в то же время опробовать различные идеи. Книга начинается с краткого введения в предмет машинного обучения и знакомства с библиотеками NumPy, SciPy, scikit-learn. Но довольно быстро авторы переходят к более серьезным проектам с реальными наборами данных, в частности, тематическому моделированию, анализу корзины покупок, облачным вычислениям и др.
Издание рассчитано на программистов, пишущих на Python и желающих узнать о построении систем машинного обучения и научиться извлекать из данных ценную информацию, необходимую для решения различных задач.
- Полная коллекция по информатике и вычислительной технике
- Аналитика данных
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Искусственный интеллект и машинное обучение
- Программирование и алгоритмизация
- Программирование на Python
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Луис Педро Коэльо Вилли Ричарт Построение систем машинного обучения на языке Python
Building Machine Learning Systems with Python Second Edition Get more from your data through creating practical machine learning systems with Python Luis Pedro Coelho Willi Richert BIRMINGHAM - MUMBAI
Построение систем машинного обучения на языке Python Как извлечь больше информации из данных путем построения практичных систем машинного обучения на языке Python Луис Педро Коэльо Вилли Ричарт Москва, 2023 3-е издание, электронное
УДК 004.438Python:004.6 ББК 32.973.22 К76 К76 Коэльо, Луис. Построение систем машинного обучения на языке Python / Л. П. Коэльо, В. Ричарт ; пер. с англ. А. А. Слинкина. — 3-е изд., эл. — 1 файл pdf : 304 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-331-8 Применение машинного обучения для лучшего понимания природы данных — умение, необходимое любому современному разработчику программ или аналитику. Python — замечательный язык для создания приложений машинного обучения. Благодаря своей динамичности он позволяет быстро производить разведочный анализ данных и экспериментировать с ними. Обладая первоклассным набором библиотек машинного обучения с открытым исходным кодом, Python дает возможность сосредоточиться на решаемой задаче и в то же время опробовать различные идеи. Книга начинается с краткого введения в предмет машинного обучения и знакомства с библиотеками NumPy, SciPy, scikit-learn. Но довольно быстро авторы переходят к более серьезным проектам с реальными наборами данных, в частности, тематическому моделированию, анализу корзины покупок, облачным вычислениям и др. Издание рассчитано на программистов, пишущих на Python и желающих узнать о построении систем машинного обучения и научиться извлекать из данных ценную информацию, необходимую для решения различных задач. УДК 004.438Python:004.6 ББК 32.973.22 Электронное издание на основе печатного издания: Построение систем машинного обучения на языке Python / Л. П. Коэльо, В. Ричарт ; пер. с англ. А. А. Слинкина. — 2-е изд. — Москва : ДМК Пресс, 2016. — 304 с. — ISBN 978-5-97060-330-7. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-331-8 © 2015 Packt Publishing © Оформление, перевод на русский язык, ДМК Пресс, 2016
Оглавление Об авторах ...................................................... 11 О рецензентах.................................................. 13 Предисловие ................................................... 15 О содержании книги ...................................................................... 15 Что необходимо для чтения этой книги .......................................... 17 На кого рассчитана эта книга ........................................................ 17 Графические выделения................................................................ 17 Отзывы .......................................................................................... 18 Поддержка клиентов ..................................................................... 18 Загрузка кода примеров ....................................................................... 19 Опечатки ............................................................................................... 19 Нарушение авторских прав ................................................................... 19 Вопросы ............................................................................................... 20 Глава 1. Введение в машинное обучение на языке Python ................................................ 21 Машинное обучение и Python – команда мечты ............................. 22 Что вы узнаете (и чего не узнаете) из этой книги ........................... 23 Что делать, если вы застряли ........................................................ 25 Приступая к работе ....................................................................... 26 Введение в NumPy, SciPy и matplotlib .................................................... 26 Установка Python .................................................................................. 27 NumPy как средство эффективной и SciPy как средство интеллектуальной обработки данных .................................................... 27 Изучаем NumPy..................................................................................... 27 Изучаем SciPy ....................................................................................... 32 Наше первое (простенькое) приложение машинного обучения ........33 Чтение данных ...................................................................................... 33 Предварительная обработка и очистка данных ..................................... 35 Выбор подходящей модели и обучающего алгоритма ........................... 36 Резюме ......................................................................................... 46
Оглавление Глава 2. Классификация в реальной жизни ............ 47 Набор данных Iris ........................................................................... 48 Визуализация – первый шаг к цели ....................................................... 48 Построение первой модели классификации ......................................... 50 Оценка качества – резервирование данных и перекрестная проверка ............................................................................................... 53 Построение более сложных классификаторов ............................... 57 Более сложный набор данных и более сложный классификатор .... 58 Набор данных Seeds ............................................................................. 58 Признаки и подготовка признаков......................................................... 59 Классификация по ближайшему соседу ................................................ 60 Классификация с помощью scikit-learn .......................................... 61 Решающие границы .............................................................................. 62 Бинарная и многоклассовая классификация ................................. 65 Резюме ......................................................................................... 66 Глава 3. Кластеризация – поиск взаимосвязанных сообщений ...................................................... 68 Измерение сходства сообщений ................................................... 69 Как не надо делать ................................................................................ 69 Как надо делать .................................................................................... 70 Предварительная обработка – количество общих слов как мера сходства ......................................................................... 71 Преобразование простого текста в набор слов ..................................... 71 Развитие концепции стоп-слов ............................................................. 80 Чего мы достигли и к чему стремимся ................................................... 81 Кластеризация .............................................................................. 82 Метод K средних ................................................................................... 83 Тестовые данные для проверки наших идей .......................................... 85 Кластеризация сообщений ................................................................... 87 Решение исходной задачи ............................................................. 88 Другой взгляд на шум ........................................................................... 90 Настройка параметров ......................................................................... 92 Резюме ......................................................................................... 92 Глава 4. Тематическое моделирование ................. 93 Латентное размещение Дирихле ................................................... 93 Построение тематической модели ................................................ 95 Сравнение документов по темам ................................................. 100 Моделирование всей википедии ......................................................... 103 Выбор числа тем ......................................................................... 106
Оглавление Резюме ....................................................................................... 107 Глава 5. Классификация – выявление плохих ответов ......................................................... 109 План действий............................................................................. 109 Учимся классифицировать классные ответы .............................. 110 Подготовка образца ............................................................................ 110 Настройка классификатора................................................................. 110 Получение данных ....................................................................... 111 Сокращение объема данных ............................................................... 112 Предварительная выборка и обработка атрибутов .............................. 112 Что считать хорошим ответом? ........................................................... 114 Создание первого классификатора ............................................. 115 Метод k ближайших соседей ............................................................... 115 Подготовка признаков ........................................................................ 116 Обучение классификатора .................................................................. 117 Измерение качества классификатора ................................................. 117 Проектирование дополнительных признаков ...................................... 118 Как поправить дело? ................................................................... 121 Дилемма смещения-дисперсии .......................................................... 122 Устранение высокого смещения ......................................................... 122 Устранение высокой дисперсии .......................................................... 123 Низкое или высокое смещение? ......................................................... 123 Логистическая регрессия ............................................................ 125 Немного математики на простом примере .......................................... 126 Применение логистической регрессии к задаче классификации ........ 128 Не верностью единой – точность и полнота ................................. 129 Упрощение классификатора ........................................................ 133 К поставке готов! ......................................................................... 134 Резюме ....................................................................................... 135 Глава 6. Классификация II – анализ эмоциональной окраски......................................................... 136 План действий............................................................................. 136 Чтение данных из Твиттера .......................................................... 137 Введение в наивный байесовский классификатор ....................... 137 О теореме Байеса ............................................................................... 138 Что значит быть наивным .................................................................... 139 Использование наивного байесовского алгоритма для классификации ............................................................................. 140 Учет ранее не встречавшихся слов и другие тонкости ......................... 143 Борьба с потерей точности при вычислениях ...................................... 144
Оглавление Создание и настройка классификатора ....................................... 147 Сначала решим простую задачу .......................................................... 147 Использование всех классов............................................................... 150 Настройка параметров классификатора ............................................. 153 Очистка твитов ............................................................................ 157 Учет типов слов ........................................................................... 159 Определение типов слов ..................................................................... 159 Удачный обмен с помощью SentiWordNet ............................................ 162 Наш первый оценщик .......................................................................... 164 Соберем все вместе ........................................................................... 166 Резюме ....................................................................................... 167 Глава 7. Регрессия .......................................... 168 Прогнозирование стоимости домов с помощью регрессии ......... 168 Многомерная регрессия ..................................................................... 172 Перекрестная проверка для регрессии ............................................... 173 Регрессия со штрафом, или регуляризованная регрессия ............174 Штрафы L1 и L2................................................................................... 175 Lasso и эластичная сеть в библиотеке scikit-learn ................................ 176 Визуализация пути в Lasso .................................................................. 177 Сценарии P-больше-N ........................................................................ 178 Пример, основанный на текстовых документах ................................... 179 Объективный подход к заданию гиперпараметров .............................. 181 Резюме ....................................................................................... 185 Глава 8. Рекомендации .................................... 186 Прогноз и рекомендование оценок ............................................. 186 Разделение данных на обучающие и тестовые .................................... 188 Нормировка обучающих данных .......................................................... 189 Рекомендование на основе ближайших соседей ................................. 191 Регрессионный подход к рекомендованию ......................................... 195 Комбинирование нескольких методов ................................................ 196 Анализ корзины ........................................................................... 199 Получение полезных прогнозов .......................................................... 200 Анализ корзин покупок в супермаркете .............................................. 201 Поиск ассоциативных правил .............................................................. 204 Более сложный анализ корзины .......................................................... 206 Резюме ....................................................................................... 207 Глава 9. Классификация по музыкальным жанрам ......................................................... 208 План действий............................................................................. 208 Получение музыкальных данных ......................................................... 209 Преобразование в формат WAV ........................................................... 209
Оглавление Взгляд на музыку ......................................................................... 210 Разложение на синусоидальные волны ............................................... 211 Применение БПФ для построения первого классификатора ....... 213 Повышение гибкости эксперимента .................................................... 213 Обучение классификатора .................................................................. 215 Применение матрицы неточностей для измерения верности в многоклассовых задачах .................................................................. 215 Альтернативный способ измерения качества классификатора с помощью рабочей характеристики приемника ................................. 218 Повышение качества классификации с помощью мел-частотных кепстральных коэффициентов..................................................... 220 Резюме ....................................................................................... 225 Глава 10. Машинное зрение ............................. 227 Введение в обработку изображений ............................................ 227 Загрузка и показ изображения ............................................................ 228 Бинаризация ....................................................................................... 230 Гауссово размывание .......................................................................... 231 Помещение центра в фокус................................................................. 233 Простая классификация изображений ................................................ 235 Вычисление признаков по изображению ............................................. 236 Создание собственных признаков ...................................................... 237 Использование признаков для поиска похожих изображений ............. 239 Классификация на более трудном наборе данных ............................... 241 Локальные представления признаков ......................................... 242 Резюме ....................................................................................... 246 Глава 11. Понижение размерности .................... 248 План действий............................................................................. 249 Отбор признаков ......................................................................... 249 Выявление избыточных признаков с помощью фильтров .................... 250 Применение оберток для задания модели вопросов о признаках ........ 257 Другие методы отбора признаков ....................................................... 259 Выделение признаков ................................................................. 260 Об анализе главных компонент ........................................................... 260 Ограничения PCA и чем может помочь LDA ......................................... 263 Многомерное шкалирование ....................................................... 264 Резюме ....................................................................................... 267 Глава 12. Когда данных больше ......................... 269 Что такое большие данные .......................................................... 269 Использование jug для построения конвейера задач .......................... 270 Введение в задачи jug ......................................................................... 271
Оглавление Заглянем под капот ............................................................................. 273 Применение jug для анализа данных ................................................... 275 Повторное использование частичных результатов .............................. 278 Работа с Amazon Web Services ..................................................... 279 Создание виртуальной машины .......................................................... 281 Установка Python-пакетов на Amazon Linux .......................................... 285 Запуск jug на облачной машине .......................................................... 286 Автоматизированная генерация кластеров с помощью StarCluster ..... 287 Резюме ....................................................................................... 291 Где получить дополнительные сведения о машинном обучении ..................................... 293 Онлайновые курсы ...................................................................... 293 Книги .......................................................................................... 293 Вопросно-ответные сайты .......................................................... 294 Блоги .......................................................................................... 294 Источники данных ....................................................................... 295 Участие в конкурсах .................................................................... 295 Что не вошло в книгу ................................................................... 295 Резюме ....................................................................................... 296 Предметный указатель .................................... 297