Статистический анализ данных в Python: лабораторный практикум
Покупка
Новинка
Основная коллекция
Тематика:
Системы управления базами данных (СУБД)
Издательство:
РГЭУ (РИНХ)
Год издания: 2024
Кол-во страниц: 104
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7972-3232-2
Артикул: 861248.01.99
Учебное пособие содержит перечень и краткую теоретическую справку по основным темам лабораторных работ курса «Статистический анализ данных в Python: Лабораторный практикум» для направления подготовки «статистика». В пособии представлены задания для лабораторных работ, варианты заданий для самостоятельной работы студентов всех форм обучения. Пособие может использоваться и для иных направлений и специальностей, а также для самостоятельной подготовки.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 519: Комбинатор. анализ. Теория графов. Теория вер. и мат. стат. Вычисл. мат., числ. анализ. Мат. кибер..
ОКСО:
- ВО - Бакалавриат
- 01.03.05: Статистика
- ВО - Магистратура
- 01.04.05: Статистика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ РОСТОВСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ (РИНХ) Т.А. Шкодина, С.М. Щербаков СТАТИСТИЧЕСКИЙ АНАЛИЗ ДАННЫХ В PYTHON: ЛАБОРАТОРНЫЙ ПРАКТИКУМ УЧЕБНОЕ ПОСОБИЕ для направления 01.03.05 «статистика» Ростов-на-Дону Издательско-полиграфический комплекс РГЭУ (РИНХ) 2024
УДК 004.438 + 519.25 ББК 32.973.2 Ш67 Шкодина, Т.А. Ш67 Статистический анализ данных в Python: Лабораторный практикум : учебное пособие для направления 01.03.05 «статистика» / Т.А. Шкодина, С.М. Щербаков. – Ростов-на-Дону : Издательско-полиграфический комплекс РГЭУ (РИНХ), 2024. – 104 с. ISBN 978-5-7972-3232-2 Учебное пособие содержит перечень и краткую теоретическую справку по основным темам лабораторных работ курса «Статистический анализ данных в Python: Лабораторный практикум» для направления подготовки «статистика». В пособии представлены задания для лабораторных работ, варианты заданий для самостоятельной работы студентов всех форм обучения. Пособие может использоваться и для иных направлений и специальностей, а также для самостоятельной подготовки. УДК 004.438 + 519.25 ББК 32.973.2 Авторы: Шкодина Т.А., ст. преподаватель кафедры информационных систем и прикладной информатики РГЭУ (РИНХ), Щербаков С.М., д.э.н., доцент, зав. кафедрой информационных систем и прикладной информатики РГЭУ (РИНХ) Рецензенты: Широбокова С.Н., к.э.н., доцент кафедры «Информационные и измерительные системы и технологии» Южно-Российского государственного политехнического университета (НПИ) имени М.И. Платова, Ефимова Е.В., к.э.н., зав. кафедрой информационных технологий и программирования РГЭУ (РИНХ) Утверждено в качестве учебного пособия учебно-методическим советом РГЭУ (РИНХ). ISBN 978-5-7972-3232-2 © Шкодина Т.А., Щербаков С.М., 2024 © Ростовский государственный экономический университет (РИНХ), 2024
СОДЕРЖАНИЕ ЛАБОРАТОРНАЯ РАБОТА 1 Математический аппарат языка Python. Введение в модуль NumPy _____________________________ 5 Задания для самостоятельного выполнения 11 ЛАБОРАТОРНАЯ РАБОТА 2 Статистика и комбинаторика. Математическая библиотека Python – SymPy _____________ 12 Задания для самостоятельного выполнения 20 ЛАБОРАТОРНАЯ РАБОТА 3 Анализ данных. Основы работы с Pandas ________________ 21 Задания для самостоятельного выполнения 30 ЛАБОРАТОРНАЯ РАБОТА 4 Работа с текстовыми данными. Сбор данных из открытых источников. Предварительная обработка текстовых данных ___________ 31 Задания для самостоятельного выполнения 39 ЛАБОРАТОРНАЯ РАБОТА 5 Построение и анализ сетей графов. Библиотека Networkx ________________________________ 40 Задания для самостоятельного выполнения 43 ЛАБОРАТОРНАЯ РАБОТА 6 Модели и алгоритмы машинного обучения. Оценка алгоритмов машинного обучения. Прогнозирование данных. Библиотека SciPy, Sklearn _____________________________ 44 Задания для самостоятельного выполнения 53 ЛАБОРАТОРНАЯ РАБОТА 7 Иерархическая кластеризация. Деревья решений. Случайный лес. Ансамбли моделей. Модуль Sklearn _____________________ 54 Задания для самостоятельного выполнения 59
ЛАБОРАТОРНАЯ РАБОТА 8 Обучение без учителя. Алгоритм кластеризации. Метод k-средних ____________________________________ 60 Задания для самостоятельного выполнения 71 ЛАБОРАТОРНАЯ РАБОТА 9 Визуализация данных. Представление результатов исследования. Построение графического изображения результатов статистического анализа данных _______________________ 72 Задания для самостоятельного выполнения 83 ЛАБОРАТОРНАЯ РАБОТА 10 Обработка и визуализация графических изображений _____ 84 Задания для самостоятельного выполнения 90 ЛАБОРАТОРНАЯ РАБОТА 11 Создание нейронной сети. Использование библиотеки Keras _______________________ 91 Задания для самостоятельного выполнения 96 СОСТАВ И СТРУКТУРА ИНДИВИДУАЛЬНОГО ЗАДАНИЯ _________________________ 97 СПИСОК ТЕМ К ИНДИВИДУАЛЬНОМУ ЗАДАНИЮ ______________________ 98 СПИСОК РЕКОМЕНДОВАННЫХ И ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ____________________ 100 ПРИЛОЖЕНИЯ _____________________________________ 101
ЛАБОРАТОРНАЯ РАБОТА 1 Математический аппарат языка Python. Введение в модуль NumPy NumPy (Numerical Python) – библиотека Python, которая предоставляет объект многомерного массива, различные производные объекты (такие как маскированные массивы и матрицы) и набор подпрограмм для быстрых операций с массивами, включая математические, логические, манипуляции с фигурами, сортировку, выбор, ввод-вывода, дискретные преобразования Фурье, основы линейной алгебры, основные статистические операции, случайное моделирование и др. [https://numpy.org/doc/stable/]. Он предоставляет ndarray – объект однородного n-мерного массива. NumPy можно использовать для выполнения множества математических операций с массивами. Важные атрибуты объектов ndarray: ndarray.ndim – число измерений массива; ndarray.shape – размеры массива (показывает длину массива по i и j); ndarray.size – количество элементов массива; darray.dtype – объект, описывающий тип элементов массива; ndarray.itemsize – размер каждого элемента массива в байтах; NumPy можно установить с помощью pip, выполнив следующую команду: В некоторых средах Python, например, Google Colab модуль NumPy установлен по умолчанию. Импорт и использование NumPy:
Основные способы создания массива 1. Массивы NumPy можно определить с помощью последовательностей списков или кортежей. При использовании numpy. array для определения нового массива необходимо учитывать тип данных. 2. NumPy имеет более тридцати встроенных функций для создания массивов. Эти функции можно разделить на категории: – создание одномерных массивов: – создание двумерных массивов (например, np. eye(n, m), где i – индекс строки, j – индекс столбца создаст единичную матрицу): – ndarrays (numpy.ones(), numpy.zeros(), random() определяют массивы на основе желаемой формы): Печать массивов Если массив слишком большой, NumPy автоматически скрывает центральную часть массива: Индексирование одномерного массива В одномерном массиве индекс элементов считается с нуля. Необходимо указав нужный индекс в квадратных скобках, как и в списках Python.
Индексирование двумерного массива: Индексирование многомерного массива: Как видим, для массивов NumPy можно применять срезы, причем по всем измерениям. Типы данных массивов – bool, int, float, complex. Преобразование массива из одного типа данных в другой: Создание матриц: identity(N[, dtype]) – единичная матрица; tri(N[, M, k, dtype]) – нижняя треугольная матрица из единиц, где dtype – тип данных, N – число строк, M – число столбцов, k – задает диагональ (k=0 – главная, k>0 – смещение вверх, k<0 – смещение вниз).
Таблица 1 – Функции для работы с массивами Функция Описание resize(a, new_shape) возвращает новый массив заданной формы (если элементов не хватает, то заполняется циклически) reshape(a, newshape [, order]) новая форма для данных (полный размер обязан совпадать) ravel(a[, order]) возвращает новый одномерный массив ndarray.flat итератор по массиву (вызывается как метод) ndarray.flatten([order]) копия массива без формы (вызывается как метод) rollaxis(a, axis[, start]) сдвигает выбранную ось до нужного положения swapaxes(a, axis1, axis2) меняет две оси в массиве ndarray.T то же что и транспонирование (если размерность=1, то не изменяется) transpose(a[, axes]) транспонирует массив (переставляет измерения) fliplr(a) симметрично отображает массив относительно вертикальной оси (право-лево) flipud(a) симметрично отображает массив относительно горизонтальной оси (верх-низ) roll(a, shift[, axis]) циклический сдвиг элементов вдоль выбранного направления rot90(a[, k]) поворот массива против часовой стрелки на 90 градусов tile(A, repeats) создает матрицу повторением заданной определенное количество repeat(a, repeats[, axis]) повторяет элементы массива В модуле NumPy перегружены операции над массивами, что позволяет быстро и наглядно выполнять действия над ними. Простые арифметические действия с векторами и матрицами:
Умножение матриц и столбцов с помощью numpy.dot(): Горизонтальное и вертикальное объединение массивов с помощью методов hstarck() и vstarck() соответственно: Сортировка элементов в порядке возрастания с помощью sort(a, axis=-1, kind=None, order=None): – массив для сортировки; – axis – ось (значение по умолчанию равно -1); – kind – вид сортировки (быстрая сортировка, сортировка слиянием и т.д.). По умолчанию используется «быстрая сортировка»; – order – порядок сравнения полей.
Функция msort() возвращает отсортированную по первой оси копию массива: numpy.sort(a, axis = 0). Функция argmax() возвращает индекс максимального значения вдоль указанной оси с помощью команды numpy.argmax(a, axis=None, out=None): – a – массив NumPy; – axis – целое число (необязательный параметр). Определяет ось, вдоль которой выполняется поиск элементов. Если равен None (по умолчанию), то поиск выполняется по сжатому до одной оси представлению исходного массива; – out – массив NumPy (необязательный параметр). Позволяет сразу напрямую поместить результат в указанный массив, при условии, что он имеет подходящую форму и тип данных.