Содержание
Введение 3
1 выбор платформы и данных 5
1.1 Выбор платформы для разработки и необходимых библиотек 5 1.1.1 Обоснование выбора платформы интерпретатора языка Python 5 1.1.3 Выбор библиотек для анализа данных 7
1.2 Получение данных 9 1.2.1 Предварительный анализ данных 9 1.2.2 Выбор формата хранения данных 9 1.2.3 Очистка данных от цифрового мусора 10
1.3 Выводы по разделу 10
2 количественный анализ данных 18
2.1 Получение данных Dataset (данные) 18
2.2 Рассчет стандартных числовых характеристик для набора данных Series 19
2.3 Выводы по разделу 20
3 визуализация результатов количествнного анализа данных 25
3.1 Визуализация наборов данных с помощью стандартных библиотек по заданным критериям 25
3.2 Формирование Dataframe из данных Series и добавление столбцов 28
3.3 Визуализация данных полученные в результате промежуточного анализа 29
3.4 Выводы по разделу 30
Заключение 35
Список использованной литературы 36
Введение
Учебная практика (ознакомительная практика) относится к разделу Б2.О.01 блока «Практики» базового учебного плана основной профессиональной образовательной программы по направлению подготовки 09.03.03 «Прикладная информатика» и является видом учебной деятельности, направленной на ознакомление, формирование, закрепление, развитие практических навыков и компетенции в процессе выполнения определенных видов работ, связанных с будущей профессиональной деятельностью. Учебная практика проходила в Московском университете им. С.Ю. Витте (далее - Университете) на кафедре информационных систем
Цель практики
приобретение первичных профессиональных навыков, практического опыта, закрепление, систематизация и расширение теоретических знаний по дисциплинам учебного плана при прохождении учебной практики в Университете.
Задачи практики
Закрепление приобретенных теоретических знаний.
Приобретение навыков научного поиска и практической работы с информационными источниками данных.
Овладение практическими методиками формирования цели и задач для работы над групповым проектом, управления познавательной деятельностью.
Приобретение практических навыков участия в командной работе, в групповых проектах, распределения ролей в условиях командного взаимодействия
Приобретение практических навыков использования иностранного языка при анализе зарубежных информационных Интернет-источников.
Приобретение навыков использования современных информационных технологий и программных средств для решения задач анализа данных.
Приобретение навыков инсталлирования программного обеспечения.
Формирование практических навыков по основам алгоритмизации вычислительных процессов и программированию решения задач обработки данных их отладке и тестирования на выбранной языковой платформе.
Получение навыков экспериментального исследования больших данных и практического решения информационных задач по обработке данных.
Получения навыков проведения инженерных расчетов.
Получение навыков самостоятельной работы.
Получение навыков подготовки отчетной документации
Источниками информации явились открытые информационные базы, информационно-справочные документы, интернет-ресурсы, учебно-методические материалы, размещенные в Электронном Университете, а также информация, представленная на официальном сайте университета в разделе «Сведения об образовательной организации»: https://www.muiv.ru/sveden/.
ОСНОВНАЯ ЧАСТЬ
выбор платформы и данных
Выбор платформы для разработки и необходимых библиотек
Python (в русском языке распространено название питон) — это высокоуровневый, общего назначения, интерпретируемый объектно-ориентированный язык программирования, который является мощным, адаптируемым и простым в освоении. Он широко используется в различных областях, включая анализ данных, машинное обучение, веб-разработку и т.д. Этот язык относится к разновидности языка программирования, ориентированного на вычисления, который заключает в себе сущность адаптивности и эффективности. По словам Гвидо ван Россум, создателя Python, язык разработан как язык программирования высокого уровня, в котором приоритет отдается удобочитаемости кода и синтаксису[1]. Такая философия проектирования позволяет программистам выражать идеи и концепции с помощью сжатого кода.
Обоснование выбора платформы интерпретатора языка Python
Python - популярный язык программирования, который имеет много преимуществ перед другими языками программирования. Главным его преимуществом явлется удобчитаймость. Философия удобочитаемости кода на Python часто сводится к принципу "Важна удобочитаемость" или "Должен быть один — и предпочтительно только один — очевидный способ сделать это"[2]. Такой подход способствует написанию кода, который легко читать, понимать и над которым можно сотрудничать, способствуя формированию культуры совместного использования и обучения, ориентированной на сообщество. Уделяя приоритетное внимание удобочитаемости, Python поощряет разработчиков писать код, который не только функционален, но и очень выразителен и не требует пояснений.
Сжатый характер кода Python позволяет программистам выражать сложные идеи и алгоритмы, используя меньшее количество строк кода по сравнению с другими языками программирования. Этот аспект Python повышает производительность за счет сокращения времени разработки и усилий. Благодаря богатой экосистеме библиотек и фреймворков Python предоставляет мощные инструменты и абстракции, которые еще больше упрощают задачи программирования и способствуют повторному использованию кода.
Стремление к удобочитаемости и простоте кода способствовало широкому внедрению Python в различных областях, включая веб-разработку, научные вычисления, анализ данных, искусственный интеллект и многое другое. Доступный синтаксис Python и обширная поддержка сообщества делают его отличным выбором для новичков, которые учатся программировать, в то время как его гибкость и масшта
Основные преимущества Python:
Синтаксис Python очень похож на английский, что облегчает чтение и понимание кода. Для выполнения той же задачи требуется меньше строк кода по сравнению с другими основными языками, такими как C / C ++ или Java.
Python обладает большой стандартной библиотекой, предоставляющей множество модулей и функций, которые можно использовать для выполнения различных задач. У него также есть обширное сообщество разработчиков и инженеров-программистов, которые помогают поддерживать Python, что облегчает поиск решений проблем. Python является интерпретируемым языком, что означает, что его не нужно компилировать перед запуском кода. Это упрощает отладку и тестирование кода. Python может работать в различных операционных системах, включая Windows, macOS и Linux. Это упрощает разработку и развертывание приложений на разных платформах. Python поддерживает объектно-ориентированное программирование, которое позволяет разработчикам создавать повторно используемый код и создавать сложные приложения. Python широко используется в различных областях, включая веб-разработку, анализ данных, машинное обучение и многое другое. Он используется такими компаниями, как Google, Yahoo, Dropbox, Uber, Facebook, Netflix и т.д.
Выбор библиотек для анализа данных
На текущий день можно найти множество библиотек для чтения, обработки и визуализации данных на языке программирования Python. Однако среди всего множества библиотек лишь немногие выделяются удобством использования, большим функционалом и поддержкой сообщества. По всем этим пунктам оказались подходящими библиотеки pandas, matplotlib, numpy.
Pandas Pandas — это мощная библиотека для обработки и анализа данных, которая предоставляет структуры данных и функции для эффективной работы со структурированными данными. Он предлагает гибкие и интуитивно понятные структуры данных, такие как фреймы данных, которые позволяют ученым эффективно организовывать, очищать, фильтровать и преобразовывать данные[5].
Ученые часто имеют дело с разнообразными наборами данных, включая структурированные, табличные данные или временные ряды. Pandas упрощает задачи поиска, предварительной обработки и анализа данных, позволяя исследователям извлекать ценную информацию из сложных наборов данных. Его богатая функциональность для обработки данных, фильтрации, агрегирования и слияния позволяет ученым с легкостью выполнять сложные операции с данными.
Matplotlib Matplotlib — это всеобъемлющая библиотека для создания статических, анимированных и интерактивных визуализаций на Python. Визуализация данных имеет решающее значение в научных исследованиях, поскольку она помогает ученым понять закономерности, тенденции и взаимосвязи в данных. Matplotlib предлагает широкий спектр функций построения графиков, позволяя ученым создавать высококачественные визуализации для эффективной передачи своих результатов[7].
Ученые могут создавать различные типы графиков, включая линейчатые графики, точечные графики, столбчатые диаграммы, гистограммы, тепловые карты и многое другое, используя гибкий API Matplotlib. Он предоставляет широкие возможности настройки, позволяя ученым точно настраивать внешний вид и эстетику своих визуализаций. Интеграция Matplotlib с Numpy и Pandas упрощает построение графиков данных из этих библиотек.
Requests Requests — это универсальная библиотека, которая упрощает процесс отправки HTTP-запросов и работы с веб-источниками данных. В научных исследованиях часто необходим доступ к данным из API, веб-сервисов или онлайновых баз данных и их извлечение. Запросы предоставляют удобный и эффективный способ взаимодействия с этими источниками данных.
Ученые могут использовать запросы для извлечения данных, отправки запросов POST или GET, обработки аутентификации и обработки ответов. Эта возможность особенно полезна для сбора данных в режиме реального времени, доступа к научным базам данных или выполнения сканирования веб-страниц для получения данных. Интегрируя запросы в свой рабочий процесс, ученые могут легко получать доступ к внешним источникам данных и включать их в свой анализ, открывая более широкий спектр исследовательских возможностей.
Numpy Numpy это фундаментальная библиотека для научных вычислений на Python. Он обеспечивает мощные числовые и математические операции с многомерными массивами и матрицами. Используя Numpy, ученые могут эффективно выполнять вычисления на больших наборах данных, манипулировать массивами и применять математические функции. Оптимизированные и векторизованные операции Numpy значительно повышают эффективность вычислений, что делает его важнейшим инструментом для обработки числовых данных в научных исследованиях[6].
Научные данные часто требуют сложных вычислений и математических преобразований, и Numpy упрощает эти операции при сохранении высокой производительности. Это обеспечивает эффективное хранение, индексацию и нарезку данных, позволяя ученым с легкостью обрабатывать и анализировать данные. Обширная библиотека математических функций и возможностей линейной алгебры Numpy еще больше повышает ее полезность при анализе научных данных.
Получение данных Предварительный анализ данных
Анализ данных – это процесс проверки, очистки, преобразования и моделирования данных с целью выявления значимых закономерностей, составления выводов и принятия обоснованных решений. Она включает в себя извлечение инсайтов и ценной информации из необработанных данных для выявления скрытых тенденций, взаимосвязей и корреляций. Это будет отличать их от классических алгоритмов, например реализующих сортировку или словарь.
counts = data.value_counts()
non_unique_count = np.sum(counts > 1)
print(f'Количество повторяющихся значений: {non_unique_count}')
1.2.2 Выбор формата хранения данных
Pandas предлагает возможность хранить данные в различных форматах файлов, включая .csv, .tsv, таблицы SQL, файлы Excel и многое другое. В контексте этого проекта формат xls был выбран из-за его ясности и простоты работы с данными в Excel, позволяющими проводить визуальную оценку и беспрепятственное манипулирование таблицами.
Чтобы обеспечить воспроизводимость эксперимента, в рамках функции get_data был разработан алгоритм. Этот алгоритм создает файл данных и выполняет проверку: если файл уже существует, он открывается; в противном случае генерируется новый файл. Такой подход гарантирует последовательные и повторяемые эксперименты на протяжении всего процесса решения.
FILENAME = 'data.xls'
def get_data(): if not os.path.exists(FILENAME): data = np.random.randint(-10000, 10000, size=1000) pd_series = pd.Series(data, name='data') pd_series.to_excel(FILENAME, engine='openpyxl') else: data = pd.read_excel(FILENAME, engine='openpyxl', index_col=0) return data
1.2.3 Очистка данных от цифрового мусора
Очистка данных направлена на выявление и устранение ошибок и несоответствий в наборах данных, тем самым повышая общее качество данных. Такие проблемы с качеством данных часто возникают при индивидуальном сборе данных, включая файлы и базы данных. Примерами таких проблем являются ошибочный ввод данных из-за орфографических ошибок, недостающей информации или других неточностей.
При решении конкретной проблемы данные могут быть либо сгенерированы, либо импортированы из файла. В случае импорта данных существует вероятность ошибочного использования файла, содержащего числа, сгенерированные в другом диапазоне. Следовательно, необходимо выполнить очистку данных путем отфильтровывания и чисел, обозначаемых ass, которые не удовлетворяли условию -10000 <= x <= 10000.
def clear_data(data): cleared = data[data > -10000].dropna() cleared = cleared[cleared < 10000].dropna() return cleared
1.3 Выводы по разделу
Я считаю, что выбор плаформы является неотемлемой частью правильного и компактного кода. Ещё одним важным пунктом является выбор минимального количества нужных библиотек. Основываясь на информации в данном разделе, можно сделать следующие выводы (табл.1.2). Таблица 1.2
Выводы по разделу 1
Выводы Код и наименование компетенции выпускника программы бакалавриата Код и наименование индикатора достижения компетенции
Оценка среды разработки, ИТ-инфраструктуры и дополнительных инструментов, необходимых для решения проблем.
Платформа Python и библиотеки Numpy, Pandas и Matplotlib были выбраны для решения конкретных профессиональных задач анализа данных в соответствии с индивидуальными требованиями.
Экспертиза технической документации для среды разработки и используемых библиотек была проведена как на русском, так и на английском языках. ОПК-2. Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности; ОПК-2.1.
Знает принципы работы современные информационных технологий и программных средств, в том числе отечественного производства при решении задач профессиональной деятельности.
ОПК-2.2.
Умеет выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности.
ОПК-2.3.
Владеет навыками применения современных информационных технологий и программных средств, в том числе отечественного производства, при решении задач профессиональной деятельности.
ОПК-3. Способен решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно-коммуникационных технологий и с учетом основных требований информационной безопасности; ОПК-3.1.
Знает принципы, методы и средства решения стандартных задач профессиональной деятельности на основе информационной и библиографической культуры с применением информационно коммуникационных технологий и с учетом основных требований информационной безопасности.
ОПК-3.2.
Умеет решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно коммуникационных технологий и с учетом основных требований информационной безопасности.
ОПК-3.3.
Владеет навыками подготовки обзоров, аннотаций, составления рефератов, научных докладов, публикаций, и библиографии по научно-исследовательской работе с учетом требований информационной безопасности.
УК-4. Способен осуществлять деловую коммуникацию в устной и письменной формах на государственном языке Российской Федерации и иностранном(ых) языке(ах) УК-4.1.
Знает принципы построения устного и письменного высказывания на государственном и иностранном языках; требования к деловой устной и письменной коммуникации.
УК-4.2.
Умеет применять на практике устную и письменную деловую коммуникацию.
УК-4.3.
Владеет методикой составления суждения в межличностном деловом общении на государственном и иностранном языках, с применением адекватных языковых форм и средств
ОПК-5. Способен инсталлировать программное и аппаратное обеспечение для информационных и автоматизированных систем; ОПК-5.1.
Знает основы системного администрирования, администрирования СУБД, современные стандарты информационного взаимодействия систем
ОПК-5.2.
Умеет выполнять параметрическую настройку информационных и автоматизированных систем.
ОПК-5.3.
Владеет навыками инсталляции программного и аппаратного обеспечения информационных и автоматизированных систем.
Основные библиотеки и пакеты устанавливаются и интегрируются в среду разработки Python в качестве готовых компонентов во время разработки приложения. УК-1. Способен осуществлять поиск, критический анализ и синтез информации, применять системный подход для решения поставленных задач УК-1.1.
Знает принципы сбора, отбора и обобщения информации, методики системного подхода для решения профессиональных задач.
УК-1.2.
Умеет анализировать и систематизировать разнородные данные, оценивать эффективность процедур анализа проблем и принятия решений в профессиональной деятельности.
УК-1.3.
Владеет навыками научного поиска и практической работы с информационными источниками; методами принятия решений
Изучение внешних ресурсов в поисках соответствующей информации в соответствии с индивидуальными целями.
Генерация случайных наборов данных с последующим предварительным анализом данных, очисткой и организацией промежуточного хранилища.
Использование системного подхода и анализ структуры внешних данных для определения подходящего формата хранения данных, такого как электронная таблица Excel (.xls).
Завершение постановки задачи и формулирование целей исследования данных.
Распределение функциональных обязанностей, определение объема работ с точки зрения разработки кода, создание набора задач и установление временных рамок разработки. УК-2. Способен определять круг задач в рамках поставленной цели и выбирать оптимальные способы их решения, исходя из действующих правовых норм, имеющихся ресурсов и ограничений УК-2.1.
Знает необходимые для осуществления профессиональной деятельности правовые нормы и методологические основы принятия управленческого решения.
УК-2.2.
Умеет анализировать альтернативные варианты решений для достижения намеченных результатов; разрабатывать план, определять целевые этапы и основные направления работ.
УК-2.3.
Владеет методиками разработки цели и задач проекта; методами оценки продолжительности и стоимости проекта, а также потребности в ресурсах.
УК-3. Способен осуществлять социальное взаимодействие и реализовывать свою роль в команде УК-3.1.
Знает типологию и факторы формирования команд, способы социального взаимодействия.
УК-3.2.
Умеет действовать в духе сотрудничества; принимать решения с соблюдением этических принципов их реализации; проявлять уважение к мнению и культуре других; определять цели и работать в направлении личностного, образовательного и профессионального роста.
УК-3.3.
Владеет навыками распределения ролей в условиях командного взаимодействия; методами оценки своих действий, планирования и управления временем.
УК-6. Способен управлять своим временем, выстраивать и реализовывать траекторию саморазвития на основе принципов образования в течение всей жизни УК-6.1.
Знает основные принципы самовоспитания и самообразования, исходя из требований рынка труда.
УК-6.2.
Умеет демонстрировать умение самоконтроля и рефлексии, позволяющие самостоятельно корректировать обучение по выбранной траектории.
УК-6.3.
Владеет способами управления своей познавательной деятельностью и удовлетворения образовательных интересов и потребностей.
УК-5. Способен воспринимать межкультурное разнообразие общества в социально-историческом, этическом и философском контекстах УК-5.1.
Знает основные категории философии, законы исторического развития, основы межкультурной коммуникации.
УК-5.2.
Умеет вести коммуникацию в мире культурного многообразия и демонстрировать взаимопонимание между обучающимися – представителями различных культур с соблюдением этических и межкультурных норм.
УК-5.3.
Владеет практическими навыками анализа философских и исторических фактов, оценки явлений культуры; способами анализа и пересмотра своих взглядов в случае разногласий и конфликтов в межкультурной коммуникации.
Оценка среды разработки, ИТ-инфраструктуры и дополнительных инструментов, необходимых для решения проблем. УК-6. Способен управлять своим временем, выстраивать и реализовывать траекторию саморазвития на основе принципов образования в течение всей жизни УК-6.1.
Знает основные принципы самовоспитания и самообразования, исходя из требований рынка труда.
УК-6.2.
Умеет демонстрировать умение самоконтроля и рефлексии, позволяющие самостоятельно корректировать обучение по выбранной траектории.
УК-6.3.
Владеет способами управления своей познавательной деятельностью и удовлетворения образовательных интересов и потребностей.
УК-7. Способен поддерживать должный уровень физической подготовленности для обеспечения полноценной социальной и профессиональной деятельности УК-7.1.
Знает виды физических упражнений; научно-практические основы физической культуры и здорового образа и стиля жизни.
УК-7.2.
Умеет применять на практике разнообразные средства физической культуры, спорта и туризма для сохранения и укрепления здоровья, психофизической подготовки и самоподготовки к будущей жизни и профессиональной деятельности; использовать творчески средства и методы физического воспитания для профессионально-личностного развития, физического самосовершенствования, формирования здорового образа и стиля жизни.
УК-7.3.
Владеет средствами и методами укрепления индивидуального здоровья, физического самосовершенствования.
УК-8. Способен создавать и поддерживать в повседневной жизни и в профессиональной деятельности безопасные условия жизнедеятельности для сохранения природной среды, обеспечения устойчивого развития, в том числе при угрозе и возникновении чрезвычайных ситуаций и военных конфликтов УК-8.1.
Знает причины, признаки и последствия опасностей, способы защиты от чрезвычайных ситуаций; основы безопасности жизнедеятельности, телефоны служб спасения.
УК-8.2.
Умеет выявлять признаки, причины и условия возникновения чрезвычайных ситуаций; оценивать вероятность возникновения потенциальной опасности для обучающегося и принимать меры по ее предупреждению в условиях образовательного учреждения; оказывать первую помощь в чрезвычайных ситуациях.
УК-8.3.
Владеет методами прогнозирования возникновения опасных или чрезвычайных ситуаций; навыками поддержания безопасных условий жизнедеятельности.
УК-9. Способен принимать обоснованные экономические решения в различных областях деятельности УК-9.1 Знает основные документы, регламентирующие экономическую деятельность; источники финансирования профессиональной деятельности; принципы планирования экономической деятельности
УК-92. Умеет обосновывать принятие экономических решений, использовать методы экономического планирования для достижения поставленных целей
УК-9.3 Владеет навыками применения экономических инструментов
УК-10. Способен формировать нетерпимое отношение к коррупционному поведению УК-10.1 Знает действующие правовые нормы, обеспечивающие борьбу с коррупцией в различных областях жизнедеятельности; способы профилактики коррупции и формирования нетерпимого отношения к ней
УК-10.2 Умеет планировать, организовывать и проводить мероприятия, обеспечивающие формирование гражданской позиции и предотвращение коррупции в обществе
УК-10.3 Владеет навыками взаимодействия в обществе на основе нетерпимого отношения к коррупции.
количественный анализ данных
Получение данных Dataset (данные)
Чтобы эффективно использовать Pandas, крайне важно хорошо понимать соответствующие структуры данных: ряды, фреймы данных и Dataset(датасеты).
Ряд представляет собой одномерный массив, содержащий метки осей, которые можно использовать для данных временных рядов. Метки в серии не обязательно должны быть уникальными, но должны иметь хэшированный тип. Эта структура данных поддерживает индексацию как на основе целых чисел, так и на основе меток, и предлагает различные методы выполнения операций индексирования. Кроме того, в серии представлены статистические методы анализа данных, включая обработку значений NaN.
С другой стороны, фрейм данных — это табличная структура данных, которая может вмещать различные типы данных, измеряется с точки зрения ее размера и потенциально неоднородна. Он состоит из помеченных осей, охватывающих строки и столбцы. Арифметические операции, связанные с фреймами данных, выравниваются на основе меток строк и столбцов. Фрейм данных можно рассматривать как контейнер или словарь, содержащий отдельные серии. Это фундаментальная структура данных в пакете Pandas, обычно используемая для задач обработки данных.
Dataset относятся к наборам структурированных данных, которые организованы и хранятся вместе для анализа, обработки или представления. Набор данных обычно представляет собой определенный домен или предметную область и состоит из множества отдельных точек данных или наблюдений, каждое из которых содержит различные атрибуты или переменные.
Данные в Dataset можно получить - с помощью Pandas можно получить данные в виде набора данных. Pandas предоставляет различные методы и функции для импорта и чтения данных из различных источников и форматов. Некоторые часто используемые методы импорта данных включают read_csv() для чтения данных из файлов CSV, read_excel() для чтения данных из файлов Excel, read_sql() для чтения данных из баз данных SQL и read_json() для чтения данных из файлов JSON[3].
Эти методы позволяют загружать данные в фрейм данных Pandas, который представляет собой двумерную табличную структуру данных. Как только данные загружены во фрейм данных, вы можете выполнять различные операции по манипулированию данными и анализу, используя богатый набор функций и методов, предоставляемых Pandas. Существует несколько способов получения данных во фрейме данных. Он может быть прочитан из источника данных, такого как fully, инициализирован из стандартных структур, таких как словарь, или создан из одного или нескольких объектов Series. В этом проекте фрейм данных был создан с использованием объектов Series, которые были сгенерированы случайно.
data = pd.Series(np.random.randint(-10000, 10000, size=1000))
Рассчет стандартных числовых характеристик для набора данных Series
Pandas предлагает ценную возможность использовать эффективные статистические вычислительные методы, которые основаны на библиотеке Numpy. Теперь давайте рассмотрим некоторые практические иллюстрации этих методов расчета, использованных в нашем анализе.
1. Минимальное значение: Для нахождения минимального значения использовался метод min().
minimum = cleaned_data.min()
print("Минимальное значение:", minimum)
2. Подсчет количества повторяющихся элементов:
Для расчёта повторяющихся элементов были найдены все неуникальные элементы и подсчитано их количество.
counts = data.value_counts()
non_unique_count = np.sum(counts > 1)
print(f'Количество повторяющихся значений: {non_unique_count}')
3. Максимальное значение:
Для нахождения максимального значения использовался метод max().
maximum = cleaned_data.max()
print("Максимальное значение:", maximum)
4. Сумма значений:
Для нахождения суммы значений использовался метод sum().
sum_of_numbers = cleaned_data.sum()
print("Сумма чисел:", sum_of_numbers)
5. Стандартное отклонение:
Для нахождения среднеквадратического отклонения использовался метод std().
standard_deviation = cleaned_data.std()
print("Стандартное отклонение:", standard_deviation)
Выводы по разделу Количественный анализ данных — это неотъемлемая часть прохождения данной практики. Очень важно визуализировать, делать расчёты и выполнять другие преобразования информации при анализе данных. Основываясь на информации в данном разделе, можно сделать следующие выводы (табл.2.1): Таблица 2.1
Выводы по разделу 2
Выводы Код и наименование компетенции выпускника программы бакалавриата Код и наименование индикатора достижения компетенции
Производные значения статистических свойств числовых данных получены с использованием методик математического анализа.
ОПК-1. Способен применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности; ОПК-1.1.
Знает основы математики, физики, вычислительной техники и программирования.
ОПК-1.2.
Умеет решать стандартные профессиональные задачи с применением естественнонаучных и общеинженерных знаний, методов математического анализа и моделирования.
ОПК-1.3.
Владеет навыками теоретического и экспериментального исследования объектов профессиональной деятельности.
ОПК-2. Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности; ОПК-2.1.
Знает принципы работы современные информационных технологий и программных средств, в том числе отечественного производства при решении задач профессиональной деятельности.
ОПК-2.2.
Умеет выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности.
ОПК-2.3.
Владеет навыками применения современных информационных технологий и программных средств, в том числе отечественного производства, при решении задач профессиональной деятельности. Протоколы и функции были разработаны для визуального представления данных с использованием обычных и установленных библиотек в соответствии с заданными критериями. ОПК-6. Способен анализировать и разрабатывать организационно-технические и экономические процессы с применением методов системного анализа и математического моделирования; ОПК-6.1.
Знает основы теории систем и системного анализа, дискретной математики, теории вероятностей и математической статистики, методов оптимизации и исследования операций, нечетких вычислений, математического и имитационного моделирования.
ОПК-6.2.
Умеет применять методы теории систем и системного анализа, математического, статистического и имитационного моделирования для автоматизации задач принятия решений, анализа информационных потоков, расчета экономической эффективности и надежности информационных систем и технологий.
ОПК-6.3.
Владеет навыками проведения инженерных расчетов основных показателей результативности создания и применения информационных систем и технологий.
Были определены процедуры для объединения и дополнения данных вычисленными значениями.
Было решено использовать приложения для визуального отображения данных, полученных в результате промежуточного анализа.
ОПК-3. Способен решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно-коммуникационных технологий и с учетом основных требований информационной безопасности; ОПК-3.1.
Знает принципы, методы и средства решения стандартных задач профессиональной деятельности на основе информационной и библиографической культуры с применением информационно коммуникационных технологий и с учетом основных требований информационной безопасности.
ОПК-3.2.
Умеет решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно коммуникационных технологий и с учетом основных требований информационной безопасности.
ОПК-3.3.
Владеет навыками подготовки обзоров, аннотаций, составления рефератов, научных докладов, публикаций, и библиографии по научно-исследовательской работе с учетом требований информационной безопасности.
УК-2. Способен определять круг задач в рамках поставленной цели и выбирать оптимальные способы их решения, исходя из действующих правовых норм, имеющихся ресурсов и ограничений УК-2.1.
Знает необходимые для осуществления профессиональной деятельности правовые нормы и методологические основы принятия управленческого решения.
УК-2.2.
Умеет анализировать альтернативные варианты решений для достижения намеченных результатов; разрабатывать план, определять целевые этапы и основные направления работ.
УК-2.3.
Владеет методиками разработки цели и задач проекта; методами оценки продолжительности и стоимости проекта, а также потребности в ресурсах.
ОПК-7. Способен разрабатывать алгоритмы и программы, пригодные для практического применения; ОПК-7.1.
Знает основные языки программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий.
ОПК-7.2.
Умеет применять языки программирования и работы с базами данных, современные программные среды разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ.
ОПК-7.3.
Владеет навыками программирования, отладки и тестирования прототипов программно-технических комплексов задач.
Изучение документации, содержащей разъяснение функциональности библиотеки matplotlib в источнике, проводится по адресу https://matplotlib.org /. Она включает в себя функцию "построить график", которая берет на себя ответственность за построение линейного графика. УК-4. Способен осуществлять деловую коммуникацию в устной и письменной формах на государственном языке Российской Федерации и иностранном(ых) языке(ах) УК-4.1.
Знает принципы построения устного и письменного высказывания на государственном и иностранном языках; требования к деловой устной и письменной коммуникации.
УК-4.2.
Умеет применять на практике устную и письменную деловую коммуникацию.
УК-4.3.
Владеет методикой составления суждения в межличностном деловом общении на государственном и иностранном языках, с применением адекватных языковых форм и средств.
ОПК-4. Способен участвовать в разработке стандартов, норм и правил, а также технической документации, связанной с профессиональной деятельностью; ОПК-4.1.
Знает основные стандарты оформления технической документации на различных стадиях жизненного цикла информационной системы.
ОПК-4.2.
Умеет применять стандарты оформления технической документации на различных стадиях жизненного цикла информационной системы.
ОПК-4.3.
Владеет навыками составления технической документации на различных этапах жизненного цикла информационной системы.
визуализация результатов количествнного анализа данных
Визуализация наборов данных с помощью стандартных библиотек по заданным критериям
Линейный график отображает визуализацию наших наборов данных, которая была достигнута с использованием возможностей библиотеки Matplotlib. Используя функциональные возможности, предоставляемые Matplotlib, мы смогли создать четкое и информативное представление наших данных. Линейный график позволил нам наблюдать и анализировать тенденции, закономерности и взаимосвязи, присутствующие в наборах данных. Благодаря соответствующему подбору критериев мы гарантируем, что визуализация эффективно передает предполагаемую информацию и инсайты. Это визуальное представление оказалось ценным для понимания поведения и характеристик данных, облегчая дальнейший анализ и интерпретацию. Гистограмма — то графическое представление распределения набора данных. Гистограммы обычно используются в различных областях, включая статистику, анализ данных и визуализацию данных, для изучения и анализа числовых данных. Они обеспечивают визуальное представление, которое помогает понять распределение и принимать решения, основанные на данных, на основе наблюдаемых закономерностей и тенденций.
Matplotlib — это популярная библиотека для визуализации данных, он широко известен как мощная и универсальная библиотека для визуализации данных на Python. Он предлагает полный набор инструментов и функциональных возможностей для создания различных типов графиков, включая линейные графики, точечные диаграммы, столбчатые диаграммы, гистограммы и многое другое. Его обширные возможности делают его идеальным выбором для специалистов по обработке данных, аналитиков и исследователей, стремящихся эффективно передавать свои результаты с помощью визуальных представлений.
Одним из ключевых преимуществ Matplotlib является его гибкость. Это позволяет пользователям настраивать практически каждый аспект графика, такой как оси, метки, цвета, маркеры и аннотации, позволяя им создавать визуально привлекательные и информативные визуализации, адаптированные к их конкретным требованиям. Кроме того, Matplotlib легко интегрируется с другими библиотеками в экосистеме scientific Python, такими как NumPy и Pandas, что позволяет легко комбинировать задачи анализа данных и визуализации.
Matplotlib обеспечивает надежную совместимость с различными средами, включая веб-серверы, графические библиотеки, Jupiter Notebook, IPython Notebook и IPython shell[7]. Библиотека структурирована на три основных уровня: базовый серверный слой, слой рисования и слой скрипта. Внутри серверного уровня есть три класса интерфейса: figure canvas (известный как drawing canvas), который определяет область рисования, средство визуализации, способное рисовать на этом холсте, и обработчик событий, ответственный за обработку пользовательских взаимодействий, таких как щелчки мыши. При решении поставленной задачи была построена визуализация данных в виде линейного графика (рис. 1) и гистограммы (рис. 2).
plt.plot(data)
plt.title("Линейный график случайных данных")
plt.xlabel("Индекс")
plt.ylabel("Значения")
plt.show()
Рисунок 1. Линейный график данных.
rounded_data = data.round(-2)
plt.hist(rounded_data, bins=20)
plt.title("Гистограмма округленных данных")
plt.xlabel("Значения округлены до сотен")
plt.ylabel("Частота")
plt.show()
Рисунок 2. Гистограмма данных.
3.2 Формирование Dataframe из данных Series и добавление столбцов
Для дальнейшего анализа и манипулирования нашими данными мы приступили к формированию Dataframe из существующих последовательных данных. Объединив несколько объектов серии в трубчатую структуру, мы смогли создать всеобъемлющее представление нашего набора данных. Кроме того, мы добавили столбцы в Dataframe, чтобы включить дополнительные переменные или производные величины, имеющие отношение к нашему анализу. Этот процесс позволил нам организовать и структурировать данные удобным и эффективным образом, что позволило нам выполнять сложные операции и вычисления Dataframe. При решении задачи были добавлены 2 столбца. Один из них содержал значения, отсортированные по убыванию, другой – по возрастанию.
df = pd.DataFrame(data, columns=["Исходные данные"])
df["Порядок возрастания"] = df["Исходные данные"].sort_values()
df["Порядок убывания"] = df["Исходные данные"].sort_values(ascending=False).values
3.3 Визуализация данных полученные в результате промежуточного анализа
Для визуализации данных, полученных во время анализа, потребовалось прибегнуть к использованию библиотеки Matplotlib. Чтобы визуально представить данные, которые мы получили в процессе анализа, мы использовали библиотеку Matplotlib. Эта мощная библиотека позволила нам создавать различные типы графиков, диаграмм и визуализаций для эффективной передачи и интерпретации наших результатов. Используя обширные функциональные возможности Matplotlib, мы смогли улучшить наше исследование данных и получить информацию из визуального представления результатов (Рис. 3).
plt.plot(df["Порядок возрастания"])
plt.plot(df["Порядок убывания"])
plt.title("Линейный график отсортированных данных")
plt.xlabel("Индекс")
plt.ylabel("Знаечния")
plt.legend(["Порядок возрастания", "Порядок убывания"])
plt.show()
Рисунок 3. График отсортированных данных.
3.4 Выводы по разделу
Выводы по разделу представлены в таблице 3.1: Таблица 3.1
Выводы Код и наименование компетенции выпускника программы бакалавриата Код и наименование индикатора достижения компетенции
Основываясь на устоявшихся математических принципах и методах, были решены проблемы, связанные с округлением данных, что привело к построению диаграммы на основе этих результатов.
Алгоритмы и методологии, использующие стандартные библиотеки для количественного анализа данных, были обезврежены.
Эти алгоритмы были реализованы в сочетании с визуализацией данных.
Процедуры, использующие возможности библиотеки matplotlib, были созданы для визуального представления.
Процесс разработки включал использование современных информационных технологий, в частности библиотек для обработки и визуализации данных на языке программирования Python, наряду с использованием библиотечной документации в качестве справочной.
Был предпринят ряд совместных усилий по интеграции процедур и функций в единый программный модуль, а также проведена отладка и тестирование программного кода. ОПК-7. Способен разрабатывать алгоритмы и программы, пригодные для практического применения; ОПК-7.1.
Знает основные языки программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий.
ОПК-7.2.
Умеет применять языки программирования и работы с базами данных, современные программные среды разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ.
ОПК-7.3.
Владеет навыками программирования, отладки и тестирования прототипов программно-технических комплексов задач.
УК-1. Способен осуществлять поиск, критический анализ и синтез информации, применять системный подход для решения поставленных задач УК-1.1.
Знает принципы сбора, отбора и обобщения информации, методики системного подхода для решения профессиональных задач.
УК-1.2.
Умеет анализировать и систематизировать разнородные данные, оценивать эффективность процедур анализа проблем и принятия решений в профессиональной деятельности.
УК-1.3.
Владеет навыками научного поиска и практической работы с информационными источниками; методами принятия решений.
ОПК-2. Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности; ОПК-2.1.
Знает принципы работы современные информационных технологий и программных средств, в том числе отечественного производства при решении задач профессиональной деятельности.
ОПК-2.2.
Умеет выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности.
ОПК-2.3.
Владеет навыками применения современных информационных технологий и программных средств, в том числе отечественного производства, при решении задач профессиональной деятельности. ОПК-1. Способен применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности; ОПК-1.1.
Знает основы математики, физики, вычислительной техники и программирования.
ОПК-1.2.
Умеет решать стандартные профессиональные задачи с применением естественнонаучных и общеинженерных знаний, методов математического анализа и моделирования.
ОПК-1.3.
Владеет навыками теоретического и экспериментального исследования объектов профессиональной деятельности.
ОПК-7. Способен разрабатывать алгоритмы и программы, пригодные для практического применения; ОПК-7.1.
Знает основные языки программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий.
ОПК-7.2.
Умеет применять языки программирования и работы с базами данных, современные программные среды разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ.
ОПК-7.3.
Владеет навыками программирования, отладки и тестирования прототипов программно-технических комплексов задач.
ОПК-8. Способен принимать участие в управлении проектами создания информационных систем на стадиях жизненного цикла; ОПК-8.1.
Знает основные технологии создания и внедрения информационных систем, стандарты управления жизненным циклом информационной системы.
ОПК-8.2.
Умеет осуществлять организационное обеспечение выполнения работ на всех стадиях и в процессах жизненного цикла информационной системы.
ОПК-8.3.
Владеет навыками составления плановой и отчетной документации по управлению проектами создания информационных систем на стадиях жизненного цикла.
ОПК-9. Способен принимать участие в реализации профессиональных коммуникаций с заинтересованными участниками проектной деятельности и в рамках проектных групп. ОПК-9.1.
Знает инструменты и методы коммуникаций в проектах; каналы коммуникаций в проектах; модели коммуникаций в проектах; технологии межличностной и групповой коммуникации в деловом взаимодействии, основы конфликтологии, технологии подготовки и проведения презентаций.
ОПК-9.2.
Умеет осуществлять взаимодействие с заказчиком в процессе реализации проекта; принимать участие в командообразовании и развитии персонала.
ОПК-9.3.
Владеет навыками проведения презентаций, переговоров, публичных выступлений.
УК-3. Способен осуществлять социальное взаимодействие и реализовывать свою роль в команде УК-3.1.
Знает типологию и факторы формирования команд, способы социального взаимодействия.
УК-3.2.
Умеет действовать в духе сотрудничества; принимать решения с соблюдением этических принципов их реализации; проявлять уважение к мнению и культуре других; определять цели и работать в направлении личностного, образовательного и профессионального роста.
УК-3.3.
Владеет навыками распределения ролей в условиях командного взаимодействия; методами оценки своих действий, планирования и управления временем.
УК-6. Способен управлять своим временем, выстраивать и реализовывать траекторию саморазвития на основе принципов образования в течение всей жизни УК-6.1.
Знает основные принципы самовоспитания и самообразования, исходя из требований рынка труда.
УК-6.2.
Умеет демонстрировать умение самоконтроля и рефлексии, позволяющие самостоятельно корректировать обучение по выбранной траектории.
УК-6.3.
Владеет способами управления своей познавательной деятельностью и удовлетворения образовательных интересов и потребностей.
ЗАКЛЮЧЕНИЕ
В ходе практики я: Научился закреплять приобретенные теоретические знания. Приобрел навыки научного поиска и практической работы с информационными источниками данных. Овладел практическими методиками формирования цели и задач для работы над групповым проектом, управления познавательной деятельностью. Приобрел практические навыки участия в командной работе, в групповых проектах, распределения ролей в условиях командного взаимодействия Приобрел практические навыки использования иностранного языка при анализе зарубежных информационных Интернет источников. Приобрел навыки использования современных информационных технологий и программных средств для решения задач анализа данных. Приобрел навыки инсталлирования программного обеспечения. Сформировал практические навыки по основам алгоритмизации вычислительных процессов и программированию решения задач обработки данных их отладке и тестирования на выбранной языковой платформе. Получил навыки экспериментального исследования больших данных и практического решения информационных задач по обработке данных. Получил навыки проведения инженерных расчетов. Получил навыки самостоятельной работы. Получил навыки подготовки отчетной документации.
Список использованной литературы
Документация по библиотеке Pandas: [сайт] – 2022. – URL: https://pandas.pydata.org/docs/ (дата обращения: 06.06.2023).
Документация по языку Python: [сайт]. – 2022. – URL: https://docs.python.org/3/ (дата обращения: 05.06.2023).
Джейк Вандер Плас. Руководство по обработке данных на Python. – O'Reilly Media, 2017. – 548 с. – ISBN 978-1491912058.
Уэс Маккинни. Python для анализа данных. – O'Reilly Media, 2017. – 544 с. – ISBN 978-1491957660.
Майкл Доусон. Python для сложных задач: наука о данных и машинное обучение. – ДМК Пресс, 2018. – 784 с. – ISBN 978-5-97060-643-8.
Документация по библиотеке Matplotlib: [сайт] – 2022. – URL: https://matplotlib.org/stable/index.html (дата обращения: 08.06.2023).
Документация по библиотеке NumPy: [сайт] – 2022. – URL: https://numpy.org/doc/ (дата обращения: 07.06.2023).