RNN Menggunakan TensorFlow 2 – Bag 1

Pada modul ini kita akan membahas text classification menggunakan RNN. Karena RNN atau Recurrent Neural Network, umum digunakan untuk melatih model dengan input data sequence, dimana text adalah sequence dari kata.

Untuk teori dasar RNN, silakan lihat di https://skillplus.web.id/pengenalan-recurrent-neural-network-rnn/

Text classification yang akan dibuat adalah memprediksi review positif atau negatif, yang berarti binary classification. Dataset diambil dari movie review dari IMDB. Dataset terdiri dari 50000 review, dibagi menjadi 25000 data training dan 25000 data test.

Import library

Pertama kita import library yang digunakan

import tensorflow as tf
from tensorflow.keras.datasets import imdb

Data Preprocessing

Hal yang perlu diperhatikan adalah, ukuran text input harus sama. Jadi perlu dilakukan padding agar data review memiliki ukuran yang sama. (Panjang masing-masing review bisa berbeda).

Pertama, set parameter untuk dataset, yaitu jumlah kata dan besar padding (var max_len).

number_of_words = 20000
max_len = 100

Kemudian kita load dataset. Perhatikan parameter num_words diisi dengan nilai 20000, jadi data yang diload hanya review yang mengandung 20000 kata yang sering digunakan.

x_train akan menyimpan data review, y_train akan menyimpan label apakah review positif atau negatif. Demikian halnya dengan variable x_test dan y_test.

(X_train, y_train), (X_test, y_test) = imdb.load_data(num_words=number_of_words)

Langkah selanjutnya adalah padding, yaitu untuk menyamakan ukuran data input.

X_train = tf.keras.preprocessing.sequence.pad_sequences(X_train, maxlen=max_len)
X_test = tf.keras.preprocessing.sequence.pad_sequences(X_test, maxlen=max_len)

Pada modul selanjutnya akan kita bahas model building.

Sharing is caring:

Leave a Comment