IIS_2023_1/degtyarev_mikhail_lab_1
2023-12-02 00:15:42 +04:00
..
main.py degtyarev_mikhail_lab_1 2023-12-02 00:15:42 +04:00
mlp_10.png degtyarev_mikhail_lab_1 2023-12-02 00:15:42 +04:00
mlp_100.png degtyarev_mikhail_lab_1 2023-12-02 00:15:42 +04:00
perc_base.png degtyarev_mikhail_lab_1 2023-12-02 00:15:42 +04:00
Readme.md degtyarev_mikhail_lab_1 2023-12-02 00:15:42 +04:00

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

Задание

Сгенерируйте определенный тип данных и сравнить на нем 3 модели (по варианту 9). Построить графики, отобразить качество моделей, объяснить полученные результаты

Данные

make_classification (n_samples=500, n_features=2, n_redundant=0, n_informative=2, random_state=rs, n_clusters_per_class=1)

  • Модели:
    • Персептрон
    • Многослойный персептрон с 10-ю нейронами в скрытом слое (alpha = 0.01)
    • Многослойный персептрон со 100-а нейронами в скрытом слое (alpha =0.01)

Описание Программы

Используемые библиотеки

  • scikit-learn
  • numpy
  • matplotlib

Шаги программы

  1. Генерация данных:

    • Используется функция make_classification из библиотеки scikit-learn.
    • Создаются два признака, и данные разделяются на два класса.
    • Используется 500 сэмплов.
  2. Разделение данных:

    • Данные разделяются на обучающий и тестовый наборы с использованием train_test_split из scikit-learn.
    • Размер тестового набора установлен в 20% от общего размера.
  3. Создание моделей:

    • Три модели создаются с использованием библиотеки scikit-learn:
      • Персептрон
      • Многослойный персептрон с 10 нейронами в скрытом слое
      • Многослойный персептрон с 100 нейронами в скрытом слое
  4. Обучение и Оценка:

    • Каждая модель обучается на обучающем наборе данных.
    • Производится оценка каждой модели на тестовом наборе с использованием метрики точности (accuracy).
  5. Визуализация данных и Границ Решения:

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

Запуск программы

  • Склонировать или скачать код main.py.
  • Запустите файл в среде, поддерживающей выполнение Python.

Результаты

  • Можно проанализировать точность на графиках и понять, что самая точная из 3 моделей оказалась Многослойный персептрон со 100-а нейронами в скрытом слое.
  • Многослойный персептрон со 100-а нейронами: 0.96
  • Многослойный персептрон с 10-ю нейронами: 0.90
  • Персептрон: 0.86