Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634617)
Контекстум
.

Изучаем pandas. Высокопроизводительная обработка и анализ данных в Python (5000,00 руб.)

0   0
Первый авторХейдт
АвторыГруздев А.В.
ИздательствоМ.: ДМК Пресс
Страниц683
ID794981
АннотацияБиблиотека pandas — популярный пакет для анализа и обработки данных на языке Python. Он предлагает эффективные, быстрые, высокопроизводительные структуры данных, которые позволяют существенно упростить работу. Данная книга познакомит вас с обширным набором инструментов, предлагаемых библиотекой pandas, — начиная с обзора загрузки данных с удаленных источников, выполнения численного и статистического анализа, индексации, агрегации и заканчивая визуализацией данных и анализом финансовой информации. Издание предназначено всем разработчикам на языке Python, интересующимся обработкой данных.
ISBN978-5-97060-670-4
УДК004.4238Python:004.6pandas
ББК32.973.2
Хейдт, М. Изучаем pandas. Высокопроизводительная обработка и анализ данных в Python / А.В. Груздев; М. Хейдт .— 2-е изд. — Москва : ДМК Пресс, 2019 .— 683 с. — ISBN 978-5-97060-670-4 .— URL: https://rucont.ru/efd/794981 (дата обращения: 20.04.2024)

Предпросмотр (выдержки из произведения)

