Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
9144.pdf
Скачиваний:
13
Добавлен:
25.11.2023
Размер:
2.34 Mб
Скачать

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Д. И. Кислицын

Системы искусственного интеллекта

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «Системы искусственного интеллекта»

по направлению подготовки 09.04.02 Информационные системы и технологии, профиль «Искусственный интеллект в системах и сетях передачи данных»

Нижний Новгород

2022

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Д. И. Кислицын

Системы искусственного интеллекта

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «Системы искусственного интеллекта»

по направлению подготовки 09.04.02 Информационные системы и технологии, профиль «Искусственный интеллект в системах и сетях передачи данных»

Нижний Новгород ННГАСУ

2022

2

УДК 681.3 (075)

Кислицын Д. И. Системы искусственного интеллекта : учебно-методическое пособие / Д. И. Кислицын; Нижегородский государственный архитектурно-строительный университет. – Нижний Новгород : ННГАСУ, 2022. - 46 с. - Текст : электронный.

Предназначено для обучающихся в ННГАСУ по дисциплине «Системы искусственного интеллекта» по направлению подготовки 09.04.02 Информационные системы и технологии, профиль «Искусственный интеллект в системах и сетях передачи данных».

Д. И. Кислицын, 2022ННГАСУ, 2022

3

Содержание

Лабораторная работа №1……….……………………….………………………5 Лабораторная работа №2………………………………………………………26 Лабораторная работа №3………………………………………………………32 Лабораторная работа №4………………………………………………………38

4

Лабораторная работа №1

Прогнозирование временных рядов (регресионные машиного обучения)

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

Вопределении временных рядов есть две основные структурные переменные:

Период, который представляет уровень обобщения. Наиболее часто используемыми периодами являются: месяц, неделя, день в цепях поставок (для оптимизации товарных запасов). Колл-центры обычно ориентируются на период в 15 минут (для оптимизации количества персонала).

Горизонт, который представляет количество периодов в будущем, на которое необходим прогноз. В цепях поставок горизонт обычно равен или превышает срок поставки. Данная лабораторная работа посвящена прогнозрованию энергопотребления по данным, собранным за 11 лет. Тренировочная выборка состоит из 10 лет, тестовая из одного года.

Загрузка, инициализация и анализ данных

#Команда импорта сторонних библиотек (import 'название библиотеки' as 'сокращенное название')

import pandas as pd import seaborn as sns

import matplotlib.pyplot as plt

#Ссылка на датасет

url='https://raw.githubusercontent.com/jenfly/opsd/master/opsd_germany_daily. csv'

# Операция присваивания переменной data датафрейма (дф), который формируется на основе датасета

data = pd.read_csv(url, sep=",")

data # Вывод полученного дф (рабоатет только в интерактивных блокнотаз

(colab, jupiter))

 

Date

Consumption

Wind

Solar

Wind+Solar

0

2006-01-01

1069.18400

NaN

NaN

NaN

1

2006-01-02

1380.52100

NaN

NaN

NaN

2

2006-01-03

1442.53300

NaN

NaN

NaN

3

2006-01-04

1457.21700

NaN

NaN

NaN

4

2006-01-05

1477.13100

NaN

NaN

NaN

...

...

...

...

...

...

4378

2017-12-27

1263.94091

394.507

16.530

411.037

5

4379

2017-12-28

1299.86398

506.424

14.162

520.586

4380

2017-12-29

1295.08753

584.277

29.854

614.131

4381

2017-12-30

1215.44897

721.247

7.467

728.714

4382

2017-12-31

1107.11488

721.176

19.980

741.156

[4383 rows x 5 columns]

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

1.Pandas - Хранение, обработка и анализ датасетов (табличный формат, временые ряды)

2.Numpy - Хранение, обработка и анализ датасетов (многомерные массивы)

3.Sklearn - Библиотека машинного обуения

4.SciPy - Библиотека научных и инженерных рассчетов

5.Seaborn - Библиотека визуализации (построение графиков), основана на библ. matplotlib

6.Matplotlib - Библиотека визуализации

Графическая демонтрация всего обрабатываемого датасета атрибуты функции x_vars - значения оси абсцисс, data - датасет, height - высота графика (inch),aspect - длина графика

sns.pairplot(x_vars=['Date'], data = data, height=5, aspect=20) <seaborn.axisgrid.PairGrid at 0x7f54d311cf10>

sns.pairplot(data = data) # Матрица рассеяния (перекрестный анализ)

<seaborn.axisgrid.PairGrid at 0x7f54c890fd50>

6

Подготовка временных меток

data['time'] = str('01:00:00') # Добавление временной составляющей data['Date'] = pd.to_datetime(data['Date'].astype(str) + ' ' + data['time'].astype(str), format='%Y-%m-%d %H:%M:%S') # Формирование формата времени с датой

data

 

 

Date

Consumption

Wind

Solar

Wind+Solar

time

0

2006-01-01 01:00:00

1069.18400

NaN

NaN

NaN

01:00:00

1

2006-01-02

01:00:00

1380.52100

NaN

NaN

NaN

01:00:00

2

2006-01-03

01:00:00

1442.53300

NaN

NaN

NaN

01:00:00

3

2006-01-04

01:00:00

1457.21700

NaN

NaN

NaN

01:00:00

4

2006-01-05

01:00:00

1477.13100

NaN

NaN

NaN

01:00:00

...

 

...

...

...

...

...

...

4378 2017-12-27 01:00:00

1263.94091

394.507

16.530

411.037

01:00:00

4379 2017-12-28 01:00:00

1299.86398

506.424

14.162

520.586

01:00:00

4380

2017-12-29 01:00:00

1295.08753

584.277

29.854

614.131

01:00:00

7

4381

2017-12-30

01:00:00

1215.44897

721.247

7.467

728.714

01:00:00

4382

2017-12-31

01:00:00

1107.11488

721.176

19.980

741.156

01:00:00

[4383 rows x 6 columns]

data = data.set_index('Date') # Перенос колонки 'Date' в качестве значений индексов дф

data

 

Consumption

Wind

Solar

Wind+Solar

time

Date

 

 

 

 

 

2006-01-01 01:00:00

1069.18400

NaN

NaN

NaN

01:00:00

2006-01-02 01:00:00

1380.52100

NaN

NaN

NaN

01:00:00

2006-01-03 01:00:00

1442.53300

NaN

NaN

NaN

01:00:00

2006-01-04 01:00:00

1457.21700

NaN

NaN

NaN

01:00:00

2006-01-05 01:00:00

1477.13100

NaN

NaN

NaN

01:00:00

...

...

...

...

...

...

2017-12-27 01:00:00

1263.94091

394.507

16.530

411.037

01:00:00

2017-12-28 01:00:00

1299.86398

506.424

14.162

520.586

01:00:00

2017-12-29 01:00:00

1295.08753

584.277

29.854

614.131

01:00:00

2017-12-30 01:00:00

1215.44897

721.247

7.467

728.714

01:00:00

2017-12-31 01:00:00

1107.11488

721.176

19.980

741.156

01:00:00

[4383 rows x 5 columns]

Построение графика зависимости даты только от энергопотребления

(библ. seaborn (sns))

sns.lineplot(data = data['Consumption'])

<matplotlib.axes._subplots.AxesSubplot at 0x7f54e6428350>

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]