Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Построение систем машинного обучения на языке Python

Покупка
Артикул: 680770.02.99
К покупке доступен более свежий выпуск Перейти
Применение машинного обучения для лучшего понимания природы данных - умение, необходимое любому современному разработчику программ или аналитику. Python - замечательный язык для создания приложении машинного обучения. Благодаря своей динамичности он позволяет быстро производить разведочный анализ данных и экспериментировать с ними. Обладая первоклассным набором библиотек машинного обучения с открытым исходным кодом, Python дает возможность сосредоточиться на решаемой задаче и в то же время опробовать различные идеи. Книга начинается с краткого введения в предмет машинного обучения н знакомства с библиотеками NumPy, SciPy, scikit-learn. Но довольно быстро авторы переходят к более серьезным проектам с реальными наборами данных, в частности, тематическому моделированию, анализу корзины покупок, облачным вычислениям и др. Издание рассчитано на программистов, пишущих на Python и желающих узнать о построении систем машинного обучения и научиться извлекать из данных ценную информацию, необходимую для решения различных задач.
Коэльо, Луис Педро Построение систем машинного обучения на языке Python / Луис Педро Коэльо, Вилли Ричарт ; пер. с англ. А. А. Слинкина. - 2-е изд. - Москва : ДМК Пресс, 2016. - 302 с. - ISBN 978-5-97060-330-7. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1027824 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
www.дмк.рф

Интернет-магазин www.dmkpress.com
Книга-почтой: orders@alians-kniga.ru
Оптовая продажа: «Альянс-книга»
(499)782-3889, books@alians-kniga.ru

Луис Педро Коэльо         Вилли Ричарт 

Применение машинного обучения для лучшего понимания природы данных 
— умение, необходимое любому современному разработчику программ 
или аналитику. Python — замечательный язык для создания приложений 
машинного обучения. Благодаря своей динамичности он позволяет быстро 
производить разведочный анализ данных и экспериментировать с ними. 
Обладая первоклассным набором библиотек машинного обучения с открытым 
исходным кодом, Python дает возможность сосредоточиться на решаемой 
задаче и в то же время опробовать различные идеи.
Книга начинается с краткого введения в предмет машинного обучения и 
знакомства с библиотеками NumPy, SciPy, scikit-learn. Но довольно быстро 
авторы переходят к более серьезным проектам с реальными наборами данных, 
в частности, тематическому моделированию, анализу корзины покупок, 
облачным вычислениям и др.  

Краткое содержание книги:
.  построение систем классификации,
    применимых к тексту, изображениям 
    и звуковой информации;
.  использование NumPy, SciPy, scikit-learn —
    написанных на Python библиотек 
    с открытым исходным кодом, 
    предназначенных для научных расчетов 
    и машинного обучения;
.  построение тематической модели всей 
    википедии;
.  использование служб Amazon 
    для выполнения анализа в облаке;
.  отладка программ, решающих задачи  
    машинного обучения;
.  знакомство с системой рекомендования 
    на примере анализа корзины покупок;
.  рекомендация товаров пользователям 
    на основе их прошлых покупок.

Кому адресована эта книга

Книга рассчитана на программистов, 
пишущих на Python и желающих 
узнать о построении систем 
машинного обучения и научиться 
извлекать из данных ценную 
информацию, необходимую для 
решения различных задач.

Построение систем машинного обучения
на языке Python

Построение систем
машинного обучения
          на языке Python

9 785970 603307

ISBN 978-5-97060-330-7

Луис Педро Коэльо

Вилли Ричарт

Построение систем 
машинного обучения 

на языке 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

Луис Педро Коэльо
Вилли Ричарт

Москва, 2016

УДК   004.438Python:004.6
ББК   32.973.22

К76

К76     Луис Педро Коэльо, Вилли Ричарт

Построение систем машинного обучения на языке Python. 2-е издание / пер. с англ. Слинкин А. А. – М.: ДМК Пресс, 2016. – 302 с.: ил.

             ISBN 978-5-97060-330-7

Применение машинного обучения для лучшего понимания при
роды данных – умение, необходимое любому современному разработчику программ или аналитику. Python – замечательный язык для 
создания приложений машинного обучения. Благодаря своей динамичности он позволяет быстро производить разведочный анализ данных и экспериментировать с ними. Обладая первоклассным набором 
библиотек машинного обучения с открытым исходным кодом, Python 
дает возможность сосредоточиться на решаемой задаче и в то же время 
опробовать различные идеи.

Книга начинается с краткого введения в предмет машинного обу
чения и знакомства с библиотеками NumPy, SciPy, scikit-learn. Но довольно быстро авторы переходят к более серьезным проектам с реальными наборами данных, в частности, тематическому моделированию, 
анализу корзины покупок, облачным вычислениям и др.  

Издание рассчитано на программистов, пишущих на Python и же
лающих узнать о построении систем машинного обучения и научиться 
извлекать из данных ценную информацию, необходимую для решения различных задач.

Original English language edition published by Published by Packt Publishing Ltd., 

Livery Place, 35 Livery Street, Birmingham B3 2PB, UK. Copyright © 2015 Packt 
Publishing. Russian-language edition copyright (c) 2015 by DMK Press. All rights reserved.

Все права защищены. Любая часть этой книги не может быть воспроизведена 

в какой бы то ни было форме и какими бы то ни было средствами без письменного 
разрешения владельцев авторских прав.

Материал, изложенный в данной книге, многократно проверен. Но, поскольку 

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

ISBN 978-1-78439-277-2 (англ.)                     Copyright © 2015 Packt Publishing 
ISBN 978-5-97060-330-7 (рус.)                       © Оформление, перевод на русский язык,

          ДМК Пресс, 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

К покупке доступен более свежий выпуск Перейти