Материалы ИЦ «ГЕВИССТА»

Материалы ИЦ «ГЕВИССТА» 

DS/ML/AI

238subscribers

83posts

Содержание поста-книги "Предварительная подготовка данных в Python, том 1 (856-стр. pdf, 42 Jupyter-тетрадки, 1 скрипт)"

ВВЕДЕНИЕ 7
ЧАСТЬ 1. НЕМНОГО МАТЕМАТИКИ 8
1. Функция 8
2. Производная 9
3. Дифференцирование сложных функций 12
4. Частная производная 14
5. Градиент 15
6. Функция потерь и градиентный спуск 15
ЧАСТЬ 2. ИНСТРУМЕНТЫ 21
1. Введение 21
1.1. Структуры данных 21
1.2. Функция 32
1.3. Полезные встроенные функции 33
1.4. Класс 36
1.5. Знакомство с Anaconda 41
2. IPython и Jupyter Notebook 42
3. NumPy 48
3.1. Создание массивов NumPy 48
3.2. Обращение к элементам массива 52
3.3. Получение краткой информации о массиве 55
3.4. Изменение формы массива 56
3.5. Конкатенация массивов 59
3.6. Функции математических операций, знакомство с правилами транслирования 62
3.7. Обработка пропусков 67
3.8. Функция np.linspace() 69
3.9. Функция np.logspace() 71
3.10. Функция np.digitize() 72
3.11. Функция np.searchsorted() 74
3.12. Функция np.bincount() 75
3.13. Функция np.apply_along_axis() 77
3.14. Функция np.insert() 77
3.15. Функция np.repeat() 78
3.16. Функция np.unique() 80
3.17. Функция np.take_along_axis() 81
3.18. Функция np.array_split() 83
4. Библиотеки Numba, datatable, bottleneck для ускорения вычислений 86
4.1. Numba 86
4.2. Datatable 91
4.3. Bottleneck 96
5. SciPy 97
Шаг 1. Формулировка задачи в терминах нулевой гипотезы и альтернативной гипотезы 98
Шаг 2. Выбор статистики 99
Шаг 3. Определение типа критической области 101
Шаг 4. Определение размера критической области (вычисление p-значения и установка уровня значимости) 103
Типы тестов 114
6. pandas 115
6.1. Почему pandas? 115
6.2. Библиотека pandas построена на NumPy 116
6.3. pandas работает с табличными данными 116
6.4. Объекты DataFrame и Series 116
6.5. Задачи, выполняемые pandas 118
6.6. Кратко о типах данных 118
6.7. Представление пропусков 119
6.8. Какую версию pandas использовать? 120
6.9. Подробно знакомимся с типами данных 120
6.10. Чтение данных 148
6.11. Изменение настроек вывода с помощью функции get_options() 150
6.12. Получение общей информации о датафрейме 151
6.13. Отбор данных 153
6.14. Агрегирование данных 165
6.15. Анализ частот с помощью таблиц сопряженности 181
6.16. Импутация пропусков и замена значений 184
6.17. Выполнение SQL-запросов в pandas 187
7. geopandas 197
7.1. Базовые операции 198
7.2. Построение графиков 205
7.3. Работа с пространственными связями 208
8. Polars 213
8.1. Почему Polars? 213
8.2. Библиотека Polars построена на Arrow 213
8.3. Polars тоже работает с табличными данными 213
8.4. Объекты DataFrame и Series 213
8.5. Режимы Eager и Lazy и особенности, позволяющие эффективно работать с данными 215
8.6. Кратко о типах данных 218
7.7. Представление пропусков 219
8.8. Какую версию Polars использовать? 220
8.9. Главные отличия Polars от pandas 220
8.10. Подробно знакомимся с типами данных 225
8.11. Чтение данных 238
8.12. Изменение настроек вывода 239
8.13. Получение общей информации о датафрейме 239
8.14. Отбор данных 241
8.15. Агрегирование данных 256
8.16. Импутация пропусков и замена значений 265
8.17. Манипуляции с датафреймами 270
9. Библиотеки визуализации matplotlib, seaborn и plotly 277
9.1. Matplotlib 277
9.2. Seaborn 298
9.3. Plotly 306
10. scikit-learn 310
10.1. Основы работы с классами, строящими модели предварительной подготовки данных и модели машинного обучения 311
10.2. Строим свой первый конвейер моделей 330
10.3. Разбираемся с дилеммой смещения-дисперсии и знакомимся с бутстрепом 343
10.4. Обработка пропусков с помощью классов MissingIndicator и SimpleImputer 362
10.5. Выполнение дамми-кодирования с помощью класса OneHotEncoder и функции get_dummies(), знакомство с разреженными матрицами 369
10.6. Автоматическое построение конвейеров моделей с помощью класса Pipeline 380
10.7. Знакомство с классом ColumnTransformer 385
10.8. Класс FeatureUnion 397
10.9. Выполнение перекрестной проверки с помощью функции cross_val_score(), получение прогнозов перекрестной проверки с помощью функции cross_val_predict(), сохранение моделей перекрестной проверки с помощью функции cross_validate() 398
10.10. Виды перекрестной проверки для данных формата «один объект – одно наблюдение» (отсутствует ось времени) 409
10.11. Виды перекрестной проверки для данных формата «один объект – несколько наблюдений» и стратифицированных данных (отсутствует ось времени) 436
10.12. Обычный и случайный поиск наилучших гиперпараметров по сетке с помощью классов GridSearchCV и RandomizedSearchCV 444
10.13. Вложенная перекрестная проверка 472
10.14. Классы PowerTransformer, KBinsDiscretizer и FunctionTransformer 479
10.15. Написание собственных классов предварительной подготовки для применения в конвейере 489
10.16. Модификация классов библиотеки scikit-learn для работы с датафреймами 515
10.17. Полный цикл построения конвейера моделей в scikit-learn 521
10.18. Калибровка модели 544
10.19. Полезные классы CountVectorizer и TfidfVectorizer для работы с текстом 576
10.20. Знакомство с доверительным интервалом 592
10.21. Сравнение моделей, полученных в ходе поиска по сетке, с помощью статистических тестов 611
10.22. Разбиение на обучающую, проверочную и тестовую выборки с учетом временной структуры для валидации временных рядов 629
10.23. Виды перекрестной проверки для данных формата «один объект – одно наблюдение» (присутствует ось времени) 686
10.24. Перекрестная проверка расширяющимся/скользящим окном без гэпа/с гэпом со сложной предварительной подготовкой данных внутри цикла 726
10.25. Перекрестная проверка для данных формата «один объект – несколько наблюдений» (присутствует ось времени) 776
10.26. Многоклассовая классификация: подходы «один против всех», «один против одного» и «коды, исправляющие ошибки» 780
10.27. Обучение с частичным привлечением учителя 815
ОТВЕТЫ НА ВОПРОСЫ С СОБЕСЕДОВАНИЙ 836
Go up