Главная страница

Рабочая тетрадь. Рабочая тетрадь 1 ИТ_2022. Дисциплина Основы машинного обучения Рабочая тетрадь 1


Скачать 364.54 Kb.
НазваниеДисциплина Основы машинного обучения Рабочая тетрадь 1
АнкорРабочая тетрадь
Дата19.02.2022
Размер364.54 Kb.
Формат файлаdocx
Имя файлаРабочая тетрадь 1 ИТ_2022.docx
ТипДокументы
#367164

Дисциплина «Основы машинного обучения»

Рабочая тетрадь № 1


Цель изучения дисциплины – формирование компетенций в области современных информационных технологий с применением инструментария искусственного интеллекта и машинного обучения. Для реализации методов и алгоритмов будем использовать язык программирования Python.




Python является популярным высокоуровневым языком программирования, который применяется для решения прикладных задач принятия решений с использованием технологий искусственного интеллекта и машинного обучения.

Для реализации методов и алгоритмов,изучаемых в данной дисциплине, рекомендуется использовать среду разработок Anaconda, содержащую библиотеки языка программирования Python с открытым исходным кодом.

https://www.anaconda.com/products/individual



Для выполнения заданий из рабочих тетрадей рекомендуется использовать JupyterNotebook.



Название рабочих тетрадей должно содержать фамилию и имя студента, номер рабочей тетради. Например,

Для создания файла необходимо выбрать вкладку New/Notebook:



Далее File/Renameи указать название файла.




1.1. Теоретический материал – Типы данных

Типы данных

Все типы данных в Python относятся к одной из 2-х категорий: 

изменяемые (mutable) и неизменяемые (immutable).

Неизменяемые объекты:

  • числовые данные (int, float),

  • bool,

  • None,

  • символьные строки (class 'str'),

  • кортежи (tuple).

Изменяемые объекты:

  • списки (list),

  • множества (set),

  • словари (dict).

1.2. Пример

Задача:




Выведите на печать и определите тип переменной.



Решение:






Ответ:






1.3. Задание

1.

Задача:




Выведите на печать и определите тип переменной.


Решение:






Ответ:








2.1. Теоретический материал – Условный оператор

If – Условный оператор

В коде часто приходится проверять выполнимость или невыполнимость каких-то условий. Синтаксис:

if <условие1 (булевское выражение)> :

<код, который выполнится, если условие верно>

elif <условие2 (булевское выражение)>:

<код, который выполнится, если условие1 было неверно, а условие2верно>

else:

<код, который выполнится, если условие1 и условие2 были неверны>

Обратите внимание, что код, который должен выполняться внутри каждого условия, записывается с отступом в 4 пробела от уровня if, elif и else: в питоне области видимости переменных обозначаются отступами.

То есть, отступы позволяют понять, где начинается код, который должен выполняться при выполнении условия в if, и где заканчивается.

2.2. Пример

1.

Задача:




Вывести на экран является ли переменная х положительной, отрицательной или равна нулю.

Решение:






Ответ:




x положительный

2.3. Задание

1.

Задача:




Напишите код. Задается х, напечатать какому из интервалов принадлежит: (-infinity, -5), [-5, 5] или от (5, +infinity)

Решение:






Ответ:









3.1. Теоретический материал – Циклы, массивы, срезы

Циклы - for и while

Цикл while проверяет истинность условия, и если условие истинно, то выполняет инструкции цикла.

Синтаксис:

while условие:

инструкции

Инструкции, которые относятся к циклу while, располагаются на последующих строках и должны иметь отступ от начала ключевого слова while.

Цикл forпроходит по набору значений, помещает каждое значение в переменную с которой в цикле можно производить различные действия.

Синтаксис:

for переменная in набор_значений:

инструкции

После ключевого слова for идет название переменной, в которую будут помещаться значения. После оператора in указывается набор значений и двоеточие. Инструкции, которые относятся к циклу, располагаются на последующих строках и должны иметь отступ.

При создании цикла удобно пользоваться функциейrange(a, b), которая создает последовательность чисел от a до b-1.

3.2.1. Пример

Задача:




Вывести все числа от 1 до 10 с шагом 3.

Решение:






Ответ:






3.2.2. Пример

Задача:




Задан список. Напечатать все элементы списка.

Решение:






Ответ:






3.2.3. Пример

Задача:




Создать список от 1 до 99 с шагом 7.

