IIS_2023_1/kutygin_andrey_lab_6
2023-11-13 21:53:05 +04:00
..
main.py kutygin_andrey_lab_6_ready 2023-11-13 21:53:05 +04:00
README.md kutygin_andrey_lab_6_ready 2023-11-13 21:53:05 +04:00
ufo_sighting_data.csv kutygin_andrey_lab_6_ready 2023-11-13 21:53:05 +04:00

Задание


Использовать нейронную сеть MLPClassifier для данных из таблицы 1 по варианту, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо она подходит для решения сформулированной вами задачи

Как запустить лабораторную


Запустить файл main.py

Используемые технологии


Библиотеки pandas, scikit-learn, их компоненты

Описание лабораторной (программы)


В представленном коде мы используем MLPClassifier (многослойный персептрон) для предсказания формы НЛО на основе доступных атрибутов.

  1. Загружаем данные из файла CSV с помощью библиотеки pandas.
  2. Проверяем наличие пропущенных значений в данных с помощью метода isna().sum(), где isna() обнаруживает пропущенные значения, а sum() возвращает число пропущенных значений для каждого столбца.
  3. Заменяем пропущенные значения в категориальных столбцах (state/province, country, UFO_shape) на наиболее часто встречающиеся значения, используя метод mode()[0].
  4. Удаляем строки с пропущенными значениями в числовом столбце UFO_shape с помощью метода dropna(subset=['UFO_shape']).
  5. Преобразуем текстовый атрибут UFO_shape в числовые значения, используя LabelEncoder.
  6. Разделяем данные на атрибуты (X) и целевую переменную (y).
  7. Разделяем данные на обучающую и тестовую выборки с помощью метода train_test_split().
  8. Создаем объект модели MLPClassifier с указанием размерности скрытого слоя (hidden_layer_sizes=(100,)) и количества итераций (max_iter=1000).
  9. Обучаем модель на обучающей выборке с помощью метода fit().
  10. Получаем предсказания на тестовой выборке с помощью метода predict().
  11. Оцениваем точность модели с помощью метрики accuracy_score, сравнивая предсказанные значения с истинными.
  12. Выводим точность модели.

Результат


Мы можем сделать выводы о точности модели на основе значения accuracy.

Accuracy: 0.125

Чем ближе значение к 1, тем более точная модель. Однако, точность нашей модели довольна низкая, так как предсказание формы НЛО может быть трудной задачей, основываясь только на доступных атрибутах.