diff --git a/labworks/LW4/readme.md b/labworks/LW4/readme.md index 4011707..d1f9974 100644 --- a/labworks/LW4/readme.md +++ b/labworks/LW4/readme.md @@ -98,6 +98,7 @@ MIN Len: 500 print(X_train[27]) print('len:',len(X_train[27])) ``` +``` [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -135,13 +136,16 @@ print('len:',len(X_train[27])) 54 36 271 6 20 2 181 6 52 130 60 48 12 9 2 21 4 64 835 133 9 4 130 806] len: 500 +``` ```python review_as_text = ' '.join(id_to_word[id] for id in X_train[26]) print(review_as_text) print('len:',len(review_as_text)) ``` +``` director fred directs this well but inferior comedy about albert matthau trying to hook his scientific ryan up with ordinary guy tim in order to get her to and enjoy life in the 1950's to get ryan to like tries to make look like a brilliant scientist the idea is cute but the film falls flat with corny situations and silly dialogue tim ryan and the terrific supporting cast do their best to keep this silly comedy but are unable to rescue the film its unfortunate that so much talent went into producing such a movie i would not recommend to anybody unless they are huge fans of ryan len: 2932 +``` После обработки в начало отзыва добавилось необходимое количество токенов , чтобы отзыв был длинной в 500 индексов. ### 7) Вывели предобработанные массивы обучающих и тестовых данных и их размерности. ```python @@ -153,6 +157,7 @@ print('X train: \n',X_test) print('Shape of X train:', X_train.shape) print('Shape of X test:', X_test.shape) ``` +``` X train: [[ 0 0 0 ... 8 106 53] [ 0 0 0 ... 404 10 10] @@ -171,6 +176,7 @@ X train: [ 0 0 0 ... 418 7 595]] Shape of X train: (25000, 500) Shape of X test: (25000, 500) +``` ###8) Реализовали модель рекуррентной нейронной сети, состоящей из слоев Embedding, LSTM, Dropout, Dense, и обучили ее на обучающих данных с выделением части обучающих данных в качестве валидационных. Вывели информацию об архитектуре нейронной сети. Добились качества обучения по метрике accuracy не менее 0.8. ```python embed_dim = 32 @@ -212,6 +218,7 @@ epochs = 3 model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"]) model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, validation_split=0.2) ``` +``` Epoch 1/3 313/313 ━━━━━━━━━━━━━━━━━━━━ 11s 22ms/step - accuracy: 0.6725 - loss: 0.5824 - val_accuracy: 0.8414 - val_loss: 0.3682 Epoch 2/3 @@ -219,13 +226,16 @@ Epoch 2/3 Epoch 3/3 313/313 ━━━━━━━━━━━━━━━━━━━━ 7s 21ms/step - accuracy: 0.8603 - loss: 0.3303 - val_accuracy: 0.8634 - val_loss: 0.3218 +``` ```python test_loss, test_acc = model.evaluate(X_test, y_test) print(f"\nTest accuracy: {test_acc}") ``` +``` 782/782 ━━━━━━━━━━━━━━━━━━━━ 7s 8ms/step - accuracy: 0.8583 - loss: 0.3294 Test accuracy: 0.8605999946594238 +``` ###9) Оценили качество обучения на тестовых данных: ###вывели значение метрики качества классификации на тестовых данных ###вывели отчет о качестве классификации тестовой выборки