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

Крупномасштабное машинное обучение вместе с Python

Покупка
Артикул: 812970.01.99
Доступ онлайн
639 ₽
В корзину
Главная задача настоящей книги состоит в том, чтобы предоставить способы применения мощных методов машинного обучения с открытым исходным кодом в крупномасштабных проектах без привлечения дорогостоящих корпоративных решений или больших вычислительных кластеров. Описаны масштабируемое обучение в Scikit-learn, нейронные сети и глубокое обучение с использованием Theano, H2O и TensorFlow. Рассмотрены классификационные и регрессионные деревья, а также обучение без учителя. Охвачены эффективные методы машинного обучения в вычислительной среде MapReduce на платформах Hadoop и Spark на языке Python.
Шарден, Б. Крупномасштабное машинное обучение вместе с Python : практическое руководство / Б. Шарден, Л. Массарон, А. Боскетти ; пер. с анг. А. В. Логунова. - Москва : ДМК Пресс, 2018. - 358 с. - ISBN 978-5-97060-506-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/2083416 (дата обращения: 17.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Бастиан Шарден, Лука Массарон, Альберто Боскетти

Крупномасштабное  
машинное обучение  
вместе с Python
Bastiaan Sjardin, Luca Massaron, Alberto Boschetti

Large Scale  
Machine Learning  
with Python

Learn to build powerful machine learning models quickly 
and deploy large-scale predictive applications

BIRMINGHAM – MUMBAI
Бастиан Шарден, Лука Массарон, Альберто Боскетти

Крупномасштабное  
машинное обучение  
вместе с Python

Учитесь быстро создавать мощные модели машинного обучения  
и развертывать крупномасштабные приложения прогнозирования

Москва, 2018
УДК 004.438Python:004.6
ББК 32.973.22

C33

Шарден Б., Массарон Л., Боскетти А.

Ш25 Крупномасштабное машинное обучение вместе с Python / пер. с анг. 

А. В. Логунова. – М.: ДМК Пресс, 2018. – 358 с.: ил.  

ISBN 978-5-97060-506-6

Главная задача настоящей книги состоит в том, чтобы предоставить способы при-

менения мощных методов машинного обучения с открытым исходным кодом в крупномасштабных 
проектах без привлечения дорогостоящих корпоративных решений или 
больших вычислительных кластеров. Описаны масштабируемое обучение в Scikit-learn, 
нейронные сети и глубокое обучение с использованием Theano, H2O и TensorFlow. 
Рассмотрены классификационные и регрессионные деревья, а также обучение без 
учителя. Охвачены эффективные методы машинного обучения в вычислительной среде 
MapReduce на платформах Hadoop и Spark на языке Python.

УДК 004.438Python:004.6
ББК 32.973.22

First published in the English language under the title 'Large Scale Machine Learning with 

Python – (9781785887215).

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

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

ISBN 978-1-78588-721-5 (анг.) 
Copyright © 2016 Packt Publishing

ISBN 978-5-97060-506-6 (рус.) 
© Оформление, издание, перевод, ДМК Пресс, 2018
Содержание

Об авторах .........................................................................................................................9

О рецензентах .................................................................................................................10

Предисловие ...................................................................................................................11

Глава 1. Первые шаги к масштабируемости .............................................................20
Подробное объяснение термина масштабируемости ....................................................21

Приведение крупномасштабных примеров ...............................................................23
Введение в язык Python ...............................................................................................24
Вертикальное масштабирование средствами Python ................................................25
Горизонтальное масштабирование средствами Python ............................................26

Python для крупномасштабного машинного обучения .................................................27

Выбор между Python 2 и Python 3 ...............................................................................27
Инсталляция среды Python ..........................................................................................28
Пошаговая установка ...................................................................................................28
Установка библиотек ....................................................................................................29
Способы обновления библиотек .................................................................................31
Научные дистрибутивы ...............................................................................................32
Введение в Jupyter ........................................................................................................33

Библиотеки Python ...........................................................................................................37

NumPy ............................................................................................................................37
SciPy ...............................................................................................................................37
Pandas ............................................................................................................................37
Scikit-learn .....................................................................................................................38

Резюме ...............................................................................................................................44

Глава 2. Масштабируемое обучение в Scikit-learn ..................................................46
Внеядерное обучение .......................................................................................................47

Подвыборка как приемлемый вариант ......................................................................48
Оптимизация по одному прецеденту за раз  .............................................................48
Создание системы внеядерного обучения  ................................................................50

Потоковая передача данных из источников ...................................................................51

Наборы данных для реальных дел ..............................................................................51
Первый пример – потоковая передача набора данных Bike-sharing ........................54
Использование инструментов ввода-вывода библиотеки pandas ............................56
Работа с базами данных ...............................................................................................57
Особое внимание упорядочению прецедентов .........................................................61

Стохастическое обучение .................................................................................................63

Пакетный градиентный спуск .....................................................................................64
Стохастический градиентный спуск ...........................................................................67
Реализация алгоритма SGD в библиотеке Scikit-learn  ..............................................68
Определение параметров обучения алгоритма SGD .................................................70

Управление признаками на потоках данных .................................................................72

Описание целевой переменной ..................................................................................76
 Содержание

Хэширование признаков .............................................................................................79
Другие элементарные преобразования ......................................................................82
Тестирование и перекрестная проверка в потоке .....................................................83
Применение алгоритма SGD в деле ............................................................................84

Резюме ...............................................................................................................................88

Глава 3. Быстрообучающиеся реализации машин SVM .........................................89
Наборы данных для самостоятельного экспериментирования  ...................................90

Набор данных Bike-sharing ..........................................................................................90
Набор данных Covertype ..............................................................................................91

Машины опорных векторов .............................................................................................91

Кусочно-линейная функция потерь и ее варианты ...................................................97
Объяснение реализации алгоритма SVM в Scikit-learn .............................................98
Поиск нелинейных SVM с привлечением подвыборки ...........................................101
Реализация SVM в крупном масштабе на основе SGD .............................................104

Отбор признаков посредством регуляризации ............................................................112
Добавление нелинейности в алгоритм SGD .................................................................114

Испытание явных высокоразмерных отображений ................................................115

Доводка гиперпараметров .............................................................................................117

Другие альтернативы быстро обучающихся реализаций SVM ...............................121

Резюме .............................................................................................................................133

Глава 4. Искусственные нейронные сети и глубокое обучение ..........................134
Архитектура нейронной сети ........................................................................................135

Чему и как нейронные сети обучаются ....................................................................144
Выбор правильной архитектуры ...............................................................................148
Нейронные сети в действии ......................................................................................149
Параллелизация для библиотеки sknn ......................................................................150

Нейронные сети и регуляризация .................................................................................151
Нейронные сети и гиперпараметрическая оптимизация ...........................................153
Нейронные сети и границы решения ...........................................................................154
Глубокое обучение в крупном масштабе с H2O ............................................................157

Крупномасштабное глубокое обучение с H2O .........................................................158
Сеточный поиск в H2O ...............................................................................................161

Глубокое обучение и предтренировка без учителя ......................................................162
Глубокое обучение с theanets .........................................................................................162
Автокодировщики и обучение без учителя ..................................................................164

Автокодировщик ........................................................................................................164

Резюме .............................................................................................................................168

Глава 5. Глубокое обучение с библиотекой TensorFlow ........................................170
Инсталляция TensorFlow ................................................................................................172

Операции TensorFlow .................................................................................................172

Машинное обучение в TensorFlow посредством SkFlow ..............................................177

Глубокое обучение с большими файлами – инкрементное обучение ....................183

Инсталляция библиотеки Keras и платформа TensorFlow ...........................................186
Содержание  7

Сверточные нейронные сети в TensorFlow посредством Keras ...................................190

Сверточный слой ........................................................................................................192
Объединяющий слой ..................................................................................................193
Полносвязный слой ....................................................................................................194

CNN-сети с подходом на основе инкрементной тренировки .....................................195
Вычисления на GPU ........................................................................................................196
Резюме .............................................................................................................................199

Глава 6. Классификационные и регрессионные деревья  
в крупном масштабе ....................................................................................................200
Агрегация бутстрапированных выборок ......................................................................203
Случайный лес и экстремально рандомизированный лес ..........................................204
Быстрая параметрическая оптимизация посредством рандомизированного  
поиска ..............................................................................................................................208

Экстремально рандомизированные деревья и большие наборы данных ..............210

Алгоритм CART и бустинг ..............................................................................................214

Машины градиентного бустинга ...............................................................................214

Алгоритм XGBoost ..........................................................................................................221

Регрессия на основе XGBoost .....................................................................................224
Потоковая передача больших наборов данных посредством XGBoost ..................227
Персистентность модели XGBoost.............................................................................228

Внеядерный алгоритм CART в среде H2O .....................................................................229

Случайный лес и сеточный поиск в H2O ..................................................................229
Стохастический градиентный бустинг и сеточный поиск в H2O ...........................231

Резюме .............................................................................................................................233

Глава 7. Обучение без учителя в крупном масштабе ............................................235
Методы машинного обучения без учителя ...................................................................235
Разложение признаков – PCA ........................................................................................236

Алгоритм PCA в среде H2O ........................................................................................246

Кластеризация – алгоритм K-средних ..........................................................................247

Методы инициализации ............................................................................................250
Допущения алгоритма K-средних .............................................................................251
Подбор оптимальной величины K ............................................................................253
Масштабирование алгоритма K-средних – мини-пакет .........................................257

Алгоритм K-средних в среде H2O ..................................................................................261
Алгоритм LDA .................................................................................................................263

Масштабирование алгоритма LDA – оперативная память, CPU и машины ...........271

Резюме .............................................................................................................................272

Глава 8. Распределенные среды – Hadoop и Spark ...............................................273
От автономной машины к набору узлов .......................................................................273

Зачем нужна распределенная платформа? ..............................................................275

Настройка виртуальной машины ..................................................................................276

Виртуализатор VirtualBox ..........................................................................................277
Конфигуратор Vagrant ................................................................................................279
 Содержание

Использование виртуальной машины ......................................................................279

Экосистема Hadoop .........................................................................................................281

Архитектура ................................................................................................................281
Распределенная файловая система HDFS .................................................................282
Вычислительная парадигма MapReduce ...................................................................289
Менеджер ресурсов YARN ..........................................................................................298

Платформа Spark.............................................................................................................299

Библиотека pySpark ....................................................................................................299

Резюме .............................................................................................................................309

Глава 9. Практическое машинное обучение в среде Spark .................................310
Настройка виртуальной машины для данной главы ...................................................310
Распространение переменных по всем узлам кластера ..............................................311

Широковещательные переменные только для чтения ............................................311
Аккумуляторные переменные только для записи ...................................................313
Широковещательные и аккумуляторные переменные – пример ...........................314

Предобработка данных в среде Spark ............................................................................316

Файлы JSON и объекты DataFrame платформы Spark ..............................................317
Работа с пропущенными данными ...........................................................................319
Группирование и создание таблиц в оперативной памяти ....................................320
Запись предобработанного объекта DataFrame или RDD-набора на диск .............322
Работа с объектами DataFrame  .................................................................................323

Машинное обучение с платформой Spark ....................................................................326

Платформа Spark на наборе данных KDD99 .............................................................326
Чтение набора данных ...............................................................................................327
Конструирование признаков .....................................................................................329
Тренировка ученика ...................................................................................................334
Оценка результативности ученика ...........................................................................335
Возможности конвейера машинного обучения .......................................................336
Ручная доводка ...........................................................................................................338
Перекрестная проверка .............................................................................................340
Заключительная очистка ...........................................................................................342

Резюме .............................................................................................................................342

Приложение. Введение в графические процессоры и платформа Theano ......344
Вычисления на GPU ........................................................................................................344
Платформа Theano – параллельные вычисления на GPU ............................................346
Установка платформы Theano .......................................................................................347

Предметный указатель ...............................................................................................350
Об авторах

Бастиан Шарден – исследователь-аналитик и создатель с опытом работы в области 
искусственного интеллекта и математики. Имеет степень магистра по 
когнити вистике, полученную им в университете Лейдена вместе с очными курсами 
в Массачусетском технологическом институте (MIT). В течение прошедших 
5 лет он работал над широким спектром проектов в области науки о данных и искусственного 
интеллекта. Часто принимает участие как непостоянный член преподавательского 
состава в онлайн-курсах Coursera в области анализа социальных 
сетей Мичиганского университета и практического машинного обучения Университета 
Джонса Хопкинса. Его предпочтительными языками программирования 
являются Python и R. В настоящее время является соучредителем компании 
Quandbee (http://www.quandbee.com/), предлагающей масштабируемые приложения 
машинного обучения и искусственного интеллекта.
Лука Массарон – исследователь-аналитик и директор по анализу рынка, специализирующийся 
на многомерном статистическом анализе, машинном обучении 
и потребительском понимании, с более чем десятилетним опытом в решении 
реаль ных задач и генерировании стоимости для заинтересованных сторон путем 
применения логического обоснования, статистики, анализа данных и алгоритмов. 
Являясь первопроходцем в сфере исследования веб-аудитории в Италии, сегодня 
входит в лучшую десятку аналитиков по версии профессионального аналитического 
веб-сайта Kaggle. Всегда очень увлекался всем, что связано с данными и их 
анализом, а также демонстрацией потенциала, управляемого данными обнаружения 
знаний для экспертов и неспециалистов. Отдавая предпочтение простоте над 
ненужной сложностью, он полагает, что в науке о данных можно достичь многого, 
всего лишь руководствуясь основами.

Хотел бы благодарить Юкико и Амелию за их постоянную поддержку, помощь 
и любвеобильное терпение.

Альберто Боскетти – исследователь-аналитик с профессиональным опытом 
в области обработки сигналов и математической статистики. Имеет научную степень 
доктора наук по инженерному делу в области телекоммуникаций, в настоящее 
время живет и работает в Лондоне. В своих рабочих проектах он занимается 
решением сложных задач, которые включают в себя широкий круг областей – от 
обработки естественного языка (NLP) вплоть до машинного обучения и распределенной 
обработки. Очень увлечен своей работой и всегда пытается оставаться 
в курсе технологических новинок в области науки о данных, участвуя во встречах 
профессио налов, конференциях и других событиях.
О рецензентах

Олег Окунь – эксперт по машинному обучению, является автором/редактором 
четырех книг, многочисленных журнальных статей и докладов на конференциях. 
Работает в отрасли уже более четверти века, проработав в высшей школе и промышленности 
на своей родине в Белоруссии и за границей (в Финляндии, Швеции 
и Германии). Его опыт работы включает анализ цифровых образов документов, 
биометрию цифрового отпечатка, биоинформатику, онлайновую и внесетевую 
маркетинговую аналитику и аналитику рейтинга кредитоспособности. Интересуется 
всеми аспектами распределенного машинного обучения и Интернетом вещей. 
Олег в настоящее время живет и работает в Гамбурге, Германия, и собирается 
приступить к новой работе в качестве главного архитектора интеллектуальных 
систем. Его предпочтительными языками программирования являются Python, 
R и Scala.

Хотел бы выразить свою самую глубокую благодарность моим родителям за все, 
что они для меня сделали.

Кай Лонденберг – исследователь-аналитик и эксперт в области больших данных 
с многолетним профессиональным опытом. В настоящее время работает исследователем-
аналитиком в компании Volkswagen Data Lab. До этого имел удовольствие 
работать ведущим исследователем-аналитиком в компании Searchmetrics, 
где Лука Массарон был членом его команды. Кай любит работать с передовыми 
технологиями, и, являясь прагматично настроенным практиком машинного обучения 
и действую щим разработчиком программного обеспечения, он любит всегда 
оставаться в курсе последних технологических и научных достижений в области 
машинного обучения, ИИ и смежных областях. Его можно найти в социальной 
сети LinkedIn по адресу https://www.linkedin.com/in/kailondenberg.
Предисловие

«Самое приятное в мозге – то, что можно 
узнать, что невежество вытесняется знанием 
и что крохотные частички знания постепенно 
образуют солидные пирамиды».

– Дуглас Хофштадтер

Машинное обучение часто называют подобластью искусственного интеллекта, 
которая реально работает. Его цель состоит в том, чтобы, основываясь на существующем 
подмножестве данных (тренировочном наборе), с максимально возможной 
точностью найти функцию для предсказания исходов подмножества ранее не 
наблюдавшихся данных (тестового набора). Это происходит либо в форме меток 
и классов (задачи классификации), либо в форме непрерывного значения (задачи 
регрессии). Материальные примеры машинного обучения в реальных приложениях 
простираются от предсказания будущих курсов акций до идентификации 
половой принадлежности автора, исходя из серии документов. В этой книге читатель 
получит объяснение самых важных принципов работы машинного обучения, 
а также методов, подходящих для обработки крупных наборов данных, благодаря 
практическим примерам на языке Python. Мы рассмотрим обучение с учителем 
(классификация и регрессия) и обучение без учителя (в т. ч. анализ главных компонент, 
кластеризацию данных и тематическое моделирование), которые оказались 
применимыми к большим наборам данных.
Работающие в области ИТ крупные корпорации, такие как Google, Facebook 
и Uber, подняли нешуточный ажиотаж, утверждая, что они успешно применили 
подобного рода методы машинного обучения в крупном масштабе. С появлением 
и распространением больших данных спрос на масштабируемые решения в области 
машинного обучения рос экспоненциально, и множество других компаний 
и отдельных специалистов устремилось на поиски зрелых плодов скрытых корреляций 
в больших наборах данных. К сожалению, большинство обучающихся 
алгоритмов не очень хорошо масштабируется, перегружая центральные процессоры 
и память настольного компьютера или большого вычислительного кластера. 
В нынешние времена, несмотря на то что большие данные преодолели пик ажиотажа, 
масштабируемых решений для машинного обучения до сих пор не так уж 
и много.
Откровенно говоря, нам по-прежнему приходится обходить немало узких мест 
даже с наборами данных, которые едва ли можно классифицировать как большие 
данные (речь идет о наборах данных объемом до 2 Гб или меньше). Главная задача 
настоящей книги состоит в том, чтобы предоставить способы (иногда нестандартные) 
для применения самых мощных методов машинного обучения с открытым 
исходным кодом в более крупном масштабе без привлечения дорогостоящих корпоративных 
решений или больших вычислительных кластеров. На протяжении 
всей книги мы будем использовать Python и некоторые другие легкодоступные 
решения, которые хорошо интегрируются в масштабируемых конвейерах машинного 
обучения. Чтение книги станет путешествием, которое переопределит все то, 
 Предисловие

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

О чем эта книга рассказывает

Глава 1 «Первые шаги на пути к масштабируемости» ставит задачу масштабируемого 
машинного обучения с правильной перспективой и знакомит с инструментами, 
которые мы будем использовать в этой книге.
Глава 2 «Масштабируемое обучение в Scikit-learn» обсуждает тему стратегии стохастического 
градиентного спуска с ограничением потребления оперативной памяти; 
этот прием основывается на теме внеядерного обучения. Мы также охватим 
технические приемы подготовки данных, включая хэширование признаков, способные 
справляться с самыми разнообразными данными.
Глава 3 «Быстрообучающиеся реализации машин SVM» посвящена потоковым алгоритмам, 
которые способны обнаруживать нелинейности в форме машин опорных 
векторов. Мы представим альтернативы программной библиотеке Scikit-
learn, в частности программы LIBLINEAR и Vowpal Wabbit, которые, несмотря на 
то что выполняются как команды внешней оболочки, с легкостью обертываться 
в сценарии Python и ими управляются.
Глава 4 «Нейронные сети и глубокое обучение» охватывает полезную методику 
применения глубоких нейронных сетей в платформе Theano и крупномасштабные 
приложения на основе платформы H2O. Хотя эта тема сегодня является актуальной, 
их успешное применение может представлять серьезную трудность, 
уже не говоря о предложении масштабируемых решений. Мы также обратимся 
к предварительной тренировке без учителя с автокодировщиками на основе библиотеки 
theanets.
Глава 5 «Глубокое обучение с библиотекой TensorFlow» охватывает интересную 
методику глубокого обучения нейронных сетей и онлайновые методы. Хотя платформа 
TensorFlow находится в стадии становления, она предоставляет изящные 
решения для машинного обучения. Мы также воспользуемся возможностями библиотеки 
Keras по работе со сверточными нейронными сетями в среде TensorFlow.
Глава 6 «Классификационные и регрессионные деревья в крупном масштабе» посвящена 
объяснению масштабируемых решений с использованием алгоритмов 
случайного леса, градиентного бустинга и экстремального градиентного бустин-
га XGboost. Алгоритм машинного обучения CART, аббревиатура для классификационных 
и регрессионных деревьев, обычно применяется в рамках ансамблевых 
методов. Мы также предоставим примеры крупномасштабного приложения 
в среде H2O.
Глава 7 «Обучение без учителя в крупном масштабе» вплотную посвящена обучению 
без учителя, а именно будут рассмотрены алгоритмы PCA, кластерного анализа 
и тематического моделирования с использованием соответствующего подхода, 
позволяющего масштабировать их вертикально.
Глава 8 «Распределенные среды – Hadoop и Spark» научит настраивать систему 
Spark в среде виртуальной машины с переходом от одиночной машины к парадигме 
вычислительной сети. Поскольку Python способен с легкостью связывать 
индивидуальные наработки и подключать их к кластеру машин, привлечение возможностей 
кластера Hadoop становится простым делом.
Для кого эта книга  13

Глава 9 «Практическое машинное обучение на платформе Spark» посвящена непосредственной 
работе с платформой Spark и обучает необходимым основам, для 
того чтобы начать напрямую управлять данными и создавать прогнозные модели 
на больших наборах данных.
Приложение «Введение в графические процессоры и библиотеку Theano» коснется 
основ работы в среде Theano и вычислений на GPU. Это пособие поможет установить 
и подготовить свою собственную среду для использования Theano на GPU, 
если, конечно, располагаемая система это позволяет сделать.

чтО требуется для этОй книги

Выполнение примеров кода, прилагаемых к данной книге, требует установки 
Python 2.7 или старших версий в Mac OS, Linux или Microsoft Windows.
В примерах по всей книге будут часто использоваться важные программные 
библиотеки Python для научных и статистических вычислений, в частности SciPy, 
NumPy, Scikit-learn, StatsModels и реже matplotlib и pandas. Мы также задействуем 
приложение для внеядерных облачных вычислений под названием H2O.
Эта книга в значительной мере зависит от интерактивной среды программирования 
Jupyter и ее так называемых блокнотов, или записных книжек, приводимых 
в действие ядром Python. Для этой книги мы воспользуемся ее последней версией 
4.1 (на момент публикации перевода – 5.0).
Первая глава предоставит все пошаговые инструкции и некоторые полезные 
советы по настройке среды Python, упомянутых выше рабочих программных библиотек 
и всего необходимого инструментария.

для кОгО эта книга

Эта книга предназначена для начинающих и действующих практиков в области 
науки о данных, разработчиков и всех тех, кто намеревается работать с большими 
и сложными наборами данных. Мы постарались сделать эту книгу максимально 
доступной для самой широкой аудитории. И все же, учитывая, что темы в этой 
книге достаточно продвинутые, читателям рекомендуется знать основные понятия 
из области машинного обучения, в частности классификацию и регрессию, 
функции минимизации ошибки и перекрестную проверку, однако это условие не 
является обязательным.
Мы также предполагаем, что читатель обладает некоторым опытом программирования 
на Python, работы с блокнотами Jupyter и выполнением команд из 
командной строки, а также познаниями в математике на разумном уровне, чтобы 
усвоить концепции, лежащие в основе разных больших решений, которые мы 
здесь предлагаем. Текст написан в стиле, который поймут программисты на других 
языках (R, Java и MATLAB). В идеальном случае он очень подходит для исследователя-
аналитика (но не ограничен лишь им), знакомого с машинным обучением 
и заинтересованного в мобилизации возможностей языка Python, в отличие от 
других языков, таких как R или MATLAB, из-за его широких возможностей выполнять 
вычислительные задачи, работать с оперативной памятью и выполнять 
ввод-вывод данных.
 Предисловие

услОвные ОбОзначения

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

Ключевые слова в тексте, имена таблиц баз данных, имена папок, имена файлов, 
расширения файлов, пути файловой системы, фиктивные URL, ввод данных 
пользователем и дескрипторы Twitter показаны следующим образом: «Во время 
обследования линейной модели сначала проверьте атрибут coef_».
Фрагмент исходного кода оформляется следующим образом:

from sklearn import datasets
iris = datasets.load_iris()

Поскольку в большинстве примеров мы будем использовать блокноты Jupyter, 
фрагменты исходного кода будут оформляться в соответствии с тем, как он выглядит 
в ячейках блокнотов: входные данные будут всегда помечены как In:, а выходные 
данные – часто как Out:. На компьютере требуется только ввести исходный 
код после In: и проверить, соответствуют ли результаты содержимому Out::

In: 
clf.fit(X, y)

Out: 
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
degree=3, gamma=0.0, kernel='rbf', max_iter=-1, probability=False,
random_state=None, shrinking=True, tol=0.001, verbose=False)

Когда команда предназначена для выполнения в командной строке терминала, 
такая команда будет предваряться префиксом $>, в противном случае, если она 
предназначена для интепретатора Python REPL, ей будет предшествовать приглашение >>>:

$ 
python
>>> import sys
>>> print sys.version_info

Новые термины и важные слова показаны полужирным шрифтом. Слова, 
которые выводятся на экран, например в меню или диалоговых окнах, выглядят 
в тексте следующим образом: «Как правило, необходимо просто ввести в ячейки 
после In: исходный код и его выполнить».

 Предупреждения или важные примечания появляются в этом поле.
 
Подсказки и приемы появляются тут.

 Дополнения к тексту оригинала книги.

Отзывы и пОжелания

Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об 
этой книге – что понравилось или, может быть, не понравилось. Отзывы важны 
для нас, чтобы выпускать книги, которые будут для вас максимально полезны.
Доступ онлайн
639 ₽
В корзину