Книга познакомит вас с основополагающими компонентами библиотеки SciPy языка Python. Вы научитесь писать элегантный, ясный, краткий и эффективный программный код благодаря примерам из обширной научной экосистемы Python. Кроме SciPy, вы узнаете много нового про сопутствующие библиотеки, такие как NumPy, Pandas, scikit-image. Издание будет полезно всем программистам на Python, желающим использовать научные библиотеки в своей работе. Титульный лист Выходные данные Содержание Предисловие Глава 1. Элегантный NumPy: фундамент научного программирования на Python Введение в данные: что такое экспрессия гена? N-мерные массивы NumPy Зачем использовать массивы ndarray вместо списков Python? Векторизация Транслирование Исследование набора данных экспрессии генов Чтение данных при помощи библиотеки pandas Нормализация Нормализация между образцами Нормализация между генами Нормализация по образцам и генам: RPKM Подведение итогов Глава 2. Квантильная нормализация с NumPy и SciPy Получение данных Разница в распределении экспрессии генов между индивидуумами Бикластеризация количественных данных Визуализация кластеров Предсказание выживаемости Дальнейшая работа: использование кластеров пациентов TCGA Дальнейшая работа: воспроизведение кластеров TCGA Глава 3. Создание сетей из областей изображений при помощи ndimage Изображения – это просто массивы NumPy Задача: добавление сеточного наложения Фильтры в обработке сигналов Фильтрация изображений (двумерные фильтры) Универсальные фильтры: произвольные функции от соседних значений Задача: игра «“Жизнь” Конуэя» Задача: магнитуда градиента Собела Графы и библиотека NetworkX Задача: подбор кривой при помощи SciPy Графы смежности областей Элегантный пакет ndimage: как строить графы из областей изображений Собираем все вместе: сегментация по среднему цвету Глава 4. Частота и быстрое преобразование Фурье Введение в частоту Иллюстрация: спектрограмма пения птиц История Реализация Выбор длины ДПФ Дополнительные понятия ДПФ Частоты и их упорядочивание Оконное преобразование Практическое применение: анализ радарных данных Свойства сигнала в частотной области Оконное преобразование на практике Радарные изображения Дополнительные применения БПФ Дополнительные материалы для чтения Задача: свертывание изображения Глава 5. Таблицы сопряженности на основе разреженных координатных матриц Таблицы сопряженности Задача: вычислительная сложность матриц ошибок Задача: альтернативный алгоритм вычисления матрицы ошибок Задача: мультиклассовая матрица ошибок Форматы данных модуля scipy.sparse Формат COO Задача: представление в формате COO Формат сжатой разреженной строки Применения разреженных матриц: преобразования изображений Задача: поворот изображения Назад к таблицам сопряженности Задача: сокращение объема потребляемой оперативной памяти Таблицы сопряженности в сегментации изображений Теория информации вкратце Задача: вычисление условной энтропии Теория информации применительно к сегментации : изменчивость информации Конвертирование программного кода массивов NumPy под использование разреженных матриц Применение изменчивости информации Дальнейшая работа: сегментация на практике Глава 6. Линейная алгебра в SciPy Основы линейной алгебры Лапласова матрица графа Задача: матрица поворота Лапласовы матрицы с данными о мозге Задача: изображение аффинного подобия Задача: линейная алгебра с разреженными матрицами PageRank: линейная алгебра для репутации и важности Задача: обработка висячих узлов Задача: эквивалентность разных методов получения собственного вектора Заключительные замечания Глава 7. Оптимизация функций в SciPy Оптимизация в SciPy: scipy.optimize Пример: вычисление оптимального сдвига изображения Регистрация изображения при помощи optimize Предотвращение локальных минимумов на основе алгоритма basin hopping Задача: модификация функции align «Что лучше?»: выбор правильной целевой функции Глава 8. Большие данные с Toolz в маленьком ноутбуке Потоковая передача при помощи yield Введение в потоковую библиотеку Toolz Подсчет k-мер и исправление ошибок Каррирование: изюминка потоковой обработки Возвращаясь к подсчету k-мер Задача: анализ главных компонент потоковых данных Марковская модель на основе полного генома Задача: онлайновая распаковка архива Эпилог Что дальше? Списки рассылок GitHub Конференции За пределами SciPy Содействие этой книге До следующей встречи Приложение. Решения задач Решение: добавление сеточного наложения Решение: игра «“Жизнь” Конуэя» Решение: магнитуда градиента Собела Решение: подбор кривой при помощи SciPy Решение: свертывание изображения Решение: вычислительная сложность матриц ошибок Решение: альтернативный алгоритм вычисления матрицы ошибок Решение: вычисление матрицы ошибок Решение: представление в формате COO Решение: поворот изображения Решение: сокращение объема потребляемой оперативной памяти Решение: вычисление условной энтропии Решение: матрица поворота Решение: изображение аффинного подобия Решение: линейная алгебра с разреженными матрицами Решение: обработка висячих узлов Решение: методы проверки Решение: модификация функции align Решение: анализ главных компонент потоковых данных при помощи библиотеки scikit-learn Решение: добавление шага в начало конвейера Предметный указатель