RUSSIAN

Python: Искусственный интеллект, большие данные и облачные вычисления

Book information

Publisher
Питер
Year
2020
ISBN
9785446114320
Language
russian
Format
PDF
Filesize
11 MB (11729824 bytes)
Edition
1
Pages
864\864
Time added
2020-05-18 17:13:33

Description

Пол и Харви Дейтелы предлагают по-новому взглянуть на Python и использовать уникальный подход, чтобы быстро решить проблемы, стоящие перед современными айтишниками. Вы на практике познакомитесь с революционными вычислительными технологиями и программированием на Python — одном из самых популярных языков. В вашем распоряжении более пятисот реальных задач — от фрагментов до 40 больших сценариев и примеров с полноценной реализацией. IPython с Jupyter Noteboos позволят быстро освоить современные идиомы программирования Python. Главы 1–5 и фрагменты глав 6–7 сделают понятными примеры решения задач искусственного интеллекта из глав 11–16. Вы познакомитесь с обработкой естественного языка, анализом эмоций в Twitter®, когнитивными вычислениями IBM® Watson™, машинным обучением с учителем в задачах классификации и регрессии, машинным обучением без учителя в задачах кластеризации, распознавания образов с глубоким обучением и сверточными нейронными сетями, рекуррентными нейронными сетями, большими данными с Hadoop®, Spark™ и NoSQL, IoT и многим другим. Вы поработаете (напрямую или косвенно) с облачными сервисами, включая Twitter, Google Translate™, IBM Watson, Microsoft® Azure®, OpenMapQuest, PubNub и др. Предисловие Спрос на квалификацию в области data science Модульная структура Ключевые особенности Ответы на вопросы Поддержка Jupyter Приложения Как связаться с авторами книги Благодарности Об авторах О компании Deitel® & Associates, Inc. Приступая к работе Загрузка примеров кода Структура папки examples Установка Anaconda Обновление Anaconda Менеджеры пакетов Установка программы статического анализа кода Prospector Установка jupyter-matplotlib Установка других пакетов Получение учетной записи разработчика Twitter Необходимость подключения к интернету в некоторых главах Различия в выводе программ Получение ответов на вопросы Глава 1. Компьютеры и Python 1.1. Введение 1.2. Основы объектных технологий 1.3. Python 1.4. Библиотеки 1.4.1. Стандартная библиотека Python 1.4.2. Библиотеки data science 1.5. Первые эксперименты: использование IPython и Jupyter Notebook 1.5.1. Использование интерактивного режима IPython как калькулятора 1.5.2. Выполнение программы Python с использованием интерпретатора IPython 1.5.3. Написание и выполнение кода в Jupyter Notebook 1.6. Облачные вычисления и «интернет вещей» 1.6.1. Облачные вычисления 1.6.2. «Интернет вещей» 1.7. Насколько велики большие данные? 1.7.1. Анализ больших данных 1.7.2. Data Science и большие данные изменяют ситуацию: практические примеры 1.8. Практический пример: использование больших данных в мобильном приложении 1.9. Введение в data science: искусственный интеллект — на пересечении компьютерной теории и data science 1.10. Итоги Глава 2. Введение в программирование Python 2.1. Введение 2.2. Переменные и команды присваивания 2.3. Арифметические операторы 2.4. Функция print и строки, заключенные в одинарные и двойные кавычки 2.5. Строки в тройных кавычках 2.6. Получение ввода от пользователя 2.7. Принятие решений: команда if и операторы сравнения 2.8. Объекты и динамическая типизация 2.9. Введение в data science: основные описательные статистики 2.10. Итоги Глава 3. Управляющие команды 3.1. Введение 3.2. Управляющие команды 3.3. Команда if 3.4. Команды if…else и if…elif…else 3.5. Команда while 3.6. Команда for 3.6.1. Итерируемые объекты, списки и итераторы 3.6.2. Встроенная функция range 3.7. Расширенное присваивание 3.8. Повторение, управляемое последовательностью; отформатированные строки 3.9. Повторение, управляемое контрольным значением 3.10. Подробнее о встроенной функции range 3.11. Использование типа Decimal для представления денежных сумм 3.12. Команды break и continue 3.13. Логические операторы and, or или not 3.14. Введение в data science: параметры, характеризующие положение центра распределения, — математическое ожидание, медиана и мода 3.15. Итоги Глава 4. Функции 4.1. Введение 4.2. Определение функций 4.3. Функции с несколькими параметрами 4.4. Генератор случайных чисел 4.5. Практический пример: игра «крэпс» 4.6. Стандартная библиотека Python 4.7. Функции модуля math 4.8. Использование автозаполнения IPython 4.9. Значения параметров по умолчанию 4.10. Ключевые аргументы 4.11. Произвольные списки аргументов 4.12. Методы: функции, принадлежащие объектам 4.13. Правила области видимости 4.14. Подробнее об импортировании 4.15. Подробнее о передаче аргументов функциям 4.16. Рекурсия 4.17. Программирование в функциональном стиле 4.18. Введение в data science: дисперсионные характеристики 4.19. Итоги Глава 5. Последовательности: списки и кортежи 5.1. Введение 5.2. Списки 5.3. Кортежи 5.4. Распаковка последовательностей 5.5. Сегментация последовательностей 5.6. Команда del 5.7. Передача списков функциям 5.8. Сортировка списков 5.9. Поиск в последовательностях 5.10. Другие методы списков 5.11. Моделирование стека на базе списка 5.12. Трансформации списков 5.13. Выражения-генераторы 5.14. Фильтрация, отображение и свертка 5.15. Другие функции обработки последовательностей 5.16. Двумерные списки 5.17. Введение в data science: моделирование и статические визуализации 5.17.1. Примеры диаграмм для 600, 60 000 и 6 000 000 бросков 5.17.2. Визуализация частот и процентов 5.18. Итоги Глава 6. Словари и множества 6.1. Введение 6.2. Словари 6.2.1. Создание словаря 6.2.2. Перебор по словарю 6.2.3. Основные операции со словарями 6.2.4. Методы keys и values 6.2.5. Сравнения словарей 6.2.6. Пример: словарь с оценками студентов 6.2.7. Пример: подсчет слов 6.2.8. Метод update 6.2.9. Трансформации словарей 6.3. Множества 6.3.1. Сравнение множеств 6.3.2. Математические операции с множествами 6.3.3. Операторы и методы изменяемых множеств 6.3.4. Трансформации множеств 6.4. Введение в data science: динамические визуализации 6.4.1. Как работает динамическая визуализация 6.4.2. Реализация динамической визуализации 6.5. Итоги Глава 7. NumPy и программирование, ориентированное на массивы 7.1. Введение 7.2. Создание массивов на основе существующих данных 7.3. Атрибуты array 7.4. Заполнение array конкретными значениями 7.5. Создание коллекций array по диапазонам 7.6. Сравнение быстродействия списков и array 7.7. Операторы array 7.8. Вычислительные методы NumPy 7.9. Универсальные функции 7.10. Индексирование и сегментация 7.11. Представления: поверхностное копирование 7.12. Глубокое копирование 7.13. Изменение размеров и транспонирование 7.14. Введение в data science: коллекции Series и DataFrame библиотеки pandas 7.14.1. Коллекция Series 7.14.2. DataFrame 7.15. Итоги Глава 8. Подробнее о строках 8.1. Введение 8.2. Форматирование строк 8.2.1. Типы представлений 8.2.2. Ширины полей и выравнивание 8.2.3. Форматирование чисел 8.2.4. Метод format 8.3. Конкатенация и повторение строк 8.4. Удаление пропусков из строк 8.5. Изменение регистра символов 8.6. Операторы сравнения для строк 8.7. Поиск подстрок 8.8. Замена подстрок 8.9. Разбиение и объединение строк 8.10. Символы и методы проверки символов 8.11. Необработанные строки 8.12. Знакомство с регулярными выражениями 8.12.1. Модуль re и функция fullmatch 8.12.2. Замена подстрок и разбиение строк 8.12.3. Другие функции поиска, обращение к совпадениям 8.13. Введение в data science: pandas, регулярные выражения и первичная обработка данных 8.14. Итоги Глава 9. Файлы и исключения 9.1. Введение 9.2. Файлы 9.3. Обработка текстовых файлов 9.3.1. Запись в текстовый файл: команда with 9.3.2. Чтение данных из текстового файла 9.4. Обновление текстовых файлов 9.5. Сериализация в формат JSON 9.6. Вопросы безопасности: сериализация и десериализация pickle 9.7. Дополнительные замечания по поводу файлов 9.8. Обработка исключений 9.8.1. Деление на нуль и недействительный ввод 9.8.2. Команды try 9.8.3. Перехват нескольких исключений в одной секции except 9.8.4. Какие исключения выдают функция или метод? 9.8.5. Какой код должен размещаться в наборе try? 9.9. Секция finally 9.10. Явная выдача исключений 9.11. Раскрутка стека и трассировка (дополнение) 9.12. Введение в data science: работа с CSV-файлами 9.12.1. Модуль csv стандартной библиотеки Python 9.12.2. Чтение CSV-файлов в коллекции DataFrame библиотеки pandas 9.12.3. Чтение набора данных катастрофы «Титаника» 9.12.4. Простой анализ данных на примере набора данных катастрофы «Титаника» 9.12.5. Гистограмма возраста пассажиров 9.13. Итоги Глава 10. Объектно-ориентированное программирование 10.1. Введение 10.2. Класс Account 10.2.1. Класс Account в действии 10.2.2. Определение класса Account 10.2.3. Композиция: ссылка на объекты как компоненты классов 10.3. Управление доступом к атрибутам 10.4. Использование свойств для доступа к данным 10.4.1. Класс Time в действии 10.4.2. Определение класса Time 10.4.3. Замечания по проектированию определения класса Time 10.5. Моделирование «приватных» атрибутов 10.6. Практический пример: моделирование тасования и сдачи карт 10.6.1. Классы Card и DeckOfCards в действии 10.6.2. Класс Card — знакомство с атрибутами класса 10.6.3. Класс DeckOfCards 10.6.4. Вывод изображений карт средствами Matplotlib 10.7. Наследование: базовые классы и подклассы 10.8. Построение иерархии наследования. Концепция полиморфизма 10.8.1. Базовый класс CommissionEmployee 10.8.2. Подкласс SalariedCommissionEmployee 10.8.3. Полиморфная обработка CommissionEmployee и SalariedCommissionEmployee 10.8.4. Объектно-базированное и объектно-ориентированное программирование 10.9. Утиная типизация и полиморфизм 10.10. Перегрузка операторов 10.10.1. Класс Complex в действии 10.10.2. Определение класса Complex 10.11. Иерархия классов исключений и пользовательские исключения 10.12. Именованные кортежи 10.13. Краткое введение в новые классы данных Python 3.7 10.13.1. Создание класса данных Card 10.13.2. Использование класса данных Card 10.13.3. Преимущества классов данных перед именованными кортежами 10.13.4. Преимущества класса данных перед традиционными классами 10.14. Модульное тестирование с doc-строками и doctest 10.15. Пространства имен и области видимости 10.16. Введение в data science: временные ряды и простая линейная регрессия 10.17. Итоги Глава 11. Обработка естественного языка (NLP) 11.1. Введение 11.2. TextBlob 11.2.1. Создание TextBlob 11.2.2. Разбиение текста на предложения и слова 11.2.3. Пометка частей речи 11.2.4. Извлечение именных конструкций 11.2.5. Анализ эмоциональной окраски с использованием анализатора TextBlob по умолчанию 11.2.6. Анализ эмоциональной окраски с использованием NaiveBayesAnalyzer 11.2.7. Распознавание языка и перевод 11.2.8. Формообразование: образование единственного и множественного числа 11.2.9. Проверка орфографии и исправление ошибок 11.2.10. Нормализация: выделение основы и лемматизация 11.2.11. Частоты слов 11.2.12. Получение определений, синонимов и антонимов из WordNet 11.2.13. Удаление игнорируемых слов 11.2.14. n-граммы 11.3. Визуализация частот вхождения слов с использованием гистограмм и словарных облаков 11.3.1. Визуализация частот вхождения слов средствами Pandas 11.3.2. Визуализация частот слов в словарных облаках 11.4. Оценка удобочитаемости с использованием Textatistic 11.5. Распознавание именованных сущностей с использованием spaCy 11.6. Выявление сходства средствами spaCy 11.7. Другие библиотеки и инструменты NLP 11.8. Машинное обучение и NLP-приложения с глубоким обучением 11.9. Наборы данных естественных языков 11.10. Итоги Глава 12. Глубокий анализ данных Twitter 12.1. Введение 12.2. Обзор Twitter APIs 12.3. Создание учетной записи Twitter 12.4. Получение регистрационных данных Twitter — создание приложения 12.5. Какую информацию содержит объект Tweet? 12.6. Tweepy 12.7. Аутентификация Twitter с использованием Tweepy 12.8. Получение информации об учетной записи Twitter 12.9. Введение в курсоры Tweepy: получение подписчиков и друзей учетной записи 12.9.1. Определение подписчиков учетной записи 12.9.2. Определение друзей учетной записи 12.9.3. Получение недавних твитов пользователя 12.10. Поиск недавних твитов 12.11. Выявление тенденций: Twitter Trends API 12.11.1. Места с актуальными темами 12.11.2. Получение списка актуальных тем 12.11.3. Создание словарного облака по актуальным темам 12.12. Очистка / предварительная обработка твитов для анализа 12.13. Twitter Streaming API 12.13.1. Создание подкласса StreamListener 12.13.2. Запуск обработки потока 12.14. Анализ эмоциональной окраски твитов 12.15. Геокодирование и вывод информации на карте 12.15.1. Получение твитов и нанесение их на карту 12.15.2. Вспомогательные функции tweetutilities.py 12.15.3. Класс LocationListener 12.16. Способы хранения твитов 12.17. Twitter и временные ряды 12.18. Итоги Глава 13. IBM Watson и когнитивные вычисления 13.1. Введение: IBM Watson и когнитивные вычисления 13.2. Учетная запись IBM Cloud и консоль Cloud 13.3. Сервисы Watson 13.4. Другие сервисы и инструменты 13.5. Watson Developer Cloud Python SDK 13.6. Практический пример: приложение-переводчик 13.6.1. Перед запуском приложения 13.6.2. Пробный запуск приложения 13.6.3. Сценарий SimpleLanguageTranslator.py 13.7. Ресурсы Watson 13.8. Итоги Глава 14. Машинное обучение: классификация, регрессия и кластеризация 14.1. Введение в машинное обучение 14.1.1. Scikit-learn 14.1.2. Типы машинного обучения 14.1.3. Наборы данных, включенные в поставку scikit-learn 14.1.4. Последовательность действий в типичном исследовании data science 14.2. Практический пример: классификация методом k ближайших соседей и набор данных Digits, часть 1 14.2.1. Алгоритм k ближайших соседей 14.2.2. Загрузка набора данных 14.2.3. Визуализация данных 14.2.4. Разбиение данных для обучения и тестирования 14.2.5. Создание модели 14.2.6. Обучение модели 14.2.7. Прогнозирование классов для рукописных цифр 14.3. Практический пример: классификация методом k ближайших соседей и набор данных Digits, часть 2 14.3.1. Метрики точности модели 14.3.2. K-проходная перекрестная проверка 14.3.3. Выполнение нескольких моделей для поиска наилучшей 14.3.4. Настройка гиперпараметров 14.4. Практический пример: временные ряды и простая линейная регрессия 14.5. Практический пример: множественная линейная регрессия с набором данных California Housing 14.5.1. Загрузка набора данных 14.5.2. Исследование данных средствами Pandas 14.5.3. Визуализация признаков 14.5.4. Разбиение данных для обучения и тестирования 14.5.5. Обучение модели 14.5.6. Тестирование модели 14.5.7. Визуализация ожидаемых и прогнозируемых цен 14.5.8. Метрики регрессионной модели 14.5.9. Выбор лучшей модели 14.6. Практический пример: машинное обучение без учителя, часть 1 — понижение размерности 14.7. Практический пример: машинное обучение без учителя, часть 2 — кластеризация методом k средних 14.7.1. Загрузка набора данных Iris 14.7.2. Исследование набора данных Iris: описательная статистика в Pandas 14.7.3. Визуализация набора данных функцией pairplot 14.7.4. Использование оценщика KMeans 14.7.5. Понижение размерности методом анализа главных компонент 14.7.6. Выбор оптимального оценщика для кластеризации 14.8. Итоги Глава 15. Глубокое обучение 15.1. Введение 15.1.1. Практическое применение глубокого обучения 15.1.2. Демонстрационные приложения глубокого обучения 15.1.3. Ресурсы Keras 15.2. Встроенные наборы данных Keras 15.3. Нестандартные среды Anaconda 15.4. Нейронные сети 15.5. Тензоры 15.6. Сверточные нейронные сети для распознавания образов; множественная классификация с набором данных MNIST 15.6.1. Загрузка набора данных MNIST 15.6.2. Исследование данных 15.6.3. Подготовка данных 15.6.4. Создание нейронной сети 15.6.5. Обучение и оценка модели 15.6.6. Сохранение и загрузка модели 15.7. Визуализация процесса обучения нейронной сети в TensorBoard 15.8. ConvnetJS: глубокое обучение и визуализация в браузере 15.9. Рекуррентные нейронные сети для последовательностей; анализ эмоциональной окраски с набором данных IMDb 15.9.1. Загрузка набора данных IMDb 15.9.2. Исследование данных 15.9.3. Подготовка данных 15.9.4. Создание нейронной сети 15.9.5. Обучение и оценка модели 15.10. Настройка моделей глубокого обучения 15.11. Модели сверточных нейронных сетей с предварительным обучением на ImageNet 15.12. Итоги Глава 16. Большие данные: Hadoop, Spark, NoSQL и IoT 16.1. Введение 16.2. Реляционные базы данных и язык структурированных запросов (SQL) 16.2.1. База данных books 16.2.2. Запросы SELECT 16.2.3. Секция WHERE 16.2.4. Условие ORDER BY 16.2.5. Слияние данных из нескольких таблиц: INNER JOIN 16.2.6. Команда INSERT INTO 16.2.7. Команда UPDATE 16.2.8. Команда DELETE FROM 16.3. Базы данных NoSQL и NewSQL: краткое введение 16.3.1. Базы данных NoSQL «ключ-значение» 16.3.2. Документные базы данных NoSQL 16.3.3. Столбцовые базы данных NoSQL 16.3.4. Графовые базы данных NoSQL 16.3.5. Базы данных NewSQL 16.4. Практический пример: документная база данных MongoDB 16.4.1. Создание кластера MongoDB Atlas 16.4.2. Потоковая передача твитов в MongoDB 16.5. Hadoop 16.5.1. Обзор Hadoop 16.5.2. Получение статистики по длине слов в «Ромео и Джульетте» с использованием MapReduce 16.5.3. Создание кластера Apache Hadoop в Microsoft Azure HDInsight 16.5.4. Hadoop Streaming 16.5.5. Реализация сценария отображения 16.5.6. Реализация сценария свертки 16.5.7. Подготовка к запуску примера MapReduce 16.5.8. Выполнение задания MapReduce 16.6. Spark 16.6.1. Краткий обзор Spark 16.6.2. Docker и стеки Jupyter Docker 16.6.3. Подсчет слов с использованием Spark 16.6.4. Подсчет слов средствами Spark в Microsoft Azure 16.7. Spark Streaming: подсчет хештегов Twitter с использованием стека Docker pyspark-notebook 16.7.1. Потоковая передача твитов в сокет 16.7.2. Получение сводки хештегов и Spark SQL 16.8. «Интернет вещей» 16.8.1. Публикация и подписка 16.8.2. Визуализация живого потока PubNub средствами Freeboard 16.8.3. Моделирование термостата, подключенного к интернету, в коде Python 16.8.4. Создание информационной панели с Freeboard.io 16.8.5. Создание подписчика PubNub в коде Python 16.9. Итоги

Similar books