ML PPT G3
ML PPT G3
LEARNING
PRESENTATION - 2024
ASSIGNMENT NO. 4
GROUP # 03
Submitted To:
Submitted By:
Types of Models
That each model was evaluated using 5-fold cross-validation
#
validation_generator_cnn = train_datagen.flow_from_directory( tokenizer = Tokenizer(num_words=max_words)
base_dir, tokenizer.fit_on_texts(texts)
target_size=(img_width, img_height), sequences = tokenizer.texts_to_sequences(texts)
batch_size=batch_size_cnn,
word_index = tokenizer.word_index
class_mode='binary',
print('Found %s unique tokens.' % len(word_index))
subset='validation'
)
data_rnn = pad_sequences(sequences, maxlen=maxlen)
# Read text data and tokenize for RNN
normal_texts = [] indices = np.arange(data_rnn.shape[0])
tb_texts = [] np.random.shuffle(indices)
data_rnn = data_rnn[indices]
for folder in [train_normal_dir, train_tb_dir]:
labels_rnn = labels_rnn[indices]
for filename in os.listdir(folder):
num_validation_samples_rnn = int(validation_split_rnn *
with open(os.path.join(folder, filename), 'rb') as file:
text = file.read().decode(errors='ignore') # Decode bytes to string data_rnn.shape[0])
if folder == train_normal_dir:
normal_texts.append(text) x_train_rnn = data_rnn[:-num_validation_samples_rnn]
else: y_train_rnn = labels_rnn[:-num_validation_samples_rnn]
tb_texts.append(text) x_val_rnn = data_rnn[-num_validation_samples_rnn:]
y_val_rnn = labels_rnn[-num_validation_samples_rnn:]
texts = normal_texts + tb_texts
labels_rnn = np.array([0] * len(normal_texts) + [1] * len(tb_texts))
# Extract odd-numbered accuracies from history
# Ensemble model odd_accuracies_ensemble = history_ensemble.history['accuracy']
cnn_input = Input(shape=(img_width, img_height, 3), [::2]
name='cnn_input') odd_val_accuracies_ensemble =
ann_input = Input(shape=(img_width, img_height, 3), history_ensemble.history['val_accuracy'][::2]
name='ann_input')
rnn_input = Input(shape=(maxlen,), name='rnn_input') # Plot training and validation accuracy (only odd numbers) for
ensemble
cnn_output = model_cnn(cnn_input) plt.plot(odd_accuracies_ensemble, label='Training Accuracy
ann_output = model_ann(ann_input) (Ensemble)')
rnn_output = model_rnn(rnn_input) plt.plot(odd_val_accuracies_ensemble, label='Validation Accuracy
(Ensemble)')
merged = Concatenate()([cnn_output, ann_output, rnn_output]) plt.title('Training and Validation Accuracy (Ensemble)')
ensemble_output = Dense(1, activation='sigmoid')(merged) plt.xlabel('Epoch')
plt.ylabel('Accuracy')
ensemble_model = Model(inputs=[cnn_input, ann_input, rnn_input], plt.legend()
outputs=ensemble_output) plt.show()