Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
David Cecchini
Data Scientist
# Build and compile the model model = Sequential()model.add(Embedding(10000, 128))model.add(LSTM(128, dropout=0.2))model.add(Dense(1, activation='sigmoid'))model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
Aynı mimari kullanılabilir
# Build the model model = Sequential() model.add(Embedding(10000, 128)) model.add(LSTM(128, dropout=0.2))# Output layer has `num_classes` units and uses `softmax` model.add(Dense(num_classes, activation="softmax"))# Compile the model model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) ...
20 News Groups veri seti
sklearn.datasets import fetch_20newsgroups ile kullanılabilir# Veriyi yükleme fonksiyonunu içe aktarın from sklearn.datasets import fetch_20newsgroups# Eğitim ve test setlerini indirin news_train = fetch_20newsgroups(subset='train')news_test = fetch_20newsgroups(subset='test')
Veride şu öznitelikler vardır:
news_train.DESCR: Belgeler.news_train.data: Metin verisi.news_train.filenames: Diskte dosya yolları.news_train.target: Sınıfların sayısal indeksleri.news_train.target_names: Sınıfların benzersiz adları.# Import modules from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.preprocessing.sequence import pad_sequences from tensorflow.keras.utils import to_categorical# Tokenizer oluşturup eğitin tokenizer = Tokenizer() tokenizer.fit_on_texts(news_train.data)# (X, Y) değişkenlerini oluşturun X_train = tokenizer.texts_to_sequences(news_train.data) X_train = pad_sequences(X_train, maxlen=400) Y_train = to_categorical(news_train.target)
Modeli eğitim verisiyle eğitin
# Train the model
model.fit(X_train, Y_train,
batch_size=64, epochs=100)
# Evaluate on test data
model.evaluate(X_test, Y_test)
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)