IIS_2023_1/shadaev_anton_lab_1/README.md
2023-11-02 23:09:40 +04:00

49 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# IIS_2023_1
<h4>Задание</h4>
<p>
Используя код из пункта «Регуляризация и сеть прямого
распространения» из [1] (стр. 228), сгенерируйте определенный тип данных и
сравните на нем 3 модели (по варианту). Постройте графики, отобразите
качество моделей, объясните полученные результаты.
</p>
<p>
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)
</p>
<h4>Способок запуска программы</h4>
<p>Выполнить скрипт shadaev_anton_lab_1/main.py (перед этим установить импортированные библиотеки) после которого будут нарисованы 3 графика</p>
<h4>Стек технологий</h4>
<p>
<ul>
<li>NumPy - это библиотека Python, предоставляющая поддержку для больших, многомерных массивов и матриц, а также набор функций для их манипуляции и обработки.</li>
<li>Matplotlib - это библиотека для визуализации данных в Python, предоставляющая инструменты для создания статических, анимированных и интерактивных графиков и диаграмм.</li>
<li>Scikit-learn - это библиотека Python, предназначенная для машинного обучения, которая содержит функции и алгоритмы для классификации, прогнозирования и разбиения данных на группы.</li>
</ul>
</p>
<h4>Описание кода</h4>
<p>
<ol>
<li>Импортирование необходимых библиотек</li>
<li>Создание искусственных данных с помощью функции <i>make_classification()</i> из sklearn. Данные состоят из 500 образцов.</li>
<li>Данные разделяются на обучающие и тестовые наборы данных с использованием функции <i>train_test_split()</i>.</li>
<li>Создается список моделей для обучения (Перцептрон и многослойные перцептроны).</li>
<li>Выполняется обучение для каждой модели, предсказание на тестовых данных и вычисление точности предсказания.</li>
<li>Строится кривая обучения для каждой модели и кросс-валидации с использованием функции <i>learning_curve()</i> из sklearn. Данная функция позволяет визуализировать, как производительность модели изменяется в зависимости от количества обучающих примеров.</li>
<li>Наконец, <i>plt.show()</i> отображает все графики.</li>
</ol>
<h6>Полученные графики</h6>
Графики показывают производительность моделей при обучении на разных размерах обучающего набора данных.
<ul>
<li><b>Оценка обучения</b> - кривая, показывающая среднюю точность модели на обучающем наборе данных для различных размеров обучающего набора. Это позволяет увидеть, как точность модели меняется с увеличением размера обучающего набора.</li>
<li><b>Оценка кросс-валидации</b> - кривая, показывающая среднюю точность модели на валидационном наборе данных для различных размеров обучающего набора. Это позволяет увидеть, как точность модели меняется с увеличением размера обучающего набора, но с использованием кросс-валидации для оценки производительности модели.</li>
<li><b>Оси графика:</b> Ось X представляет размер обучающего набора, а ось Y представляет среднюю точность модели.</li>
</ul>
<img src="myplot.png" />
</p>