diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/IIS_2023_1.iml b/.idea/IIS_2023_1.iml
new file mode 100644
index 0000000..4e6ce24
--- /dev/null
+++ b/.idea/IIS_2023_1.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..3c29c38
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..89e118a
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zavrazhnova_svetlana_lab_1/README.md b/zavrazhnova_svetlana_lab_1/README.md
new file mode 100644
index 0000000..efdcb74
--- /dev/null
+++ b/zavrazhnova_svetlana_lab_1/README.md
@@ -0,0 +1,31 @@
+### Задание:
+Данные: 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)
+
+### как запустить лабораторную работу:
+Лабораторная работа запускается в файле `zavrazhnova_svetlana_lab_1.py` через Run, должно запуститься диалоговое окно и вычисления в консоли
+
+### Технологии:
+Библиотека Scikit-learn содержит множество наборов данных
+
+### Что делает лабораторная:
+Выполнение кода выводит точность каждой модели (в консоль) и отображает графики с границами решений для каждой модели.
+
+В данном коде генерируются данные с использованием функции make_classification() из библиотеки scikit-learn. Генерируется набор данных с 500 примерами и 2 признаками. Классы точек представлены переменной y, которая содержит метки классов для каждой точки. В данном случае, сгенерировано два класса, обозначенных как 0 и 1.
+
+Визуализация данных и границ решения моделей выполняется с помощью функции scatter() и функции contourf() из библиотеки matplotlib. Функция scatter() отображает точки данных на графике, окрашивая их в соответствии с классами, заданными переменной y.
+
+Таким образом, графики помогают визуализировать данные, их классификацию и границы решения моделей, позволяя лучше понять, как модели принимают решение о классификации объектов.
+
+### Пример выходных значений:
+Консоль:
+
+![результат в консоль](imgConsoleRes.png)
+
+Графики:
+
+![img.png](imgGraphicsRes.png)
\ No newline at end of file
diff --git a/zavrazhnova_svetlana_lab_1/imgConsoleRes.png b/zavrazhnova_svetlana_lab_1/imgConsoleRes.png
new file mode 100644
index 0000000..3628841
Binary files /dev/null and b/zavrazhnova_svetlana_lab_1/imgConsoleRes.png differ
diff --git a/zavrazhnova_svetlana_lab_1/imgGraphicsRes.png b/zavrazhnova_svetlana_lab_1/imgGraphicsRes.png
new file mode 100644
index 0000000..7c9788f
Binary files /dev/null and b/zavrazhnova_svetlana_lab_1/imgGraphicsRes.png differ
diff --git a/zavrazhnova_svetlana_lab_1/zavrazhnova_svetlana_lab_1.py b/zavrazhnova_svetlana_lab_1/zavrazhnova_svetlana_lab_1.py
new file mode 100644
index 0000000..e2fd9b8
--- /dev/null
+++ b/zavrazhnova_svetlana_lab_1/zavrazhnova_svetlana_lab_1.py
@@ -0,0 +1,89 @@
+import numpy as np
+from sklearn.datasets import make_classification
+from sklearn.model_selection import train_test_split
+from sklearn.linear_model import Perceptron
+from sklearn.neural_network import MLPClassifier
+from sklearn.metrics import accuracy_score
+from matplotlib import pyplot as plt
+
+#Задание случайного состояния
+rs = 42
+#Генерируются 500 примеров с 2 признаками, 0 лишними признаками, 2 информативными признаками,
+# random_state устанавливается в rs для воспроизводимости данных и n_clusters_per_class устанавливается в 1 для генерации одного кластера классов
+X, y = make_classification(n_samples=500, n_features=2, n_redundant=0, n_informative=2, random_state=rs, n_clusters_per_class=1)
+
+# Разделение данных на обучающую и тестовую выборки
+#test_size установлен на 0.4, что означает, что 40% данных будет использовано для тестирования.
+X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=rs)
+
+# Инициализация моделей
+perceptron = Perceptron()
+mlp_10 = MLPClassifier(hidden_layer_sizes=(10,), alpha=0.01, random_state=rs)
+mlp_100 = MLPClassifier(hidden_layer_sizes=(100,), alpha=0.01, random_state=rs)
+
+# Обучение моделей
+perceptron.fit(X_train, y_train)
+mlp_10.fit(X_train, y_train)
+mlp_100.fit(X_train, y_train)
+
+# Предсказание на тестовой выборке
+y_pred_perceptron = perceptron.predict(X_test)
+y_pred_mlp_10 = mlp_10.predict(X_test)
+y_pred_mlp_100 = mlp_100.predict(X_test)
+
+# Оценка качества моделей, Оценка точности (accuracy) каждой модели сравнивается с истинными метками классов на тестовой выборке
+accuracy_perceptron = accuracy_score(y_test, y_pred_perceptron)
+accuracy_mlp_10 = accuracy_score(y_test, y_pred_mlp_10)
+accuracy_mlp_100 = accuracy_score(y_test, y_pred_mlp_100)
+
+# Вывод результатов
+print("Точность - Perceptron:", accuracy_perceptron)
+print("Точность - MLP (10 neurons):", accuracy_mlp_10)
+print("Точность - MLP (100 neurons):", accuracy_mlp_100)
+
+# Визуализация данных и границ решения моделей
+#Определение интервала значений для графиков, чтобы включить все точки данных и оставить небольшую дополнительную поверхность вокруг границы графика
+x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5
+y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5
+xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),
+ np.arange(y_min, y_max, 0.02))
+
+#Предсказание класса для каждой точки в сетке графика и изменение формы результата, чтобы соответствовать размерам сетки
+Z_perceptron = perceptron.predict(np.c_[xx.ravel(), yy.ravel()])
+Z_perceptron = Z_perceptron.reshape(xx.shape)
+
+Z_mlp_10 = mlp_10.predict(np.c_[xx.ravel(), yy.ravel()])
+Z_mlp_10 = Z_mlp_10.reshape(xx.shape)
+
+Z_mlp_100 = mlp_100.predict(np.c_[xx.ravel(), yy.ravel()])
+Z_mlp_100 = Z_mlp_100.reshape(xx.shape)
+
+#Визуализация данных и границ решения моделей на трех графиках.
+# Границы решения отмечены заштрихованными областями, а точки данных на графике окрашены в соответствии с их классами
+plt.figure(figsize=(12, 9))
+plt.subplot(221)
+plt.contourf(xx, yy, Z_perceptron, alpha=0.8)
+plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, edgecolors='k', alpha=0.6)
+plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train, edgecolors='k')
+plt.title('Персептрон')
+plt.xlabel('Признак 1')
+plt.ylabel('Признак 2')
+
+plt.subplot(222)
+plt.contourf(xx, yy, Z_mlp_10, alpha=0.8)
+plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, edgecolors='k', alpha=0.6)
+plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train, edgecolors='k')
+plt.title('MLP (10 нейронов)')
+plt.xlabel('Признак 1')
+plt.ylabel('Признак 2')
+
+plt.subplot(223)
+plt.contourf(xx, yy, Z_mlp_100, alpha=0.8)
+plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, edgecolors='k', alpha=0.6)
+plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train, edgecolors='k')
+plt.title('MLP (100 нейронов)')
+plt.xlabel('Признак 1')
+plt.ylabel('Признак 2')
+
+plt.tight_layout()
+plt.show()
\ No newline at end of file