Изучаем_pandas._Высокопроизводительная_обработка_и_анализ_данных_в_Python.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
Стр.15
Изучаем_pandas._Высокопроизводительная_обработка_и_анализ_данных_в_Python.pdf
УДК 004.4238Python:004.6pandas ББК 32.973.2 Х35 Александра Анина, Бенджамина Прайка, Теда Петроу, Степана Сокола за предоставленные дополнительные материалы Авторы благодарят Софию Хайслер, Джоша Девлина, Х35 Изучаем pandas / пер. с анг. А. В. Груздева. – М.: ДМК Пресс, 2019. – 682 с.: ил. ISBN 978-5-97060-670-4 Библиотека pandas – популярный пакет для анализа и обработки данных на языке Хейдт М., Груздев А. В. Python. Он предлагает эффективные, быстрые, высокопроизводительные структуры данных, которые позволяют существенно упростить работу. Данная книга познакомит вас с обширным набором инструментов, предлагаемых библиотекой pandas, – начиная с обзора загрузки данных с удаленных источников, выполнения численного и статистического анализа, индексации, агрегации и заканчивая визуализацией данных и анализом финансовой информации. Издание предназначено всем разработчикам на языке Python, интересующимся обработкой данных. УДК 004.4238Python:004.6pandas ББК 32.973.2 Copyright © Packt Publishing 2017. First published in the English language under the title ‘Learning Pandas – Second Edition – (9781787123137)’. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-78712-313-7 (анг.) ISBN 978-5-97060-670-4 (рус.) Copyright © 2017 Packt Publishing © Оформление, издание, перевод, ДМК Пресс, 2019
Стр.5
Содержание Предисловие ........................................................................................................................ 15 Глава 1. Библиотека pandas и анализ данных ..................................................... 19 Знакомство с библиотекой pandas .......................................................................................... 19 Обработка данных, анализ, наука и библиотека pandas ........................................................ 21 Обработка данных ................................................................................................................ 22 Анализ данных ..................................................................................................................... 22 Наука о данных ..................................................................................................................... 23 Предназначение библиотеки pandas .................................................................................. 23 Процесс анализа данных .......................................................................................................... 23 Процесс ................................................................................................................................. 24 Взаимосвязь между книгой и процессом анализа данных .................................................... 28 Понятия «данные» и «анализ» в контексте нашего знакомства с библиотекой pandas ...... 29 Типы данных ........................................................................................................................ 29 Временные ряды .................................................................................................................. 31 Общие понятия анализа и статистики ............................................................................... 31 Другие библиотеки Python, работающие вместе с библиотекой pandas .............................. 34 Численные и научные вычисления – NumPy и SciPy ........................................................ 34 Статистический анализ – StatsModels ............................................................................... 35 Машинное обучение – scikit-learn ..................................................................................... 35 PyMC – стохастическое байесовское моделирование ....................................................... 35 Визуализация данных – matplotlib и seaborn ..................................................................... 36 Выводы ...................................................................................................................................... 36 Глава 2. Запуск библиотеки pandas ........................................................................... 37 Установка Anaconda .................................................................................................................. 37 IPython и Jupyter Notebook ....................................................................................................... 39 IPython ................................................................................................................................. 39 Jupyter Notebook ................................................................................................................... 40 Знакомство со структурами данных библиотеки pandas – Series и DataFrame ................... 43 Импорт pandas ...................................................................................................................... 43 Объект Series ......................................................................................................................... 44 Объект DataFrame ................................................................................................................. 48 Загрузка данных из CSV-файла в объект DataFrame .......................................................... 52 Визуализация ............................................................................................................................ 55 Выводы ...................................................................................................................................... 56 Глава 3. Представление одномерных данных с помощью объекта Series ..................................................................................................................... 57 Настройка библиотеки pandas ................................................................................................. 58 Создание объекта Series ........................................................................................................... 58 Создание объекта Series с помощью питоновских списков и словарей .......................... 58 Создание объекта Series с помощью функций NumPy ...................................................... 60 Создание объекта Series с помощью скалярного значения .............................................. 61
Стр.6
6  Содержание Свойства .index и .values ........................................................................................................... 61 Размер и форма объекта Series ................................................................................................ 62 Установка индекса во время создания объекта Series ........................................................... 63 Использование методов .head(), .tail() и .take() для вывода значений ................................. 64 Получение значений в объекте Series по метке или позиции .............................................. 65 Поиск по метке с помощью оператора [] и свойства .ix[] .................................................. 65 Явный поиск по позиции с помощью свойства .iloc[] ....................................................... 67 Явный поиск по меткам с помощью свойства .loc[] .......................................................... 67 Создание срезов объекта Series ............................................................................................... 68 Выравнивание данных по меткам индекса ............................................................................ 73 Выполнение логического отбора ............................................................................................. 76 Переиндексация объекта Series .............................................................................................. 78 Модификация объекта Series на месте .................................................................................... 81 Выводы ..................................................................................................................................... 83 Глава 4. Представление табличных и многомерных данных с помощью объекта DataFrame .................................................................................. 84 Настройка библиотеки pandas ................................................................................................. 85 Создание объектов DataFrame ................................................................................................. 85 Создание объекта DataFrame на основе результатов функций NumPy ............................ 85 Создание объекта DataFrame с помощью питоновского словаря и объектов Series ....... 87 Создание объекта DataFrame на основе CSV-файла .......................................................... 89 Доступ к данным внутри объекта DataFrame ......................................................................... 90 Отбор столбцов в объекте DataFrame ................................................................................. 91 Отбор строк в объекте DataFrame ....................................................................................... 92 Поиск скалярного значения по метке и позиции с помощью .at[] и .iat[] ........................ 93 Создание среза датафрейма с помощью оператора [] ....................................................... 94 Логический отбор строк ........................................................................................................... 94 Одновременный отбор строк и столбцов ............................................................................... 96 Выводы ...................................................................................................................................... 96 Глава 5. Выполнение операций над объектом DataFrame и его содержимым ............................................................................................................ 97 Настройка библиотеки pandas ................................................................................................. 97 Переименование столбцов....................................................................................................... 98 Добавление новых столбцов с помощью оператора [] и метода .insert() ............................. 99 Добавление столбцов за счет расширения датафрейма ...................................................... 100 Добавление столбцов с помощью конкатенации ................................................................. 101 Переупорядочивание столбцов ............................................................................................. 102 Замена содержимого столбца ................................................................................................ 103 Удаление столбцов .................................................................................................................. 103 Присоединение новых строк ................................................................................................. 105 Конкатенация строк ............................................................................................................... 107 Добавление и замена строк за счет расширения датафрейма ............................................ 109 Удаление строк с помощью метода .drop() ........................................................................... 109 Удаление строк с помощью логического отбора .................................................................. 110 Удаление строк с помощью среза .......................................................................................... 111 Выводы .................................................................................................................................... 111 Глава 6. Индексация данных ...................................................................................... 112 Настройка библиотеки pandas ............................................................................................... 112
Стр.7
Содержание  7 Важность применения индексов .......................................................................................... 113 Типы индексов библиотеки pandas ...................................................................................... 115 Основной тип Index ........................................................................................................... 115 Индексы Int64Index и RangeIndex, в качестве меток используются целые числа ......... 115 Индекс Float64Index, в качестве меток используются числа с плавающей точкой ....... 117 Представление дискретных интервалов с использованием IntervalIndex ................... 117 Категории в качестве индекса – CategoricalIndex ............................................................ 118 Индексация по датам и времени с помощью DatetimeIndex ......................................... 119 Индексация периодов времени с помощью PeriodIndex ............................................... 119 Работа с индексами ............................................................................................................... 120 Создание и использование индекса в объекте Series или объекте DataFrame .............. 120 Отбор значений с помощью индекса .............................................................................. 121 Преобразование данных в индекс и получение данных из индекса .............................. 123 Переиндексация объекта библиотеки pandas .................................................................. 124 Иерархическая индексация ................................................................................................... 125 Выводы ................................................................................................................................... 128 Глава 7. Категориальные данные ............................................................................. 129 Настройка библиотеки pandas ............................................................................................... 129 Создание категориальных переменных ............................................................................... 130 Переименование категорий .................................................................................................. 135 Добавление категорий ........................................................................................................... 136 Удаление категорий ................................................................................................................ 136 Удаление неиспользуемых категорий ................................................................................... 137 Установка категорий .............................................................................................................. 137 Вычисление описательных статистик для категориальной переменной .......................... 138 Обработка школьных оценок ................................................................................................. 138 Выводы .................................................................................................................................... 141 Глава 8. Численные и статистические методы .................................................. 142 Настройка библиотеки pandas ............................................................................................... 143 Применение численных методов к объектам библиотеки pandas ...................................... 143 Выполнение арифметических операций над объектами DataFrame или Series ........... 144 Вычисление количества значений .................................................................................... 147 Определение уникальных значений (и их встречаемости) ............................................ 147 Вычисление минимума и максимума .............................................................................. 148 Вычисление n наименьших значений и n наибольших значений ................................. 148 Вычисление накопленных значений ................................................................................ 149 Выполнение статистических операций c объектами библиотеки pandas .......................... 150 Получение итоговых описательных статистик ................................................................ 150 Измерение центральной тенденции: среднее, медиана и мода .................................... 151 Вычисление дисперсии и стандартного отклонения ...................................................... 153 Вычисление ковариации и корреляции ........................................................................... 154 Дискретизация и квантилизация данных ........................................................................ 156 Вычисление ранга значений ............................................................................................. 160 Вычисление процентного изменения для каждого наблюдения серии ........................ 161 Выполнение операций со скользящим окном ................................................................. 161 Создание случайной выборки данных ............................................................................. 164 Выводы .................................................................................................................................... 165 Глава 9. Загрузка данных ............................................................................................. 166 Настройка библиотеки pandas ............................................................................................... 166
Стр.8
8  Содержание Работа с CSV-файлами и текстовыми/табличными данными ............................................ 167 Исследование CSV-файла ................................................................................................. 167 Чтение CSV-файла в датафрейм ....................................................................................... 168 Указание индекса столбца при чтении CSV-файла ........................................................ 168 Вывод и спецификация типа данных ............................................................................... 169 Указание имен столбцов .................................................................................................... 169 Указание конкретных столбцов для загрузки .................................................................. 170 Сохранение датафрейма в CSV-файл ............................................................................... 170 Работа с данными, в которых используются разделители полей ................................... 171 Обработка загрязненных данных, в которых используются разделители полей ......... 172 Чтение и запись данных в формате Excel ............................................................................. 174 Чтение и запись JSON-файлов ............................................................................................... 177 Чтение HTML-файлов из интернета ...................................................................................... 178 Чтение и запись HDF5-файлов .............................................................................................. 180 Загрузка CSV-файлов из интернета ...................................................................................... 182 Чтение из базы данных SQL и запись в базу данных SQL .................................................... 182 Загрузка данных с удаленных сервисов ............................................................................... 185 Загрузка базы данных по экономической статистике Федерального резервного банка Сент-Луиса .............................................................................................................. 185 Загрузка данных Кеннета Френча .................................................................................... 187 Загрузка данных Всемирного банка ................................................................................ 188 Выводы .................................................................................................................................... 192 Глава 10. Приведение данных в порядок ............................................................ 193 Настройка библиотеки pandas ............................................................................................... 193 Что такое приведение данных в порядок? ............................................................................ 194 Как работать с пропущенными данными ............................................................................. 195 Поиск значений NaN в объектах библиотеки pandas ...................................................... 196 Удаление пропущенных данных ....................................................................................... 198 Обработка значений NaN в ходе арифметических операций ........................................ 201 Заполнение пропущенных данных ................................................................................... 202 Прямое и обратное заполнение пропущенных значений .............................................. 203 Заполнение с помощью меток индекса ............................................................................ 204 Выполнение интерполяции пропущенных значений ..................................................... 205 Обработка дублирующихся данных ...................................................................................... 207 Преобразование данных ........................................................................................................ 210 Сопоставление значений другим значениям .................................................................. 210 Замена значений ................................................................................................................ 211 Применение функций для преобразования данных ....................................................... 214 Выводы .................................................................................................................................... 218 Глава 11. Объединение, связывание и изменение формы данных ......... 219 Настройка библиотеки pandas ............................................................................................... 219 Конкатенация данных, расположенных в нескольких объектах ......................................... 220 Понимание семантики конкатенации, принятой по умолчанию .................................. 220 Переключение осей выравнивания .................................................................................. 224 Определение типа соединения ......................................................................................... 225 Присоединение вместо конкатенации ............................................................................. 226 Игнорирование меток индекса ......................................................................................... 226 Слияние и соединение данных .............................................................................................. 227 Слияние данных, расположенных в нескольких объектах .............................................. 227
Стр.9
Содержание  9 Настройка семантики соединения при выполнении слияния ....................................... 230 Поворот данных для преобразования значений в индексы и наоборот ............................ 233 Состыковка и расстыковка данных ....................................................................................... 234 Состыковка с помощью неиерархических индексов ....................................................... 234 Расстыковка с помощью иерархических индексов ......................................................... 236 Расплавление данных для преобразования «широкого» формата в «длинный» и наоборот .......................................................................................................................... 239 Преимущества использования состыкованных данных ...................................................... 240 Выводы .................................................................................................................................... 241 Глава 12. Агрегирование данных ............................................................................. 242 Настройка библиотеки pandas ............................................................................................... 242 Обзор схемы «разделение–применение–объединение» ..................................................... 243 Данные для примеров ............................................................................................................ 244 Разделение данных ................................................................................................................. 244 Группировка по значениям отдельного столбца ............................................................. 244 Просмотр результатов группировки ................................................................................. 245 Группировка по нескольким столбцам ............................................................................. 248 Группировка по уровням индекса .................................................................................... 249 Применение агрегирующих функций, преобразований и фильтров ................................. 251 Применение агрегирующих функций к группам ............................................................ 251 Преобразование групп данных ......................................................................................... 253 Исключение групп из процедуры агрегирования ........................................................... 258 Выводы .................................................................................................................................... 259 Глава 13. Анализ временных рядов ........................................................................ 260 Настройка библиотеки pandas ............................................................................................... 260 Представление дат, времени и интервалов .......................................................................... 261 Объекты datetime, day и time ............................................................................................. 261 Создание временной метки с помощью объекта Timestamp ......................................... 263 Использование объекта Timedelta для представления временного интервала ............ 263 Введение во временные ряды................................................................................................ 264 Индексация с помощью объекта DatetimeIndex .............................................................. 264 Создание временного ряда с определенной частотой .................................................... 269 Вычисление новых дат с помощью смещений .................................................................... 271 Представление временных интервалов с помощью смещений дат .............................. 271 Привязанные смещения ................................................................................................... 274 Представление промежутков времени с помощью объектов Period ................................. 275 Создание временного интервала с помощью объекта Period ........................................ 275 Индексация с помощью объекта PeriodIndex .................................................................. 277 Обработка праздников с помощью календарей .................................................................. 279 Нормализация временных меток с помощью часовых поясов .......................................... 280 Операции с временными рядами ......................................................................................... 284 Опережение и запаздывание ........................................................................................... 284 Преобразование частоты временного ряда .................................................................... 287 Увеличение или уменьшение шага дискретизации временного ряда ........................... 289 Применение к временному ряду операций на основе скользящего окна ......................... 294 Выводы .................................................................................................................................... 297 Глава 14. Визуализация ................................................................................................ 298 Настройка библиотеки pandas ............................................................................................... 299
Стр.10
10  Содержание Основные инструменты визуализации ................................................................................ 299 Создание графиков временных рядов .................................................................................. 300 Настройка внешнего вида графика временного ряда ..................................................... 302 Виды графиков, часто использующиеся в статистическом анализе данных ..................... 314 Демонстрация относительных различий с помощью столбиковых диаграмм ............. 314 Визуализация распределений данных с помощью гистограмм ..................................... 316 Визуализация распределений категориальных данных с помощью ящичных диаграмм с усами ............................................................................................................... 318 Отображение накопленных итогов с помощью площадных диаграмм ........................ 318 Визуализация взаимосвязи между двумя переменными с помощью диаграммы рассеяния ............................................................................................................................ 320 Визуализация оценок распределения с помощью графика ядерной оценки плотности ........................................................................................................................... 320 Визуализация корреляций между несколькими переменными с помощью матрицы диаграмм рассеяния .......................................................................................... 321 Отображение взаимосвязей между несколькими переменными с помощью тепловых карт ..................................................................................................................... 322 Размещение нескольких графиков на одном рисунке вручную ......................................... 323 Выводы ................................................................................................................................... 325 Приложение 1. Советы по оптимизации вычислений в библиотеке pandas ...................................................................................................... 326 Базовое итерирование ........................................................................................................... 327 Итерирование с помощью метода .iterrows() ....................................................................... 328 Более лучший способ итерирования с помощью метода .apply() ....................................... 328 Векторизация c помощью объектов Series ........................................................................... 329 Векторизация с помощью массивов NumPy ......................................................................... 329 Выводы .................................................................................................................................... 330 Приложение 2. Улучшение производительности pandas (из официального пособия по библиотеке pandas) ....................................... 331 Написание расширений на языке C для pandas ................................................................... 331 «Чистый» Python ................................................................................................................. 331 Обычный Cython ................................................................................................................ 333 Использование библиотеки Numba ....................................................................................... 333 Jit ......................................................................................................................................... 334 Vectorize .............................................................................................................................. 334 Вычисление выражений с помощью функции eval() ........................................................... 335 Поддерживаемый синтаксис ............................................................................................. 336 Примеры использования функции eval() ......................................................................... 336 Метод DataFrame.eval() ...................................................................................................... 337 Приложение 3. Используем pandas для больших данных ......................... 341 Работаем с данными бейсбольных игр ................................................................................. 341 Внутреннее представление датафрейма .............................................................................. 343 Подтипы .................................................................................................................................. 344 Оптимизация числовых столбцов с помощью понижающего преобразования ................ 345 Сравнение способов хранения числовых и строковых значений ....................................... 347 Оптимизация типов object с помощью типа category ......................................................... 349 Задаем типы во время считывания данных ......................................................................... 353 Выводы .................................................................................................................................... 355
Стр.11
Содержание  11 Приложение 4. Пример предварительной подготовки данных в pandas (конкурсная задача Tinkoff Data Science Challenge) ................... 356 Считывание CSV-файла в объект DataFrame ........................................................................ 357 Преобразование типов переменных ..................................................................................... 382 Переименование категорий переменных ............................................................................ 384 Обработка редких категорий ................................................................................................. 385 Разбиение набора данных на обучающую и контрольную.................................................. 390 Импутация пропусков ............................................................................................................ 393 Конструирование новых признаков ...................................................................................... 398 Создание переменной, у которой значения основаны на значениях исходной переменной ........................................................................................................................ 399 Создание бинарной переменной на основе значений количественных переменных ........................................................................................................................ 401 Создание переменной, у которой каждое значение – среднее значение количественной переменной, взятое по уровню категориальной переменной ........... 402 Возведение в квадрат ......................................................................................................... 403 Дамми-кодирование (One-hot Encoding) ......................................................................... 405 Кодирование контрастами (Effect Coding) ....................................................................... 407 Присвоение категориям в лексикографическом порядке целочисленных значений, начиная с 0 (Label Encoding) ............................................................................ 407 Создание переменной, у которой каждое значение – частота наблюдений в категории переменных (Frequency Encoding) ............................................................... 409 Кодирование вероятностями зависимой переменной (Likelihood Encoding) ................ 410 Кодировка средним значением зависимой переменной, сглаженным через сигмоидальную функцию ....................................................................................... 412 Кодировка средним значением зависимой переменной, сглаженным через параметр регуляризации ......................................................................................... 415 Кодировка простым средним значением зависимой переменной по схеме leave-one-out ...................................................................................................................... 415 Кодировка простым средним значением зависимой переменной по схеме K-fold ..... 416 Кодировка средним значением зависимой переменной, сглаженным через сигмоидальную функцию, по схеме K-fold ............................................................ 416 Присвоение категориям в зависимости от порядка их появления целочисленных значений, начиная с 1 ( Ordinal Encoding) ............................................. 421 Бинарное кодирование (Binary Encoding) ........................................................................ 422 Создание переменных-взаимодействий .......................................................................... 422 Категоризация (биннинг) количественной переменной ................................................ 423 Дамми-кодирование и подготовка массивов для обучения и проверки............................ 429 Выбор метрики качества ........................................................................................................ 431 Построение моделей случайного леса, градиентного бустинга и логистической регрессии ................................................................................................................................ 447 Математический аппарат логистической регрессии ........................................................... 488 Отдельная предварительная подготовка данных для логистической регрессии .............. 494 Построение логистической регрессии в библиотеке H2O ................................................... 538 Приложение 5. Пример предварительной подготовки данных в pandas (конкурсная задача предсказания отклика ОТП Банка) ............ 563 Этап I. Построение модели на обучающей выборке – части исторической выборки и ее проверка на контрольной выборке – части исторической выборки ........................... 566 I.1. Считывание CSV-файла, содержащего исторические данные, в объект DataFrame............................................................................................................................ 566
Стр.12
12  Содержание I.2. Преобразование типов переменных........................................................................... 567 I.3. Импутация пропусков, не использующая результаты математических вычислений (импутация, которую можно выполнять до/после разбиения на обучение/контроль) ...................................................................................................... 570 I.4. Обработка редких категорий ...................................................................................... 572 I.5. Конструирование новых признаков, не использующее результаты математических вычислений (которое можно выполнять до/после разбиения на обучение/контроль) ...................................................................................................... 575 I.6. Разбиение на обучающую и контрольную выборки .................................................. 577 I.7. Импутация пропусков, использующая статистики – результаты математических вычислений (ее нужно выполнять после разбиения на обучение и контроль) .................................................................................................... 577 I.8. Поиск преобразований переменных, максимизирующих нормальность распределения (дается в сокращенном виде) .................................................................. 578 I.9. Биннинг как один из способов конструирования новых признаков, использующий результаты математических вычислений (нужно выполнять только после разбиения на обучение и контроль) ........................................................... 582 I.10. Выполнение преобразований, исходя из информации гистограмм распределения и графиков квантиль-квантиль .............................................................. 587 I.11. Конструирование новых признаков ......................................................................... 587 I.12. Стандартизация .......................................................................................................... 589 I.13. Дамми-кодирование .................................................................................................. 589 I.14. Подготовка массивов признаков и массивов меток зависимой переменной ....... 590 I.15. Построение логистической регрессии с помощью класса LogisticRegression библиотеки scikit-learn ...................................................................................................... 590 I.16. Настройка гиперпараметров логистической регрессии с помощью класса GridSearchCV ....................................................................................................................... 591 I.17. Отбор признаков для логистической регрессии с помощью случайного леса (класса RFE) ......................................................................................................................... 592 I.18. Отбор признаков для логистической регрессии с помощью BorutaPy ................... 594 I.19. Проблема дисбаланса классов ................................................................................... 597 Этап II. Построение модели на всей исторической выборке и применение к новым данным ..................................................................................................................... 605 II.1. Считывание CSV-файла, содержащего исторические данные, в объект DataFrame............................................................................................................................ 605 II.2. Предварительная обработка исторических данных ................................................. 605 II.3. Обучение модели логистической регрессии на всех исторических данных .......... 611 II.4. Считывание CSV-файла, содержащего новые данные, в объект DataFrame ........... 611 II.5. Предварительная обработка новых данных ............................................................. 612 II.6. Применение модели логистической регрессии, построенной на всех исторических данных, к новым данным .......................................................................... 612 Приложение 6. Работа с датами и строками ...................................................... 615 Работа с датами....................................................................................................................... 615 Работа со строками ................................................................................................................. 618 Изменение регистра строк ................................................................................................ 618 Изменение строкового значения ...................................................................................... 620 Определение пола клиента по отчеству ........................................................................... 620 Удаление лишних символов из строк ............................................................................... 624 Удаление повторяющихся строк ....................................................................................... 627 Извлечение нужных символов из строк ........................................................................... 628
Стр.13
Содержание  13 Приложение 7. Работа с предупреждением SettingWithCopyWarning в библиотеке pandas ................................................. 631 Что представляет из себя предупреждение SettingWithCopyWarning? ............................... 632 Присваивание по цепочке (chained assignment) .................................................................. 633 Скрытая цепочка .................................................................................................................... 635 Советы и рекомендации по работе с предупреждением SettingWithCopyWarning ........... 637 Отключение предупреждения ........................................................................................... 637 Однотипные и многотипные объекты .................................................................................. 638 Ложные срабатывания ........................................................................................................... 639 Подробнее о присваивании по цепочке ................................................................................ 641 Ложные пропуски ................................................................................................................... 643 И вновь о скрытой цепочке .................................................................................................... 644 Приложение 8. От Pandas к Scikit-Learn – новый подход к управлению рабочими процессами .................................................................... 647 Новый уровень интеграции Scikit-Learn с Pandas ................................................................ 647 Краткое резюме и цели статьи .............................................................................................. 647 Знакомство с классом ColumnTransformer и обновленным классом OneHotEncoder ........ 648 Задача предсказания цен на недвижимость с Kaggle ......................................................... 649 Исследуем данные .............................................................................................................. 649 Удаление зависимой переменной из обучающего набора ............................................. 649 Кодировка отдельного столбца со строковыми значениями .......................................... 650 Scikit-Learn – только двумерные данные ......................................................................... 650 Импортируем класс, создаем экземпляр класса – модель , обучаем модель – трехэтапный процесс работы с моделью .............................................................................. 650 У нас NumPy-массив. Где имена столбцов? .......................................................................... 651 Проверка корректности первой строки данных .................................................................. 652 Используем метод .inverse_transform() для автоматизации данной операции .............................................................................. 652 Применение преобразования к тестовому набору .............................................................. 653 Проблема № 1 – новые категории в тестовом наборе ......................................................... 654 Ошибка: Unknown Category ............................................................................................... 654 Проблема № 2 – пропущенные значения в тестовом наборе ............................................. 655 Проблема № 3 – пропущенные значения в обучающем наборе ......................................... 655 Необходимость импутации пропущенных значений .......................................................... 656 Больше о методе .fit_transform() ........................................................................................ 657 Применение нескольких преобразований к тестовому набору .......................................... 657 Применение конвейера .......................................................................................................... 658 Почему для тестового набора мы вызываем только метод .transform()? ....................... 659 Выполнение преобразований для нескольких столбцов со строковыми значениями ..... 659 Обращение к отдельным этапам конвейера......................................................................... 659 Использование нового ColumnTransformer для отбора столбцов ....................................... 660 Передаем конвейер в ColumnTransformer ............................................................................. 660 Передаем весь объект DataFrame в ColumnTransformer .................................................. 661 Извлечение названий признаков ..................................................................................... 661 Преобразование количественных переменных ................................................................... 662 Работа со всеми количественными признаками .................................................................. 662 Передаем конвейер с преобразованиями для категориальных признаков и конвейер с преобразованиями для количественных признаков в ColumnTransformer ..................... 663 Машинное обучение ............................................................................................................... 664 Перекрестная проверка .......................................................................................................... 665
Стр.14
14  Содержание Отбор наилучших значений гиперпараметров с помощью решетчатого поиска ............. 665 Представление результатов решетчатого поиска в виде датафрейма pandas .............. 666 Создание пользовательского трансформера , выполняющего основные преобразования ...................................................................................................................... 666 Редкие категории ............................................................................................................... 666 Написание пользовательского класса .............................................................................. 666 Применение класса BasicTransformer.................................................................................... 669 Использование BasicTransformer в конвейере ................................................................. 669 Биннинг и преобразование количественных переменных с помощью нового класса KBinsDscretizer ............................................................................................................ 670 Отдельная обработка всех столбцов с годами с помощью ColumnTransformer ................. 671 Применение RobustScaler и FunctionTransformer ................................................................. 673 Предметный указатель ................................................................................................. 677
Стр.15

Облако ключевых слов *


* - вычисляется автоматически
.
.