Генетические алгоритмы на Python
Применение генетических алгоритмов к решению задач глубокого обучения и искусственного интеллекта
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Вирсански Эйял
Перевод:
Слинкин Алексей Александрович
Год издания: 2020
Кол-во страниц: 286
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-857-9
Артикул: 748354.01.99
Доступ онлайн
В корзину
Там, где традиционные алгоритмы бесполезны или не дают результата за обозримое время, на помощь могут прийти генетические алгоритмы. Они позволяют решить целый комплекс сложных задач, в том числе связанных с искусственным интеллектом, упростить оптимизацию непрерывных функций, выполнять реконструкцию изображений и многое другое. Книга поможет программистам, специалистам по обработке данных и энтузиастам ИИ, интересующимся генетическими алгоритмами, подступиться к стоящим перед ними задачам, связанным с обучением, поиском и оптимизацией, а также повысить качество и точность результатов в уже имеющихся приложениях.
Для изучения материала книги требуются владение языком Python на рабочем уровне и базовые знания математики и информатики.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Эйял Вирсански Генетические алгоритмы на Python
Hands-On Genetic Algorithms with Python Applying genetic algorithms to solve real-world deep learning and artificial intelligence problems Eyal Wirsansky BIRMINGHAM – MUMBAI
Генетические алгоритмы на Python Применение генетических алгоритмов к решению задач глубокого обучения и искусственного интеллекта Эйял Вирсански Москва, 2020
УДК 004.421 ББК 32.811 В52 Вирсански Э. В52 Генетические алгоритмы на Python / пер. с англ. А. А. Слинкина. – М.: ДМК Пресс, 2020. – 286 с.: ил. ISBN 978-5-97060-857-9 Там, где традиционные алгоритмы бесполезны или не дают результата за обозримое время, на помощь могут прийти генетические алгоритмы. Они позволяют решить целый комплекс сложных задач, в том числе связанных с искусственным интеллектом, упростить оптимизацию непрерывных функций, выполнять реконструкцию изображений и многое другое. Книга поможет программистам, специалистам по обработке данных и энтузиастам ИИ, интересующимся генетическими алгоритмами, подступиться к стоящим перед ними задачам, связанным с обучением, поиском и оптимизацией, а также повысить качество и точность результатов в уже имеющихся приложениях. Для изучения материала книги требуются владение языком Python на рабочем уровне и базовые знания математики и информатики. УДК 004.421 ББК 32.811 First published in the English language under the title ‘Hands-On Genetic Algorithms with Python’. Russian language edition copyright © 2020 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-83855-774-4 (англ.) Copyright © Packt Publishing, 2020 ISBN 978-5-97060-857-9 (рус.) © Оформление, издание, перевод, ДМК Пресс, 2020
Моей любимой жене Джеки за любовь, терпение и поддержку Моим детям, Даниэлле и Лиарне, чья творческая натура и артистические таланты подвигли меня на написание этой книги
Содержание Об авторе ...........................................................................................................13 О рецензенте ....................................................................................................14 Предисловие ....................................................................................................15 Часть I. ОСНОВЫ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ....................19 Глава 1. Введение в генетические алгоритмы ...................................20 Что такое генетические алгоритмы? ...................................................................20 Дарвиновская эволюция ..................................................................................21 Аналогия с генетическими алгоритмами .......................................................21 Генотип ......................................................................................................22 Популяция .................................................................................................22 Функция приспособленности ..................................................................23 Отбор .........................................................................................................23 Скрещивание ............................................................................................23 Мутация .....................................................................................................24 Теоретические основы генетических алгоритмов .............................................24 Теорема о схемах ..............................................................................................25 Отличия от традиционных алгоритмов ..............................................................26 Популяция как основа алгоритма ...................................................................27 Генетическое представление ...........................................................................27 Функция приспособленности ..........................................................................27 Вероятностное поведение ................................................................................27 Преимущества генетических алгоритмов ..........................................................28 Глобальная оптимизация .................................................................................28 Применимость к сложным задачам ................................................................29 Применимость к задачам, не имеющим математического представления ..................................................................................................30 Устойчивость к шуму ........................................................................................30 Распараллеливание ..........................................................................................30 Непрерывное обучение ....................................................................................31 Ограничения генетических алгоритмов .............................................................31 Специальные определения ..............................................................................31 Настройка гиперпараметров ...........................................................................31 Большой объем счетных операций .................................................................32 Преждевременная сходимость ........................................................................32 Отсутствие гарантированного решения .........................................................32 Сценарии применения генетических алгоритмов ............................................32 Резюме ...................................................................................................................33 Для дальнейшего чтения ......................................................................................33
Содержание 7 Глава 2. Основные компоненты генетических алгоритмов ..........34 Базовая структура генетического алгоритма .....................................................34 Создание начальной популяции .....................................................................36 Вычисление приспособленности .....................................................................36 Применение операторов отбора, скрещивания и мутации ..........................36 Проверка условий остановки ...........................................................................37 Методы отбора ......................................................................................................37 Правило рулетки ...............................................................................................38 Стохастическая универсальная выборка ........................................................39 Ранжированный отбор .....................................................................................40 Масштабирование приспособленности ..........................................................41 Турнирный отбор .............................................................................................42 Методы скрещивания ...........................................................................................43 Одноточечное скрещивание ............................................................................43 Двухточечное и k-точечное скрещивание ......................................................44 Равномерное скрещивание ..............................................................................45 Скрещивание для упорядоченных списков ....................................................45 Упорядоченное скрещивание ..................................................................46 Методы мутации ...................................................................................................47 Инвертирование бита ......................................................................................48 Мутация обменом .............................................................................................48 Мутация обращением ......................................................................................48 Мутация перетасовкой .....................................................................................49 Генетические алгоритмы с вещественным кодированием ...............................49 Скрещивание смешением ................................................................................50 Имитация двоичного скрещивания ................................................................51 Вещественная мутация ....................................................................................53 Элитизм .................................................................................................................53 Образование ниш и разделение ..........................................................................54 Последовательное и параллельное образование ниш ...................................56 Искусство решения задач с помощью генетических алгоритмов ....................57 Резюме ...................................................................................................................58 Для дальнейшего чтения ......................................................................................58 Часть II. РЕШЕНИЕ ЗАДАЧ С ПО МОЩЬЮ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ .........................................................59 Глава 3. Каркас DEAP ....................................................................................60 Технические требования ......................................................................................60 Введение в DEAP ...................................................................................................61 Использование модуля creator .............................................................................62 Создание класса Fitness ....................................................................................62 Определение стратегии приспособления ...............................................62 Хранение значения приспособленности ................................................63 Создание класса Individual ...............................................................................64 Использование класса Toolbox ............................................................................64
Содержание Создание генетических операторов................................................................65 Создание популяции ........................................................................................66 Вычисление приспособленности .....................................................................66 Задача OneMax ......................................................................................................67 Решение задачи OneMax с помощью DEAP ........................................................67 Выбор хромосомы ............................................................................................67 Вычисление приспособленности .....................................................................68 Выбор генетических операторов .....................................................................68 Задание условия остановки .............................................................................68 Реализация средствами DEAP..........................................................................69 Подготовка ................................................................................................69 Эволюция решения ..................................................................................72 Выполнение программы ..........................................................................75 Использование встроенных алгоритмов ............................................................76 Объект Statistics ................................................................................................77 Алгоритм ...........................................................................................................77 Объект logbook ..................................................................................................77 Выполнение программы ..................................................................................78 Зал славы ...........................................................................................................79 Эксперименты с параметрами алгоритма ..........................................................81 Размер популяции и количество поколений ..................................................81 Оператор скрещивания ....................................................................................83 Оператор мутации ............................................................................................84 Оператор отбора ...............................................................................................87 Размер турнира и его связь с вероятностью мутации ...........................88 Отбор по правилу рулетки .......................................................................92 Резюме ...................................................................................................................93 Для дальнейшего чтения ......................................................................................94 Глава 4. Комбинаторная оптимизация ..................................................95 Технические требования ......................................................................................95 Поисковые задачи и комбинаторная оптимизация...........................................96 Решение задачи о рюкзаке ...................................................................................96 Задача о рюкзаке 0-1 с сайта Rosetta Code ......................................................97 Представление решения ..................................................................................98 Представление задачи на Python ....................................................................98 Решение с помощью генетического алгоритма .............................................99 Решение задачи коммивояжера ........................................................................102 Файлы эталонных данных TSPLIB .................................................................103 Представление решения ................................................................................104 Представление задачи на Python ..................................................................104 Решение с помощью генетического алгоритма ...........................................106 Улучшение результатов благодаря дополнительному исследованию и элитизму ......................................................................................................109 Решение задачи о маршрутизации транспорта ...............................................114 Представление решения ................................................................................115 Представление задачи на Python ..................................................................116
Содержание 9 Решение с помощью генетического алгоритма ...........................................118 Резюме .................................................................................................................122 Для дальнейшего чтения ....................................................................................123 Глава 5. Задачи с ограничениями ..........................................................124 Технические требования ....................................................................................124 Соблюдение ограничений в поисковых задачах ..........................................125 Решение задачи об N ферзях .............................................................................125 Представление решения ................................................................................126 Представление задачи на Python ..................................................................128 Решение с помощью генетического алгоритма ...........................................129 Решение задачи о составлении графика дежурств медсестер .........................133 Представление решения ................................................................................133 Жесткие и мягкие ограничения ....................................................................134 Представление задачи на Python ..................................................................135 Решение на основе генетического алгоритма ..............................................137 Решение задачи о раскраске графа ...................................................................140 Представление решения ................................................................................142 Жесткие и мягкие ограничения в задаче о раскраске графа .......................143 Представление задачи на Python ..................................................................143 Решение с помощью генетического алгоритма ...........................................145 Резюме .................................................................................................................149 Для дальнейшего чтения ....................................................................................150 Глава 6. Оптимизация непрерывных функций ................................151 Технические требования ....................................................................................151 Хромосомы и генетические операторы для задач с вещественными числами ...............................................................................................................152 Использование DEAP совместно с непрерывными функциями .....................153 Оптимизация функции Eggholder .....................................................................154 Оптимизация функции Eggholder с помощью генетического алгоритма ........................................................................................................155 Повышение скорости сходимости посредством увеличения частоты мутаций ...........................................................................................................158 Оптимизация функции Химмельблау ..............................................................159 Оптимизация функции Химмельблау с помощью генетического алгоритма ........................................................................................................161 Использование ниш и разделения для отыскания нескольких решений ..........................................................................................................165 Функция Симионеску и условная оптимизация ..............................................168 Условная оптимизация с помощью генетического алгоритма ...................170 Оптимизация функции Симионеску с помощью генетического алгоритма ........................................................................................................171 Использование ограничений для нахождения нескольких решений ........172 Резюме .................................................................................................................173 Для дальнейшего чтения ....................................................................................173
Содержание Часть III. ПРИЛОЖЕНИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В ИСКУССТВЕННОМ ИНТЕЛЛЕКТЕ ..............174 Глава 7. Дополнение моделей машинного обучения методами выделения признаков...........................................................175 Технические требования ....................................................................................176 Машинное обучение с учителем .......................................................................176 Классификация ...............................................................................................177 Регрессия .........................................................................................................179 Алгоритмы обучения с учителем ..................................................................180 Выделение признаков в обучении с учителем .................................................180 Выделение признаков для задачи регрессии Фридмана-1 .............................181 Представление решения ................................................................................182 Представление решения на Python ...............................................................182 Решение с помощью генетического алгоритма ...........................................184 Выделение признаков для классификации набора данных Zoo .....................186 Представление задачи на Python ..................................................................187 Решение с помощью генетического алгоритма ...........................................189 Резюме .................................................................................................................191 Для дальнейшего чтения ....................................................................................191 Глава 8. Настройка гиперпараметров моделей машинного обучения ..................................................................................192 Технические требования ....................................................................................193 Гиперпараметры в машинном обучении ..........................................................193 Настройка гиперпараметров .........................................................................194 Набор данных Wine ........................................................................................195 Классификатор на основе адаптивного усиления........................................195 Настройка гиперпараметров с помощью генетического поиска на сетке .....196 Тестирование качества классификатора с параметрами по умолчанию ....198 Результаты традиционного поиска на сетке ................................................198 Результаты генетического поиска на сетке ..................................................198 Прямой генетический подход к настройке гиперпараметров ........................199 Представление гиперпараметров .................................................................200 Оценка верности классификатора ................................................................200 Настройка гиперпараметров с помощью генетического алгоритма ..........201 Резюме .................................................................................................................204 Для дальнейшего чтения ....................................................................................204 Глава 9. Оптимизация архитектуры сетей глубокого обучения ..........................................................................................................205 Технические требования ....................................................................................205 Искусственные нейронные сети и глубокое обучение ....................................206 Многослойный перцептрон ...........................................................................207 Глубокое обучение и сверточные нейронные сети ......................................208
Содержание 11 Оптимизация архитектуры классификатора на основе глубокой сети ..........209 Набор данных Iris ...........................................................................................209 Представление конфигурации скрытого слоя ..............................................210 Оценка верности классификатора ................................................................211 Оптимизация архитектуры МСП с помощью генетического алгоритма ........................................................................................................212 Объединение оптимизации архитектуры с настройкой гиперпараметров ................................................................................................215 Представление решения ................................................................................215 Вычисление верности классификатора ........................................................216 Оптимизация объединенной конфигурации МСП с помощью генетического алгоритма ...............................................................................217 Резюме .................................................................................................................218 Для дальнейшего чтения ....................................................................................218 Глава 10. Генетические алгоритмы и обучение с подкреплением ..........................................................................................219 Технические требования ....................................................................................219 Обучение с подкреплением ...............................................................................220 Генетические алгоритмы и обучение с подкреплением .............................221 OpenAI Gym .........................................................................................................221 Интерфейс env ................................................................................................222 Решение окружающей среды MountainCar .......................................................223 Представление решения ................................................................................225 Оценивание решения .....................................................................................225 Представление задачи на Python ..................................................................226 Решение с помощью генетического алгоритма ...........................................226 Решение окружающей среды CartPole ..............................................................229 Управление средой CartPole с помощью нейронной сети ...........................230 Представление и оценивание решения ........................................................231 Представление задачи на Python ..................................................................232 Решение с помощью генетического алгоритма ...........................................233 Резюме .................................................................................................................236 Для дальнейшего чтения ....................................................................................237 Часть IV. РОДСТВЕННЫЕ ТЕХНОЛОГИИ .......................................238 Глава 11. Генетическая реконструкция изображений ...................239 Технические требования ....................................................................................239 Реконструкция изображений из многоугольников ..........................................240 Обработка изображений на Python ...................................................................240 Библиотеки обработки изображений на Python ..........................................240 Библиотека Pillow ...................................................................................241 Библиотека scikit-image .........................................................................241 Библиотека opencv-python .....................................................................241 Рисование с помощью многоугольников .....................................................242
Содержание Измерение степени различия двух изображений ........................................243 Попиксельная среднеквадратическая ошибка .....................................243 Структурное сходство (SSIM) .................................................................244 Применение генетических алгоритмов для реконструкции изображений .......................................................................................................244 Представление и оценивание решения ........................................................245 Представление задачи на Python ..................................................................246 Реализация генетического алгоритма ..........................................................246 Добавление функции обратного вызова в код генетического алгоритма ................................................................................................249 Результаты реконструкции изображения .....................................................250 Применение попиксельной среднеквадратической ошибки ..............251 Применение индекса структурного сходства .......................................253 Другие эксперименты ............................................................................256 Резюме .................................................................................................................257 Для дальнейшего чтения ....................................................................................258 Глава 12. Другие эволюционные и бионические методы вычислений .....................................................................................................259 Технические требования ....................................................................................259 Эволюционные и бионические вычисления ....................................................260 Генетическое программирование .....................................................................260 Пример генетического программирования – контроль по четности .........262 Реализация с помощью генетического программирования .......................264 Упрощение решения ..............................................................................269 Оптимизация методом роя частиц ...................................................................271 Пример применения PSO – оптимизация функции ....................................272 Реализация оптимизации методом роя частиц ...........................................273 Другие родственные методы .............................................................................277 Эволюционные стратегии ..............................................................................277 Дифференциальная эволюция ......................................................................278 Муравьиный алгоритм оптимизации ...........................................................278 Искусственные иммунные системы ..............................................................278 Искусственная жизнь .....................................................................................279 Резюме .................................................................................................................279 Для дальнейшего чтения ....................................................................................280 Предметный указатель ..............................................................................281
Об авторе Эйял Вирсански – старший инженер-программист, лидер технического сообщества, исследователь и энтузиаст искусственного интеллекта. Начал карье ру как один из первопроходцев в области передачи голоса по IP-сетям и теперь может похвастаться более чем 20-летним опытом создания самых разных высокопроизводительных корпоративных решений. Еще будучи студентом, проявил интерес к генетическим алгоритмам и нейронным сетям. Одним из результатов его исследований стал новый алгоритм обучения с учителем, объединяющий достоинства обоих подходов. Эйял возглавляет группу пользователей Java в Джексонвилле, а также виртуальную группу пользователей по теме «Искусственный интеллект в корпоративных приложениях» и ведет блог по искусственному интеллекту ai4java, ориентированный на разработчиков. Я хочу поблагодарить свою семью и близких друзей за терпение, поддержку и ободрение на протяжении длительного процесса написания книги. Отдельное спасибо группе пользователей Python в Джексонвилле (PyJax) за отзывы и поддержку.
О рецензенте Лайза Бэнг окончила бакалавриат по биологии моря в Калифорнийском университете в Санта-Крус и магистратуру по биоинформатике в Сеульском университете Сонсиль под руководством д-ра Кван Хви Чо. Магистерская диссертация была посвящена методу создания воспроизводимых моделей QSAR (поиск количественных соотношений структура–свойство) с применением блокнота Jupyter, одним из компонентов которого был генетический алгоритм, позволяющий уменьшить пространство поиска. В настоящее время ведется работа по его переводу на каркас DEAP-VS для совместимости с Python 3. Она также работала в системе здравоохранения Гейсингера, входящей в состав Института биомедицинской и трансляционной информатики, где применяла данные следующего поколения о секвенировании и электронные медицинские карты пациентов для анализа исходов раковых и других заболеваний. Сейчас работает в компании Ultragenyx Pharmaceutical, где занимается доклиническими испытаниями и использует методы биоинформатики и хемоинформатики для анализа редких наследственных болезней. Спасибо моей семье, учителям и наставникам!
Предисловие Берущие начало в эволюционной теории Дарвина, генетические алгоритмы являются одним из самых удивительных методов решения задач поиска, оптимизации и обучения. Они могут привести к успеху там, где традиционные алгоритмы не способны дать адекватные результаты за приемлемое время. Данная книга покажет вам путь к овладению этим чрезвычайно мощным и вместе с тем простым подходом к разнообразным задачам, венцом которых станут приложения ИИ. Вы узнаете, как работают генетические алгоритмы и когда имеет смысл их использовать. А заодно получите практический опыт их применения в разных областях с по мощью популярного языка программирования Python. ПредПолагаемая аудитория Эта книга призвана помочь программистам, специалистам по обработке данных и энтузиастам ИИ, интересующимся генетическими алгоритмами, подступиться к стоящим перед ними задачам, связанным с обучением, поиском и оптимизацией, а также повысить качество и точность результатов в уже имеющихся приложениях. Книга адресована также всем, кто сталкивался в своей практике с трудными задачами, в которых традиционные алгоритмы вообще бесполезны или не дают результата за обозримое время. Показано, как использовать генетические алгоритмы в качестве эффективного и в то же время простого подхода к решению сложных задач. Структура книги В главе 1 «Введение в генетические алгоритмы» приводится краткое введение в теорию и принципы работы генетических алгоритмов. Рассматриваются также различия между генетическими алгоритмами и традиционными методами, и описываются сценарии, в которых имеет смысл применять генетические алгоритмы. В главе 2 «Основные компоненты генетических алгоритмов» более глубоко описываются основные компоненты и детали реализации генетических алгоритмов. Познакомившись с потоком управления, вы затем узнаете о различных компонентах и их реализациях. В главе 3 «Каркас DEAP» дается введение в DEAP – мощный и гибкий каркас эволюционных вычислений, позволяющий решать практические задачи с по мощью генетических алгоритмов. Мы продемонстрируем его использо
Предисловие вание на примере программы на Python, которая решает задачу OneMax – что-то вроде «Hello World» в мире генетических алгоритмов. В главе 4 «Комбинаторная оптимизация» рассматриваются такие проблемы, как упаковка рюкзака, задача коммивояжера и задача маршрутизации транспорта, а также программы на Python для их решения с по мощью генетических алгоритмов и каркаса DEAP. Глава 5 «Задачи с ограничениями» представляет собой введение в задачи с ограничениями, например: задача об N ферзях, составление графика дежурства медсестер, задача о раскраске графа. Объясняется, как решить их на Python с по мощью генетических алгоритмов и каркаса DEAP. В главе 6 «Оптимизация непрерывных функций» обсуждаются задачи непрерывной оптимизации и их решения с по мощью генетических алгоритмов. В качестве примеров приводятся функция Eggholder, функции Химмельблау и Симионеску. Попутно мы изучим концепции образования ниш, разделения и обработки ограничений. В главе 7 «Дополнение моделей машинного обучения методами выделения признаков» речь пойдет о моделях машинного обучения с учителем. Объясняется, как генетические алгоритмы позволяют повысить качество этих моделей за счет выделения наилучшего подмножества признаков из представленных входных данных. В главе 8 «Настройка гиперпараметров моделей машинного обучения» показано, как использовать генетические алгоритмы для улучшения качества моделей машинного обучения с учителем путем применения поиска на сетке, управляемого генетическим алгоритмом, или прямого генетического поиска. В главе 9 «Оптимизация архитектуры сетей глубокого обучения» рассматриваются искусственные нейронные сети и описывается, как генетические алгоритмы позволяют улучшить модель, основанную на нейронной сети, путем оптимизации архитектуры последней. Вы узнаете, как сочетать оптимизацию архитектуры сети с настройкой гиперпараметров. Глава 10 «Генетические алгоритмы и обучение с подкреплением» посвящена обучению с подкреплением. Применение генетических алгоритмов иллюстрируется на примере двух тестовых окружающих сред – MountainCar (машина на горе) и CartPole (балансировка стержня) – из библиотеки OpenAI Gym. В главе 11 «Генетическая реконструкция изображений» описываются эксперименты по реконструкции одного хорошо известного изображения с по мощью множества полупрозрачных многоугольников на основе генетических алгоритмов. Попутно вы приобретете полезный опыт обработки изображений и научитесь работать с соответствующими библиотеками на Python. Глава 12 «Другие эволюционные и бионические методы вычислений» расширяет горизонты и знакомит еще с несколькими пришедшими из биологии приемами решения задач. Два из них – генетическое программирование и метод роя частиц – будут реализованы с по мощью Python и каркаса DEAP.
Обозначения и графические выделения 17 Что необходимо для Чтения этой книги Чтобы получить максимум пользы от чтения книги, необходимо владеть языком Python на рабочем уровне и иметь базовые знания по математике и информатике. Знакомство с фундаментальными понятиями машинного обучения желательно, но не обязательно, поскольку в книге приводится крат кое изложение всего необходимого. Для выполнения приведенных в книге примеров понадобится версия 3.7 или более поздняя, а также несколько Python-пакетов (все они здесь же и описываются). Рекомендуется, хотя это и необязательно, установить какую-нибудь интегрированную среду разработки на Python (IDE), например PyCharm или Visual Studio Code. СкаЧивание иСходного кода Скачать файлы с дополнительной информацией для книг издательства «ДМК Пресс» можно на сайте www.dmkpress.com на странице с описанием соответствую щей книги. обознаЧения и графиЧеСкие выделения В этой книге применяется ряд соглашений о наборе текста. CodeInText: код в тексте, имена таблиц базы данных, папок и файлов, расширения имен файлов, пути к файлам, URL-адреса, данные, вводимые пользователем, и адреса в Твиттере. Например: «Метод класса __init__() создает набор данных». Отдельно стоящие фрагменты кода набраны так: self.X, self.y = datasets.make_friedman1(n_samples=self.numSamples, n_features=self.numFeatures, noise=self.NOISE, random_state=self.randomSeed) Желая привлечь внимание к какой-то части кода, мы выделяем ее полужирным шрифтом, например: self.regressor = GradientBoostingRegressor(random_state=self.randomSeed) Команды операционной системы и результаты их работы выделяются так: pip install deap Полужирный: новые термины и важные слова, а также части пользовательского интерфейса. Так выделяются команды меню и текст в диалоговых окнах, например: «Выберите команду System info на панели Administration».
Доступ онлайн
В корзину