Страницу Назад
Поискать другие аналоги этой работы

700

Лабораторная работа №1,2,3 по дисциплине: Интеллектуальные технологии информационной безопасности. Вариант 05

ID: 245446
Дата закачки: 25 Июля 2024
Продавец: SibGUTI (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Лабораторная работа №1
«Метод k ближайших соседей»

Вариант: 05

Задание на лабораторную работу 1:
Суть лабораторной работы заключается в написании классификатора на основе метода k ближайших соседей. Данные из файла необходимо разбить на две выборки, обучающую и тестовую, согласно общепринятым правилам разбиения. На основе этих данных необходимо обучить разработанный классификатор. На обучающей выборке следует подобрать необходимые параметры метода для лучшей точности, а на тестовой выборке один раз протестировать метод с найденными оптимальными значениями изменяемых параметров (количеством соседей k/ параметрами q и i/ шириной окна h).

В качестве отчёта требуется представить:
- Вариант работы.
- Работающая программа.
- Таблица с результатами тестирования на этапе подбора
параметров метода, в которой будет видна зависимость точности
предсказания от изменяемого параметра.
- Результат работы на тестовой выборке при найденных
оптимальных параметрах.
Разбиение выборки необходимо выполнять программно, случайным образом, при этом, не нарушая информативности обучающей выборки.
Разбивать рекомендуется по следующему правилу: делим выборку на 3 равных части, 2 части используем в качестве обучающей, одну в качестве тестовой. Кроме того, обучающая выборка должна быть сгенерирована таким образом, чтобы минимизировать разницу между количеством представленных в ней объектов разных классов, т.е.
𝑎𝑏𝑠(|{(𝑥𝑖, 𝑦𝑖) ∈ 𝑋𝑙 |𝑦𝑖 = −1}| − |{(𝑥𝑖, 𝑦𝑖) ∈ 𝑋𝑙
|𝑦𝑖 = 1}|) → 𝑚𝑖𝑛.

Входные данные:
К заданию на лабораторную работу прилагаются файлы, в которых представлены наборы данных из ~10^4 объектов. Каждый объект описывается двумя признаками (𝑓𝑗(𝑥) ∈ 𝑅) и соответствующим ему классом (𝑦 ∈ {0,1}).

Пример чтения данных:
import pandas as pd
df = pd.read_csv(\\\'data.csv\\\', sep=\\\',\\\')

Варианты:
Выполнение лабораторной работы разбито на несколько пунктов, в каждом из которых есть несколько вариантов, выбор варианта опирается на 𝑁𝑐 – последние 2 цифры в пароле.
Первый пункт отвечает за выбор типа классификатора. Вариант выбирается по формуле 𝑁В = (𝑁𝑐 𝑚𝑜𝑑 3) + 1:
1. Метод k взвешенных ближайших соседей
2. Метод парзеновского окна с фиксированным h
3. Метод парзеновского окна с относительным размером окна
Для варианта 1 необходимо использовать весовую функцию 𝑤𝑖 по формуле 𝑁𝑤 = (𝑁𝑐𝑚𝑜𝑑 2) + 1. Параметр 𝑞 подбирается методом скользящего контроля.
1. 𝑤𝑖 = 𝑞𝑖, 𝑞 ∈ (0,1)
2. 𝑤𝑖 = (𝑘+1−𝑖/𝑘)𝑞, 𝑞 ∈ {2,3,4}
В случае 2-го и 3-го вариантов, необходимо использовать функцию ядра 𝐾(𝑧) из списка по следующей формуле 𝑁я = ((𝑁с ∗ 6 + 13) 𝑚𝑜𝑑 8 𝑚𝑜𝑑 3) + 1:
1. Q –квартическое 𝐾(𝑥) = (1 − 𝑟^2)^2 [𝑟 ≤ 1]
2. T – треугольное 𝐾(𝑥) = (1 − 𝑟)[𝑟 ≤ 1]
3. П – прямоугольное 𝐾(𝑥) = [𝑟 ≤ 1]
Кроме того, к лабораторной работе прилагаются 5 файлов с данными для классификации, файл выбирается по следующей формуле
𝑁ф = ((𝑁𝑐 + 2)𝑚𝑜𝑑 5) + 1

________________________________________________

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

“Решающие деревья”

К заданию прилагается файл с данными, содержащим результаты исследований методов обнаружения вторжений. Файл содержит в себе несколько колонок, все они перечислены:

columns = [\\\'duration\\\', \\\'protocol_type\\\', \\\'service\\\', \\\'flag\\\', \\\'src
_bytes\\\', \\\'dst_bytes\\\', \\\'land\\\', \\\'wrong_fragment\\\',\\\'urgent\\\', \\\'hot\\\',
\\\'num_failed_logins\\\', \\\'logged_in\\\', \\\'num_compromised\\\', \\\'root_she ll\\\', \\\'su_attempted\\\',
\\\'num_root\\\', \\\'num_file_creations\\\', \\\'num_shells\\\', \\\'num
_access_files\\\', \\\'num_outbound_cmds\\\',
\\\'is_host_login\\\', \\\'is_guest_login\\\', \\\'count\\\', \\\'srv_cou
nt\\\', \\\'serror_rate\\\', \\\'srv_serror_rate\\\',
\\\'rerror_rate\\\', \\\'srv_rerror_rate\\\', \\\'same_srv_rate\\\', \\\'
diff_srv_rate\\\', \\\'srv_diff_host_rate\\\',
\\\'dst_host_count\\\', \\\'dst_host_srv_count\\\', \\\'dst_host_sa
me_srv_rate\\\', \\\'dst_host_diff_srv_rate\\\',
\\\'dst_host_same_src_port_rate\\\', \\\'dst_host_srv_diff_ho
st_rate\\\', \\\'dst_host_serror_rate\\\',
\\\'dst_host_srv_serror_rate\\\', \\\'dst_host_rerror_rate\\\',
\\\'dst_host_srv_rerror_rate\\\', \\\'attack\\\', \\\'level\\\']

Задание:
Классифицировать атаки по типу атак, проверить правильность
классификации.
Считать файл можно следующим образом:
import pandas as pd
df = pd.read_csv(\\\'KDDTrain+.txt\\\')
test_df = pd.read_csv(\\\'KDDTest+.txt\\\')
columns = ([\\\'duration\\\'
,\\\'protocol_type\\\'
,\\\'service\\\'
,\\\'flag\\\'
,\\\'src_bytes\\\'
,\\\'dst_bytes\\\'
,\\\'land\\\'
,\\\'wrong_fragment\\\'
,\\\'urgent\\\'
,\\\'hot\\\'
,\\\'num_failed_logins\\\'
,\\\'logged_in\\\'
,\\\'num_compromised\\\'
,\\\'root_shell\\\'
,\\\'su_attempted\\\'
,\\\'num_root\\\'
,\\\'num_file_creations\\\'
,\\\'num_shells\\\'
,\\\'num_access_files\\\'
,\\\'num_outbound_cmds\\\'
,\\\'is_host_login\\\'
,\\\'is_guest_login\\\'
,\\\'count\\\'
,\\\'srv_count\\\'
,\\\'serror_rate\\\'
,\\\'srv_serror_rate\\\'
,\\\'rerror_rate\\\'
,\\\'srv_rerror_rate\\\'
,\\\'same_srv_rate\\\'
,\\\'diff_srv_rate\\\'
,\\\'srv_diff_host_rate\\\'
,\\\'dst_host_count\\\'
,\\\'dst_host_srv_count\\\'
,\\\'dst_host_same_srv_rate\\\'
,\\\'dst_host_diff_srv_rate\\\'
,\\\'dst_host_same_src_port_rate\\\'
,\\\'dst_host_srv_diff_host_rate\\\'
,\\\'dst_host_serror_rate\\\'
,\\\'dst_host_srv_serror_rate\\\'
,\\\'dst_host_rerror_rate\\\'
,\\\'dst_host_srv_rerror_rate\\\'
,\\\'attack\\\'
,\\\'level\\\'])
df.columns = columns
test_df.columns = columns
В файле информация о типах атак находится в столбце «attack», всего их 5
видов:
attack_labels = [\\\'Normal\\\',\\\'DoS\\\',\\\'Probe\\\',\\\'U2R\\\',\\\'R2L\\\']
Требуется имеющиеся данные разбить на обучающую и тестовую выборки в
процентном соотношении 70 к 30.
После чего по обучающей выборке необходимо построить решающее дерево,
а также случайный лес.
Разрешается использовать уже реализованные решающие деревья из
известных библиотек (например, scikit-learn для Python).
В качестве отчёта требуется представить:
● Работающая программа, определяющая с помощью изучаемых методов
типы атак и процент правильности их определения;
● 2 таблицы, указанные в приложении, показывающие % точности
предсказания типа атак в зависимости от изменения параметров дерева
решений и леса;
● Параметры дерева, на которых достигается наилучшая точность
предсказания;
● Параметры леса, на которых достигается наилучшая точность предсказания;

______________________________________________

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

“Регрессия”

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

В набор данных входят 2 файла, в «True» находится информация о правдивых новостных заметках, в «Fake.csv» находится информация о поддельных новостях. Каждый файл состоит из следующих полей:
1. (title) – заголовок статьи;
2. (text) – содержимое статьи;
3. (subject) – тип новости;
4. (date) – дата опубликования статьи.

Реализация регрессии в Scikit-Learn
На практике предлагается использовать проверенную и широко используемую библиотеку Scikit-Learn для реализации регрессии.
Следующая команда импортирует набор данных CSV, используя библиотеку pandas:
dataset = pd.read_csv(\\\'Weather.csv\\\')
Чтобы увидеть статистические данные набора данных, можно использовать метод describe():
dataset.describe()
Затем разделяем 80% данных на обучающий набор, а 20% данных - на набор тестов, используя приведенный ниже код.
Переменная test_size - это то место, где мы на самом деле указываем пропорцию тестового набора.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
Наконец, после разделения данных на обучающие и тестовые наборы, настало время обучить наш алгоритм. Для этого нужно импортировать класс LinearRegression, создать его экземпляр и вызвать fit() метод вместе с нашими данными обучения.
regressor = LinearRegression()
regressor.fit(X_train, y_train)
Теперь, когда мы обучили наш алгоритм, пришло время сделать некоторые прогнозы. Для этого будем использовать наши тестовые данные и посмотрим,
насколько точно алгоритм предсказывает процентную оценку. Чтобы сделать прогноз на тестовых данных, выполните следующий скрипт:
y_pred = regressor.predict(X_test)

Задание: используя модель логистической регрессии реализовать прогнозирование реалистичности статьи.
1. Необходимо построить модель для каждого из наборов, обучить её и сравнить полученные при помощи модели результаты с известными. Для обучения использовать 70% выборки, для тестирования 30%. Разбивать необходимо случайным образом, а, следовательно, для корректности тестирования качества модели, эксперимент необходимо провести не менее 10 раз и вычислить среднее значение качества регрессии.
2. Работу регрессии необходимо проверить на конкретном примере. При подаче на вход определённого объекта данных (заголовка статьи, текста, типа и даты) программа должна выводить тип статьи «Fake» или «Frue»,
выведенное значение необходимо проверить с тем, что находится в исходных данных.
Особенности работы с данными:
● После загрузки данных в память необходимо пометить поддельные новости «0», а подлинные новости «1» для дальнейшей работы.
● Для преобразования текста в частотные векторы слова использовать метод TfidfVectorizer().
В качестве отчёта требуется представить:
● Работающую программу, в которой отражено использование метода логистической регрессии для предсказания типа статей.
● Результаты 10 запусков отразить в таблице, где указать номер запуска и процент правильности предсказания типа статьи. Перед каждым запуском данные можно обработать с помощью метода shuffle().
● Среднее значение предсказания типа статьи исходя из 10 запусков

Комментарии: Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Интеллектуальные технологии информационной безопасности
Вид работы: Лабораторная работа 1
Оценка: Зачет
Дата оценки: 27.06.2024
Рецензия: Уважаемый ...............................................,

Ракитский Антон Андреевич



Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Интеллектуальные технологии информационной безопасности
Вид работы: Лабораторная работа 2
Оценка: Зачет
Дата оценки: 27.06.2024
Рецензия: Уважаемый ...............................................,

Ракитский Антон Андреевич



Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Интеллектуальные технологии информационной безопасности
Вид работы: Лабораторная работа 3
Оценка: Зачет
Дата оценки: 27.06.2024
Рецензия: Уважаемый ...............................................,

Ракитский Антон Андреевич

Размер файла: 37,9 Кбайт
Фаил: Упакованные файлы (.rar)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

   Добавить в корзину


        Коментариев: 0


Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



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

Страницу Назад

  Cодержание / Интеллектуальные технологии информационной безопасности / Лабораторная работа №1,2,3 по дисциплине: Интеллектуальные технологии информационной безопасности. Вариант 05
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!