@ -49,7 +49,7 @@ y = np.concatenate((y_train, y_test))
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size = 10000,
train_size = 60000,
random_state = 123)
random_state = 31)
```
Выведем размерности.
@ -82,10 +82,10 @@ for i in range(4):
**Вывод:**
```bash








```
@ -193,9 +193,9 @@ plt.show()
```
**Вывод:**
```bash

```

## 7. Оценка работы модели на тестовых данных
@ -214,15 +214,15 @@ Accuracy on test data: 0.9185000061988831
```
## 8. Обучение и тестирование модели с одним скрытым слоем
## 8. Обучение и тестирование модели с одним скрытым слоем
Проведем тестирование модели при 100, 300, 500 нейронов в скрытом слое. В качестве функции активации нейронов в скрытом слое будем использовать функцию sigmoid.
Проведем тестирование модели при 100, 300, 500 нейронов в скрытом слое. В качестве функции активации нейронов в скрытом слое будем использовать функцию sigmoid.
По метрике качества классификации выберем наилучшее количество нейронов в скрытом слое.
1. Модель со 100 нейронами в скрытом слое


```bash
Loss on test data: 0.20470060408115387
@ -231,7 +231,7 @@ Accuracy on test data: 0.9412999749183655
2. Модель с 300 нейронами в скрытом слое


```bash
Loss on test data: 0.23246125876903534
@ -240,7 +240,7 @@ Accuracy on test data: 0.9337999820709229
3. Модель с 500 нейронами в скрытом слое


```bash
Loss on test data: 0.24853046238422394
@ -256,7 +256,7 @@ Accuracy on test data: 0.9283999800682068
1. Модель с 50 нейронами в скрытом слое


```bash
Loss on test data: 0.19981178641319275
@ -265,7 +265,7 @@ Accuracy on test data: 0.9387000203132629
2. Модель со 100 нейронами в скрытом слое


```bash
Loss on test data: 0.19404223561286926
@ -288,11 +288,11 @@ Accuracy on test data: 0.9413999915122986
## 13. Тестирование модели на собственных изображениях цифр
1. Создадим собственные изображения рукописных цифр "1" и "0"


2. Загрузим, предобработаем и подадим на вход обученной нейросети собственные изображения
```py
# вывод собственного изображения
plt.imshow(test_img, cmap=plt.get_cmap('gray'))
plt.show()
# предобработка
test_img = test_img / 255
test_img = test_img.reshape(1, num_pixels)
# распознавание
result = model.predict(test_img)
print('I think it\'s ', np.argmax(result))
```
**Вывод:**

```bash
I think it's 0
```

```bash
I think it's 1
```
## 14. Тестирование модели на собственных изображениях цифр, повернутых на 90 градусов
**Результат тестирования:**

```bash
I think it's 0
```

```bash
I think it's 4
```
*Таким образом, нейросеть смогла определить 0 из-за простой и неизменной формы при повороте, однако подав на вход перевернутую 1, нейросеть не смогла корренто определить цифру.*