Страницу Назад
Поискать другие аналоги этой работы
700 Лабораторная работа №1,2,3 по дисциплине: Интеллектуальные технологии информационной безопасности. Вариант 05ID: 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 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:Лабораторная работа №1 по дисциплине: Интеллектуальные технологии информационной безопасности. «Метод k ближайших соседей». Вариант 05Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Интеллектуальные технологии информационной безопасности / Лабораторная работа №1,2,3 по дисциплине: Интеллектуальные технологии информационной безопасности. Вариант 05
Вход в аккаунт: