3.4 KiB
Задание
Использовать нейронную сеть MLPClassifier для данных из таблицы 1 по варианту, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо она подходит для решения сформулированной вами задачи
Как запустить лабораторную
Запустить файл main.py
Используемые технологии
Библиотеки pandas, scikit-learn, их компоненты
Описание лабораторной (программы)
В представленном коде мы используем MLPClassifier (многослойный персептрон) для предсказания формы НЛО на основе доступных атрибутов.
- Загружаем данные из файла CSV с помощью библиотеки pandas.
- Проверяем наличие пропущенных значений в данных с помощью метода isna().sum(), где isna() обнаруживает пропущенные значения, а sum() возвращает число пропущенных значений для каждого столбца.
- Заменяем пропущенные значения в категориальных столбцах (state/province, country, UFO_shape) на наиболее часто встречающиеся значения, используя метод mode()[0].
- Удаляем строки с пропущенными значениями в числовом столбце UFO_shape с помощью метода dropna(subset=['UFO_shape']).
- Преобразуем текстовый атрибут UFO_shape в числовые значения, используя LabelEncoder.
- Разделяем данные на атрибуты (X) и целевую переменную (y).
- Разделяем данные на обучающую и тестовую выборки с помощью метода train_test_split().
- Создаем объект модели MLPClassifier с указанием размерности скрытого слоя (hidden_layer_sizes=(100,)) и количества итераций (max_iter=1000).
- Обучаем модель на обучающей выборке с помощью метода fit().
- Получаем предсказания на тестовой выборке с помощью метода predict().
- Оцениваем точность модели с помощью метрики accuracy_score, сравнивая предсказанные значения с истинными.
- Выводим точность модели.
Результат
Мы можем сделать выводы о точности модели на основе значения accuracy.
Accuracy: 0.125
Чем ближе значение к 1, тем более точная модель. Однако, точность нашей модели довольна низкая, так как предсказание формы НЛО может быть трудной задачей, основываясь только на доступных атрибутах.