Решение:






Ответ:






3.2.4. Пример

Задача:




Вывести на экран числа от 1 до 105 с шагом 25, используя функцию range()

Решение:






Ответ:






3.2.5. Пример

Задача:




Срез.Необходимо получить каждый k-й элемент массива a, начиная с элемента с индексом i (включительно) и заканчивая элементом с индексом j (не включительно), c шагом 2. Или переставить все элементы в обратном порядке.

Решение:






Ответ:






3.3.1 Задание

1.

Задача:




Выведите числа из примера на while (3.2.1) в обратном порядке.

Решение:






Ответ:






3.3.2 Задание

1.

Задача:




При решении задач машинного обучения часто в качестве объектов исследования выступает человек. Создайте список значимых характеристик (признаков), идентифицирующих человека. Выведите список на экран.

Решение:






Ответ:






3.3.3 Задание

1.

Задача:




Создать список чисел от 2 до 15с шагом 1.

Решение:






Ответ:






3.3.4 Задание

1.

Задача:




Выведите числа из примера на forcфункцией range() (3.2.4) в обратном порядке.

Решение:






Ответ:







3.3.5 Задание

1.

Задача:




Срез. Напишите код, который все элементы массива x с четными индексами переставит в обратном порядке. Т.е. если x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], то код должен сформировать [8, 1, 6, 3, 4, 5, 2, 7, 0, 9].

Решение:






Ответ:










4.1. Теоретический материал - Библиотеки

Машинное обучение опирается на фундаментальные понятия и законы математики и информатики. Библиотека математических функций (math) применяется при решении большинства прикладных задач анализа данных. Также, и некоторые другие библиотеки Python содержат математические функции (например, NumPy). Важную роль играет библиотека matplotlib, которая позволяет производить визуализацию расчетов в удобной для восприятия человеком форме: графики, диаграммы, гистограммы.

Подключение библиотек – синтаксис:

import math as m

import numpy as np

import matplotlib.pyplot as plt

etc…

Библиотеки в python содержат не только функции, позволяющие решать различные задачи, но и некоторые популярные константы, например число Эйлера.

4.2.1 Пример

Задача:




Рассчитать синус от е радиан и вывести результат на экран

Решение:






Ответ:






4.2.2 Пример

Задача:




Для функции на интервале [0;10] с шагом 0,05 построить график функции, закрасить площадь под ним и вычислить значение этой площади.

Для вычисления площади воспользуйте функции trapz(), вычисляющей интеграл по правилу трапеции.Для ее корректной работы необходимо подключить следующие библиотеки:

from scipy.integrate import simps

from numpy import trapz

Решение:






Ответ:






4.2.3 Пример

Задача:




Дано некоторое распределение оценок в группе за экзамен. Нарисовать круговую и точечную диаграммы распределения.

Решение:






Ответ:






4.3.1 Задание

1.

Задача:




Задайте массив случайных значений из интервала(0; 1).

Рассчитайте средние и медианные значения для массива, сравните результаты, какие выводы можно сделать о значениях?

Постройте точечную диаграмму рассения полученного ряда.

Решение:







Ответ:






4.3.2 Задание

1.

Задача:




Дана функция Создать массив из 10 значений функции ( , например, изменяется от 1 до 10).Выделить срез первой половины массива и построить графики для основного массива – линейный и для среза – точечный

Решение:






Ответ:






4.3.3 Задание

1.

Задача:




Дана функция Построить график на интервале (0,10) с шагом 1с заливкой площади и найти эту площадь под ним. Для вычисления площади воспользуйте функции trapz(), вычисляющей интеграл по правилу трапеции.

Для ее корректной работы необходимо подключить следующие библиотеки:

from scipy.integrate import simps

from numpy import trapz

Решение:






Ответ:






4.3.4 Задание

1.

Задача:




Откройте статистические данные по стоимости акций Apple, Microsoft, Google за 12 месяцев 2021 г. Постройте 3 графика на плоскости и оцените их динамику. Подумайте, как можно улучшить читаемость результатов.

Для начальных данных допустимо использовать следующий ресурс: https://finance.yahoo.com

Решение:






Ответ:






4.3.5 Задание

1.

Задача:




Создайте простейший калькулятор, включающий основные действия для двух переменных , а также вычисление следующих функций: .

Решение:






Ответ:







написать администратору сайта