Medical Text Classifier GabrieldeOlaguibel
Medical Text Classifier GabrieldeOlaguibel
# Load Datasets
train_df = pd.read_csv('train.csv')
test_df = pd.read_csv('test.csv')
2. Data Preprocessing
In [ ]: # Preprocessing functions
def clean_text(text):
"""Perform basic text cleaning and convert text to lowercase."""
return text.lower()
def stem_text(tokens):
"""
Perform stemming on the tokens using NLTK's PorterStemmer.
"""
stemmer = nltk.PorterStemmer()
stemmed_tokens = [stemmer.stem(token) for token in tokens]
return stemmed_tokens
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 1/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
# Combine train and test data for the Word2Vec model to ensure it's trained on all the data
combined_text = list(train_df['cleaned_text']) + list(test_df['cleaned_text'])
tokenized_data = [text.split() for text in combined_text]
# Ensure tensors are of float type for features and long (int) for labels
train_features = train_features.float()
test_features = test_features.float()
train_labels = train_labels.long()
test_labels = test_labels.long()
# Create TensorDatasets
train_dataset = TensorDataset(train_features, train_labels)
test_dataset = TensorDataset(test_features, test_labels)
/var/folders/fc/pwfmg_jd7k9d9mxgnl_clxr00000gn/T/ipykernel_994/3927493600.py:2: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consi
der converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/torc
h/csrc/utils/tensor_new.cpp:248.)
train_features = torch.tensor(train_df['embedding'].tolist())
# If you're using a GPU, you might want to move the weights to the same device as your model and data
class_weights = class_weights.to('cuda' if torch.cuda.is_available() else 'cpu')
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 2/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
return out
# LSTM layer
self.lstm = nn.LSTM(input_dim, lstm_hidden_dim, lstm_num_layers, batch_first=True)
# Model initialization
lstm_input_dim = 1 # Number of features per time step
lstm_hidden_dim = 64 # Number of features in the hidden state
lstm_num_layers = 1 # Number of stacked LSTM layers
lstm_output_dim = 4 # Number of output classes
lstm_model = SimpleLSTM(lstm_input_dim, lstm_hidden_dim, lstm_output_dim, lstm_num_layers)
lstm_criterion = nn.CrossEntropyLoss(weight=class_weights)
lstm_optimizer = torch.optim.Adam(lstm_model.parameters(), lr=0.01)
def reshape_input_for_rnn(vectors):
"""Reshapes input vectors for RNN models."""
return vectors.view(vectors.size(0), 300, 1) # Adjust the reshape parameters as needed for your RNN
def add_channel_dimension(vectors):
"""Adds a channel dimension to the input vectors, required for CNN models."""
return vectors.unsqueeze(1) # Add a channel dimension
def ensure_input_shape_for_lstm(vectors):
"""Ensures input vectors are of shape (batch_size, seq_len, input_dim) for LSTM models."""
return vectors.unsqueeze(-1) # Add the necessary dimension
plt.subplot(1, 2, 2)
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 3/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
plt.tight_layout()
plt.show()
Parameters:
- model: The model to be trained and validated.
- trainloader: DataLoader for training data.
- testloader: DataLoader for test/validation data.
- criterion: The loss function.
- optimizer: The optimizer.
- epochs: Number of epochs to train for.
- input_transform: Optional function to transform input data (e.g., reshaping for RNN or adding a channel dimension for CNN).
"""
training_losses = []
validation_losses = []
training_accuracies = []
validation_accuracies = []
training_losses.append(total_loss / len(trainloader))
training_accuracies.append(100 * correct / total)
model.eval()
total_loss, total, correct = 0, 0, 0
with torch.no_grad():
for vectors, targets in testloader:
if input_transform:
vectors = input_transform(vectors)
outputs = model(vectors)
loss = criterion(outputs, targets)
total_loss += loss.item()
_, predicted = torch.max(outputs.data, 1)
total += targets.size(0)
correct += (predicted == targets).sum().item()
validation_losses.append(total_loss / len(testloader))
validation_accuracies.append(100 * correct / total)
print(f'Epoch {epoch+1}/{epochs}, Training Loss: {training_losses[-1]:.4f}, Training Accuracy: {training_accuracies[-1]:.2f}%, Validation Loss: {validation_losses[-
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 4/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
Epoch 1/100, Training Loss: 1.3875, Training Accuracy: 24.96%, Validation Loss: 1.3833, Validation Accuracy: 28.00%
Epoch 2/100, Training Loss: 1.3774, Training Accuracy: 40.72%, Validation Loss: 1.3720, Validation Accuracy: 47.00%
Epoch 3/100, Training Loss: 1.3670, Training Accuracy: 48.77%, Validation Loss: 1.3599, Validation Accuracy: 51.40%
Epoch 4/100, Training Loss: 1.3541, Training Accuracy: 51.46%, Validation Loss: 1.3448, Validation Accuracy: 53.00%
Epoch 5/100, Training Loss: 1.3385, Training Accuracy: 51.81%, Validation Loss: 1.3260, Validation Accuracy: 53.00%
Epoch 6/100, Training Loss: 1.3174, Training Accuracy: 51.81%, Validation Loss: 1.3022, Validation Accuracy: 53.40%
Epoch 7/100, Training Loss: 1.2917, Training Accuracy: 52.10%, Validation Loss: 1.2736, Validation Accuracy: 53.40%
Epoch 8/100, Training Loss: 1.2617, Training Accuracy: 52.08%, Validation Loss: 1.2422, Validation Accuracy: 53.20%
Epoch 9/100, Training Loss: 1.2334, Training Accuracy: 52.23%, Validation Loss: 1.2115, Validation Accuracy: 53.60%
Epoch 10/100, Training Loss: 1.2086, Training Accuracy: 52.41%, Validation Loss: 1.1872, Validation Accuracy: 54.20%
Epoch 11/100, Training Loss: 1.1845, Training Accuracy: 52.41%, Validation Loss: 1.1677, Validation Accuracy: 53.80%
Epoch 12/100, Training Loss: 1.1685, Training Accuracy: 52.28%, Validation Loss: 1.1547, Validation Accuracy: 54.20%
Epoch 13/100, Training Loss: 1.1620, Training Accuracy: 52.06%, Validation Loss: 1.1460, Validation Accuracy: 52.60%
Epoch 14/100, Training Loss: 1.1562, Training Accuracy: 51.97%, Validation Loss: 1.1366, Validation Accuracy: 54.20%
Epoch 15/100, Training Loss: 1.1444, Training Accuracy: 51.90%, Validation Loss: 1.1298, Validation Accuracy: 54.20%
Epoch 16/100, Training Loss: 1.1384, Training Accuracy: 52.06%, Validation Loss: 1.1227, Validation Accuracy: 54.20%
Epoch 17/100, Training Loss: 1.1288, Training Accuracy: 52.26%, Validation Loss: 1.1134, Validation Accuracy: 53.60%
Epoch 18/100, Training Loss: 1.1209, Training Accuracy: 52.14%, Validation Loss: 1.1051, Validation Accuracy: 53.40%
Epoch 19/100, Training Loss: 1.1095, Training Accuracy: 52.03%, Validation Loss: 1.0938, Validation Accuracy: 53.40%
Epoch 20/100, Training Loss: 1.0985, Training Accuracy: 52.39%, Validation Loss: 1.0855, Validation Accuracy: 52.60%
Epoch 21/100, Training Loss: 1.0881, Training Accuracy: 52.46%, Validation Loss: 1.0736, Validation Accuracy: 53.00%
Epoch 22/100, Training Loss: 1.0725, Training Accuracy: 52.32%, Validation Loss: 1.0587, Validation Accuracy: 53.00%
Epoch 23/100, Training Loss: 1.0593, Training Accuracy: 52.34%, Validation Loss: 1.0433, Validation Accuracy: 53.20%
Epoch 24/100, Training Loss: 1.0478, Training Accuracy: 52.32%, Validation Loss: 1.0289, Validation Accuracy: 52.60%
Epoch 25/100, Training Loss: 1.0348, Training Accuracy: 52.46%, Validation Loss: 1.0169, Validation Accuracy: 52.20%
Epoch 26/100, Training Loss: 1.0187, Training Accuracy: 52.61%, Validation Loss: 1.0066, Validation Accuracy: 53.00%
Epoch 27/100, Training Loss: 1.0111, Training Accuracy: 52.75%, Validation Loss: 0.9934, Validation Accuracy: 52.20%
Epoch 28/100, Training Loss: 0.9991, Training Accuracy: 52.57%, Validation Loss: 0.9852, Validation Accuracy: 51.80%
Epoch 29/100, Training Loss: 0.9855, Training Accuracy: 52.88%, Validation Loss: 0.9769, Validation Accuracy: 53.20%
Epoch 30/100, Training Loss: 0.9872, Training Accuracy: 52.83%, Validation Loss: 0.9725, Validation Accuracy: 53.20%
Epoch 31/100, Training Loss: 0.9792, Training Accuracy: 53.19%, Validation Loss: 0.9665, Validation Accuracy: 53.20%
Epoch 32/100, Training Loss: 0.9748, Training Accuracy: 53.17%, Validation Loss: 0.9630, Validation Accuracy: 53.20%
Epoch 33/100, Training Loss: 0.9723, Training Accuracy: 53.17%, Validation Loss: 0.9598, Validation Accuracy: 53.40%
Epoch 34/100, Training Loss: 0.9729, Training Accuracy: 53.21%, Validation Loss: 0.9523, Validation Accuracy: 53.40%
Epoch 35/100, Training Loss: 0.9615, Training Accuracy: 53.55%, Validation Loss: 0.9492, Validation Accuracy: 54.40%
Epoch 36/100, Training Loss: 0.9675, Training Accuracy: 53.43%, Validation Loss: 0.9508, Validation Accuracy: 54.00%
Epoch 37/100, Training Loss: 0.9574, Training Accuracy: 53.15%, Validation Loss: 0.9434, Validation Accuracy: 53.80%
Epoch 38/100, Training Loss: 0.9587, Training Accuracy: 53.37%, Validation Loss: 0.9431, Validation Accuracy: 54.40%
Epoch 39/100, Training Loss: 0.9519, Training Accuracy: 53.61%, Validation Loss: 0.9375, Validation Accuracy: 54.40%
Epoch 40/100, Training Loss: 0.9613, Training Accuracy: 53.70%, Validation Loss: 0.9384, Validation Accuracy: 53.00%
Epoch 41/100, Training Loss: 0.9498, Training Accuracy: 53.81%, Validation Loss: 0.9318, Validation Accuracy: 54.80%
Epoch 42/100, Training Loss: 0.9472, Training Accuracy: 53.52%, Validation Loss: 0.9315, Validation Accuracy: 55.20%
Epoch 43/100, Training Loss: 0.9428, Training Accuracy: 53.50%, Validation Loss: 0.9299, Validation Accuracy: 54.40%
Epoch 44/100, Training Loss: 0.9420, Training Accuracy: 53.88%, Validation Loss: 0.9301, Validation Accuracy: 54.40%
Epoch 45/100, Training Loss: 0.9382, Training Accuracy: 53.55%, Validation Loss: 0.9265, Validation Accuracy: 54.40%
Epoch 46/100, Training Loss: 0.9348, Training Accuracy: 53.63%, Validation Loss: 0.9239, Validation Accuracy: 55.00%
Epoch 47/100, Training Loss: 0.9352, Training Accuracy: 53.57%, Validation Loss: 0.9211, Validation Accuracy: 55.00%
Epoch 48/100, Training Loss: 0.9337, Training Accuracy: 53.55%, Validation Loss: 0.9198, Validation Accuracy: 55.20%
Epoch 49/100, Training Loss: 0.9313, Training Accuracy: 53.86%, Validation Loss: 0.9165, Validation Accuracy: 55.20%
Epoch 50/100, Training Loss: 0.9293, Training Accuracy: 53.52%, Validation Loss: 0.9180, Validation Accuracy: 54.80%
Epoch 51/100, Training Loss: 0.9303, Training Accuracy: 53.81%, Validation Loss: 0.9166, Validation Accuracy: 54.40%
Epoch 52/100, Training Loss: 0.9272, Training Accuracy: 53.88%, Validation Loss: 0.9146, Validation Accuracy: 55.20%
Epoch 53/100, Training Loss: 0.9247, Training Accuracy: 53.97%, Validation Loss: 0.9119, Validation Accuracy: 54.60%
Epoch 54/100, Training Loss: 0.9254, Training Accuracy: 53.92%, Validation Loss: 0.9103, Validation Accuracy: 54.60%
Epoch 55/100, Training Loss: 0.9221, Training Accuracy: 54.06%, Validation Loss: 0.9126, Validation Accuracy: 54.80%
Epoch 56/100, Training Loss: 0.9275, Training Accuracy: 53.95%, Validation Loss: 0.9112, Validation Accuracy: 54.80%
Epoch 57/100, Training Loss: 0.9223, Training Accuracy: 53.90%, Validation Loss: 0.9074, Validation Accuracy: 54.40%
Epoch 58/100, Training Loss: 0.9201, Training Accuracy: 53.88%, Validation Loss: 0.9060, Validation Accuracy: 54.60%
Epoch 59/100, Training Loss: 0.9163, Training Accuracy: 54.23%, Validation Loss: 0.9100, Validation Accuracy: 52.60%
Epoch 60/100, Training Loss: 0.9219, Training Accuracy: 53.88%, Validation Loss: 0.9047, Validation Accuracy: 54.40%
Epoch 61/100, Training Loss: 0.9149, Training Accuracy: 53.90%, Validation Loss: 0.9055, Validation Accuracy: 53.80%
Epoch 62/100, Training Loss: 0.9188, Training Accuracy: 53.97%, Validation Loss: 0.9051, Validation Accuracy: 54.00%
Epoch 63/100, Training Loss: 0.9209, Training Accuracy: 54.46%, Validation Loss: 0.9000, Validation Accuracy: 55.20%
Epoch 64/100, Training Loss: 0.9095, Training Accuracy: 54.35%, Validation Loss: 0.8976, Validation Accuracy: 54.40%
Epoch 65/100, Training Loss: 0.9080, Training Accuracy: 54.32%, Validation Loss: 0.9005, Validation Accuracy: 53.40%
Epoch 66/100, Training Loss: 0.9115, Training Accuracy: 54.46%, Validation Loss: 0.8976, Validation Accuracy: 55.60%
Epoch 67/100, Training Loss: 0.9098, Training Accuracy: 54.43%, Validation Loss: 0.8924, Validation Accuracy: 54.60%
Epoch 68/100, Training Loss: 0.9140, Training Accuracy: 54.86%, Validation Loss: 0.8934, Validation Accuracy: 55.60%
Epoch 69/100, Training Loss: 0.9067, Training Accuracy: 54.23%, Validation Loss: 0.8935, Validation Accuracy: 55.00%
Epoch 70/100, Training Loss: 0.9076, Training Accuracy: 54.70%, Validation Loss: 0.8984, Validation Accuracy: 53.80%
Epoch 71/100, Training Loss: 0.9046, Training Accuracy: 54.48%, Validation Loss: 0.8923, Validation Accuracy: 55.20%
Epoch 72/100, Training Loss: 0.9091, Training Accuracy: 54.46%, Validation Loss: 0.8889, Validation Accuracy: 55.00%
Epoch 73/100, Training Loss: 0.9051, Training Accuracy: 54.43%, Validation Loss: 0.8872, Validation Accuracy: 55.20%
Epoch 74/100, Training Loss: 0.9060, Training Accuracy: 54.72%, Validation Loss: 0.8895, Validation Accuracy: 55.20%
Epoch 75/100, Training Loss: 0.9054, Training Accuracy: 54.90%, Validation Loss: 0.8832, Validation Accuracy: 55.00%
Epoch 76/100, Training Loss: 0.8992, Training Accuracy: 55.06%, Validation Loss: 0.8897, Validation Accuracy: 53.60%
Epoch 77/100, Training Loss: 0.8977, Training Accuracy: 54.39%, Validation Loss: 0.8874, Validation Accuracy: 54.80%
Epoch 78/100, Training Loss: 0.9003, Training Accuracy: 54.70%, Validation Loss: 0.8861, Validation Accuracy: 54.60%
Epoch 79/100, Training Loss: 0.8991, Training Accuracy: 54.83%, Validation Loss: 0.8819, Validation Accuracy: 54.40%
Epoch 80/100, Training Loss: 0.8934, Training Accuracy: 55.01%, Validation Loss: 0.8840, Validation Accuracy: 54.20%
Epoch 81/100, Training Loss: 0.8970, Training Accuracy: 55.01%, Validation Loss: 0.8889, Validation Accuracy: 54.20%
Epoch 82/100, Training Loss: 0.8955, Training Accuracy: 54.57%, Validation Loss: 0.8817, Validation Accuracy: 54.60%
Epoch 83/100, Training Loss: 0.8975, Training Accuracy: 54.97%, Validation Loss: 0.8795, Validation Accuracy: 55.40%
Epoch 84/100, Training Loss: 0.9003, Training Accuracy: 55.19%, Validation Loss: 0.8781, Validation Accuracy: 54.60%
Epoch 85/100, Training Loss: 0.8945, Training Accuracy: 54.83%, Validation Loss: 0.8779, Validation Accuracy: 55.00%
Epoch 86/100, Training Loss: 0.8894, Training Accuracy: 55.15%, Validation Loss: 0.8814, Validation Accuracy: 54.40%
Epoch 87/100, Training Loss: 0.8909, Training Accuracy: 54.83%, Validation Loss: 0.8774, Validation Accuracy: 55.20%
Epoch 88/100, Training Loss: 0.8868, Training Accuracy: 55.37%, Validation Loss: 0.8770, Validation Accuracy: 55.40%
Epoch 89/100, Training Loss: 0.8910, Training Accuracy: 54.97%, Validation Loss: 0.8800, Validation Accuracy: 54.80%
Epoch 90/100, Training Loss: 0.8886, Training Accuracy: 55.12%, Validation Loss: 0.8773, Validation Accuracy: 54.00%
Epoch 91/100, Training Loss: 0.8894, Training Accuracy: 54.61%, Validation Loss: 0.8754, Validation Accuracy: 55.00%
Epoch 92/100, Training Loss: 0.8933, Training Accuracy: 55.21%, Validation Loss: 0.8755, Validation Accuracy: 54.40%
Epoch 93/100, Training Loss: 0.8889, Training Accuracy: 54.92%, Validation Loss: 0.8760, Validation Accuracy: 54.20%
Epoch 94/100, Training Loss: 0.8895, Training Accuracy: 54.95%, Validation Loss: 0.8806, Validation Accuracy: 53.40%
Epoch 95/100, Training Loss: 0.8873, Training Accuracy: 55.17%, Validation Loss: 0.8761, Validation Accuracy: 53.40%
Epoch 96/100, Training Loss: 0.8821, Training Accuracy: 55.03%, Validation Loss: 0.8688, Validation Accuracy: 56.00%
Epoch 97/100, Training Loss: 0.8818, Training Accuracy: 55.26%, Validation Loss: 0.8745, Validation Accuracy: 54.20%
Epoch 98/100, Training Loss: 0.8904, Training Accuracy: 55.26%, Validation Loss: 0.8721, Validation Accuracy: 54.00%
Epoch 99/100, Training Loss: 0.8841, Training Accuracy: 54.95%, Validation Loss: 0.8682, Validation Accuracy: 55.40%
Epoch 100/100, Training Loss: 0.8837, Training Accuracy: 55.12%, Validation Loss: 0.8746, Validation Accuracy: 53.80%
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 5/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 6/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
Epoch 1/100, Training Loss: 1.2931, Training Accuracy: 37.74%, Validation Loss: 1.2026, Validation Accuracy: 50.20%
Epoch 2/100, Training Loss: 1.1814, Training Accuracy: 48.99%, Validation Loss: 1.1972, Validation Accuracy: 42.60%
Epoch 3/100, Training Loss: 1.1221, Training Accuracy: 49.48%, Validation Loss: 1.1849, Validation Accuracy: 47.40%
Epoch 4/100, Training Loss: 1.2006, Training Accuracy: 45.08%, Validation Loss: 1.1297, Validation Accuracy: 47.60%
Epoch 5/100, Training Loss: 1.1409, Training Accuracy: 49.37%, Validation Loss: 1.1113, Validation Accuracy: 49.60%
Epoch 6/100, Training Loss: 1.1175, Training Accuracy: 50.61%, Validation Loss: 1.1021, Validation Accuracy: 48.80%
Epoch 7/100, Training Loss: 1.1115, Training Accuracy: 51.23%, Validation Loss: 1.1084, Validation Accuracy: 48.80%
Epoch 8/100, Training Loss: 1.0832, Training Accuracy: 52.30%, Validation Loss: 1.0562, Validation Accuracy: 51.00%
Epoch 9/100, Training Loss: 1.0650, Training Accuracy: 51.99%, Validation Loss: 1.0643, Validation Accuracy: 50.60%
Epoch 10/100, Training Loss: 1.0569, Training Accuracy: 52.50%, Validation Loss: 1.1051, Validation Accuracy: 49.80%
Epoch 11/100, Training Loss: 1.0883, Training Accuracy: 51.61%, Validation Loss: 1.0779, Validation Accuracy: 51.40%
Epoch 12/100, Training Loss: 1.0832, Training Accuracy: 50.59%, Validation Loss: 1.0629, Validation Accuracy: 53.00%
Epoch 13/100, Training Loss: 1.0602, Training Accuracy: 52.39%, Validation Loss: 1.0395, Validation Accuracy: 51.40%
Epoch 14/100, Training Loss: 1.0556, Training Accuracy: 51.30%, Validation Loss: 1.0502, Validation Accuracy: 52.00%
Epoch 15/100, Training Loss: 1.0433, Training Accuracy: 52.72%, Validation Loss: 1.0461, Validation Accuracy: 52.80%
Epoch 16/100, Training Loss: 1.0297, Training Accuracy: 52.48%, Validation Loss: 0.9923, Validation Accuracy: 53.00%
Epoch 17/100, Training Loss: 1.0252, Training Accuracy: 53.10%, Validation Loss: 1.0125, Validation Accuracy: 53.60%
Epoch 18/100, Training Loss: 0.9988, Training Accuracy: 53.03%, Validation Loss: 0.9862, Validation Accuracy: 52.60%
Epoch 19/100, Training Loss: 1.0133, Training Accuracy: 52.68%, Validation Loss: 1.0597, Validation Accuracy: 48.40%
Epoch 20/100, Training Loss: 1.0142, Training Accuracy: 52.59%, Validation Loss: 0.9562, Validation Accuracy: 51.60%
Epoch 21/100, Training Loss: 0.9893, Training Accuracy: 53.17%, Validation Loss: 0.9755, Validation Accuracy: 52.00%
Epoch 22/100, Training Loss: 0.9874, Training Accuracy: 53.30%, Validation Loss: 1.0098, Validation Accuracy: 50.20%
Epoch 23/100, Training Loss: 0.9680, Training Accuracy: 54.01%, Validation Loss: 0.9432, Validation Accuracy: 53.00%
Epoch 24/100, Training Loss: 0.9562, Training Accuracy: 53.37%, Validation Loss: 0.9672, Validation Accuracy: 53.20%
Epoch 25/100, Training Loss: 0.9609, Training Accuracy: 52.99%, Validation Loss: 0.9250, Validation Accuracy: 53.60%
Epoch 26/100, Training Loss: 0.9412, Training Accuracy: 53.39%, Validation Loss: 0.9778, Validation Accuracy: 54.40%
Epoch 27/100, Training Loss: 0.9977, Training Accuracy: 53.01%, Validation Loss: 0.9228, Validation Accuracy: 54.20%
Epoch 28/100, Training Loss: 0.9586, Training Accuracy: 52.88%, Validation Loss: 0.9370, Validation Accuracy: 55.20%
Epoch 29/100, Training Loss: 0.9542, Training Accuracy: 52.77%, Validation Loss: 0.9905, Validation Accuracy: 51.40%
Epoch 30/100, Training Loss: 0.9583, Training Accuracy: 54.01%, Validation Loss: 0.9395, Validation Accuracy: 55.80%
Epoch 31/100, Training Loss: 0.9585, Training Accuracy: 52.41%, Validation Loss: 0.9209, Validation Accuracy: 56.40%
Epoch 32/100, Training Loss: 0.9380, Training Accuracy: 53.43%, Validation Loss: 0.9834, Validation Accuracy: 52.80%
Epoch 33/100, Training Loss: 0.9384, Training Accuracy: 54.19%, Validation Loss: 0.9135, Validation Accuracy: 54.20%
Epoch 34/100, Training Loss: 0.9209, Training Accuracy: 54.48%, Validation Loss: 0.8894, Validation Accuracy: 57.00%
Epoch 35/100, Training Loss: 0.9174, Training Accuracy: 54.77%, Validation Loss: 0.9358, Validation Accuracy: 53.40%
Epoch 36/100, Training Loss: 0.9321, Training Accuracy: 53.68%, Validation Loss: 0.9485, Validation Accuracy: 55.20%
Epoch 37/100, Training Loss: 0.9253, Training Accuracy: 53.35%, Validation Loss: 0.9269, Validation Accuracy: 54.80%
Epoch 38/100, Training Loss: 0.9186, Training Accuracy: 54.57%, Validation Loss: 0.9344, Validation Accuracy: 53.80%
Epoch 39/100, Training Loss: 0.9352, Training Accuracy: 53.70%, Validation Loss: 0.9324, Validation Accuracy: 55.40%
Epoch 40/100, Training Loss: 0.9056, Training Accuracy: 54.03%, Validation Loss: 0.9062, Validation Accuracy: 54.20%
Epoch 41/100, Training Loss: 0.9394, Training Accuracy: 54.03%, Validation Loss: 0.9433, Validation Accuracy: 52.60%
Epoch 42/100, Training Loss: 0.9684, Training Accuracy: 53.52%, Validation Loss: 0.9517, Validation Accuracy: 51.60%
Epoch 43/100, Training Loss: 0.9815, Training Accuracy: 53.06%, Validation Loss: 0.9647, Validation Accuracy: 54.80%
Epoch 44/100, Training Loss: 0.9471, Training Accuracy: 52.37%, Validation Loss: 0.8952, Validation Accuracy: 57.80%
Epoch 45/100, Training Loss: 0.9497, Training Accuracy: 53.50%, Validation Loss: 0.9739, Validation Accuracy: 53.80%
Epoch 46/100, Training Loss: 0.9216, Training Accuracy: 54.59%, Validation Loss: 0.9285, Validation Accuracy: 54.20%
Epoch 47/100, Training Loss: 0.9084, Training Accuracy: 54.66%, Validation Loss: 0.9192, Validation Accuracy: 53.00%
Epoch 48/100, Training Loss: 0.9167, Training Accuracy: 53.23%, Validation Loss: 0.9019, Validation Accuracy: 56.20%
Epoch 49/100, Training Loss: 0.9048, Training Accuracy: 54.10%, Validation Loss: 0.9679, Validation Accuracy: 52.00%
Epoch 50/100, Training Loss: 0.8948, Training Accuracy: 54.37%, Validation Loss: 0.9160, Validation Accuracy: 54.60%
Epoch 51/100, Training Loss: 0.8991, Training Accuracy: 54.46%, Validation Loss: 0.9103, Validation Accuracy: 56.20%
Epoch 52/100, Training Loss: 1.3040, Training Accuracy: 37.88%, Validation Loss: 1.3621, Validation Accuracy: 39.40%
Epoch 53/100, Training Loss: 1.3152, Training Accuracy: 40.45%, Validation Loss: 1.2855, Validation Accuracy: 38.00%
Epoch 54/100, Training Loss: 1.2729, Training Accuracy: 40.48%, Validation Loss: 1.3084, Validation Accuracy: 38.80%
Epoch 55/100, Training Loss: 1.2569, Training Accuracy: 43.48%, Validation Loss: 1.3015, Validation Accuracy: 37.60%
Epoch 56/100, Training Loss: 1.2550, Training Accuracy: 43.32%, Validation Loss: 1.2390, Validation Accuracy: 44.20%
Epoch 57/100, Training Loss: 1.2217, Training Accuracy: 45.05%, Validation Loss: 1.2404, Validation Accuracy: 45.20%
Epoch 58/100, Training Loss: 1.2117, Training Accuracy: 45.48%, Validation Loss: 1.2249, Validation Accuracy: 45.20%
Epoch 59/100, Training Loss: 1.2123, Training Accuracy: 46.03%, Validation Loss: 1.2664, Validation Accuracy: 46.00%
Epoch 60/100, Training Loss: 1.2020, Training Accuracy: 45.79%, Validation Loss: 1.1848, Validation Accuracy: 50.40%
Epoch 61/100, Training Loss: 1.1712, Training Accuracy: 48.86%, Validation Loss: 1.1632, Validation Accuracy: 49.40%
Epoch 62/100, Training Loss: 1.1750, Training Accuracy: 47.83%, Validation Loss: 1.2111, Validation Accuracy: 47.00%
Epoch 63/100, Training Loss: 1.1728, Training Accuracy: 48.41%, Validation Loss: 1.2117, Validation Accuracy: 49.00%
Epoch 64/100, Training Loss: 1.1831, Training Accuracy: 46.97%, Validation Loss: 1.1886, Validation Accuracy: 47.40%
Epoch 65/100, Training Loss: 1.1690, Training Accuracy: 47.17%, Validation Loss: 1.1450, Validation Accuracy: 48.20%
Epoch 66/100, Training Loss: 1.1392, Training Accuracy: 49.39%, Validation Loss: 1.1370, Validation Accuracy: 49.40%
Epoch 67/100, Training Loss: 1.1370, Training Accuracy: 48.99%, Validation Loss: 1.1223, Validation Accuracy: 49.80%
Epoch 68/100, Training Loss: 1.1495, Training Accuracy: 49.12%, Validation Loss: 1.1515, Validation Accuracy: 46.20%
Epoch 69/100, Training Loss: 1.1444, Training Accuracy: 47.83%, Validation Loss: 1.1267, Validation Accuracy: 52.60%
Epoch 70/100, Training Loss: 1.1313, Training Accuracy: 49.17%, Validation Loss: 1.1198, Validation Accuracy: 51.00%
Epoch 71/100, Training Loss: 1.1564, Training Accuracy: 48.39%, Validation Loss: 1.1363, Validation Accuracy: 50.00%
Epoch 72/100, Training Loss: 1.1332, Training Accuracy: 49.10%, Validation Loss: 1.1612, Validation Accuracy: 49.00%
Epoch 73/100, Training Loss: 1.1412, Training Accuracy: 49.50%, Validation Loss: 1.1623, Validation Accuracy: 45.20%
Epoch 74/100, Training Loss: 1.1397, Training Accuracy: 48.88%, Validation Loss: 1.1381, Validation Accuracy: 50.00%
Epoch 75/100, Training Loss: 1.1312, Training Accuracy: 48.43%, Validation Loss: 1.1281, Validation Accuracy: 47.80%
Epoch 76/100, Training Loss: 1.1266, Training Accuracy: 49.19%, Validation Loss: 1.1367, Validation Accuracy: 48.40%
Epoch 77/100, Training Loss: 1.1320, Training Accuracy: 49.66%, Validation Loss: 1.1099, Validation Accuracy: 49.20%
Epoch 78/100, Training Loss: 1.1226, Training Accuracy: 50.06%, Validation Loss: 1.1173, Validation Accuracy: 49.40%
Epoch 79/100, Training Loss: 1.1364, Training Accuracy: 48.72%, Validation Loss: 1.1343, Validation Accuracy: 50.00%
Epoch 80/100, Training Loss: 1.1310, Training Accuracy: 49.99%, Validation Loss: 1.1138, Validation Accuracy: 51.00%
Epoch 81/100, Training Loss: 1.1286, Training Accuracy: 49.72%, Validation Loss: 1.1131, Validation Accuracy: 52.20%
Epoch 82/100, Training Loss: 1.1445, Training Accuracy: 48.01%, Validation Loss: 1.1424, Validation Accuracy: 50.60%
Epoch 83/100, Training Loss: 1.1285, Training Accuracy: 49.57%, Validation Loss: 1.1325, Validation Accuracy: 50.40%
Epoch 84/100, Training Loss: 1.1304, Training Accuracy: 49.43%, Validation Loss: 1.1279, Validation Accuracy: 51.80%
Epoch 85/100, Training Loss: 1.1387, Training Accuracy: 47.70%, Validation Loss: 1.1241, Validation Accuracy: 51.00%
Epoch 86/100, Training Loss: 1.1556, Training Accuracy: 48.94%, Validation Loss: 1.1047, Validation Accuracy: 51.40%
Epoch 87/100, Training Loss: 1.1288, Training Accuracy: 49.26%, Validation Loss: 1.1048, Validation Accuracy: 50.60%
Epoch 88/100, Training Loss: 1.1308, Training Accuracy: 49.12%, Validation Loss: 1.1237, Validation Accuracy: 46.20%
Epoch 89/100, Training Loss: 1.1254, Training Accuracy: 50.79%, Validation Loss: 1.0995, Validation Accuracy: 51.80%
Epoch 90/100, Training Loss: 1.1216, Training Accuracy: 50.61%, Validation Loss: 1.0981, Validation Accuracy: 53.00%
Epoch 91/100, Training Loss: 1.1129, Training Accuracy: 49.43%, Validation Loss: 1.1197, Validation Accuracy: 50.20%
Epoch 92/100, Training Loss: 1.1168, Training Accuracy: 50.03%, Validation Loss: 1.1109, Validation Accuracy: 51.20%
Epoch 93/100, Training Loss: 1.1164, Training Accuracy: 49.97%, Validation Loss: 1.1021, Validation Accuracy: 49.40%
Epoch 94/100, Training Loss: 1.1211, Training Accuracy: 49.77%, Validation Loss: 1.1004, Validation Accuracy: 52.20%
Epoch 95/100, Training Loss: 1.1142, Training Accuracy: 50.12%, Validation Loss: 1.0981, Validation Accuracy: 52.40%
Epoch 96/100, Training Loss: 1.1130, Training Accuracy: 49.43%, Validation Loss: 1.1122, Validation Accuracy: 49.00%
Epoch 97/100, Training Loss: 1.1287, Training Accuracy: 49.14%, Validation Loss: 1.0926, Validation Accuracy: 51.60%
Epoch 98/100, Training Loss: 1.1125, Training Accuracy: 49.52%, Validation Loss: 1.0997, Validation Accuracy: 50.80%
Epoch 99/100, Training Loss: 1.1023, Training Accuracy: 50.30%, Validation Loss: 1.0905, Validation Accuracy: 52.80%
Epoch 100/100, Training Loss: 1.1122, Training Accuracy: 50.12%, Validation Loss: 1.1131, Validation Accuracy: 51.20%
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 7/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 8/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
Epoch 1/100, Training Loss: 1.3913, Training Accuracy: 25.03%, Validation Loss: 1.3990, Validation Accuracy: 20.40%
Epoch 2/100, Training Loss: 1.3908, Training Accuracy: 25.03%, Validation Loss: 1.3958, Validation Accuracy: 20.40%
Epoch 3/100, Training Loss: 1.3881, Training Accuracy: 25.03%, Validation Loss: 1.3936, Validation Accuracy: 20.40%
Epoch 4/100, Training Loss: 1.3866, Training Accuracy: 25.03%, Validation Loss: 1.3917, Validation Accuracy: 20.40%
Epoch 5/100, Training Loss: 1.3858, Training Accuracy: 25.03%, Validation Loss: 1.3898, Validation Accuracy: 20.40%
Epoch 6/100, Training Loss: 1.3845, Training Accuracy: 25.03%, Validation Loss: 1.3879, Validation Accuracy: 20.40%
Epoch 7/100, Training Loss: 1.3835, Training Accuracy: 25.03%, Validation Loss: 1.3861, Validation Accuracy: 20.40%
Epoch 8/100, Training Loss: 1.3822, Training Accuracy: 25.03%, Validation Loss: 1.3844, Validation Accuracy: 20.40%
Epoch 9/100, Training Loss: 1.3799, Training Accuracy: 25.03%, Validation Loss: 1.3830, Validation Accuracy: 20.40%
Epoch 10/100, Training Loss: 1.3790, Training Accuracy: 25.03%, Validation Loss: 1.3813, Validation Accuracy: 20.40%
Epoch 11/100, Training Loss: 1.3773, Training Accuracy: 25.49%, Validation Loss: 1.3792, Validation Accuracy: 24.80%
Epoch 12/100, Training Loss: 1.3756, Training Accuracy: 35.67%, Validation Loss: 1.3774, Validation Accuracy: 40.00%
Epoch 13/100, Training Loss: 1.3736, Training Accuracy: 43.65%, Validation Loss: 1.3755, Validation Accuracy: 44.20%
Epoch 14/100, Training Loss: 1.3716, Training Accuracy: 45.81%, Validation Loss: 1.3730, Validation Accuracy: 47.40%
Epoch 15/100, Training Loss: 1.3693, Training Accuracy: 47.32%, Validation Loss: 1.3702, Validation Accuracy: 49.80%
Epoch 16/100, Training Loss: 1.3669, Training Accuracy: 48.99%, Validation Loss: 1.3673, Validation Accuracy: 50.20%
Epoch 17/100, Training Loss: 1.3634, Training Accuracy: 49.39%, Validation Loss: 1.3640, Validation Accuracy: 49.80%
Epoch 18/100, Training Loss: 1.3603, Training Accuracy: 50.12%, Validation Loss: 1.3605, Validation Accuracy: 50.20%
Epoch 19/100, Training Loss: 1.3569, Training Accuracy: 50.26%, Validation Loss: 1.3567, Validation Accuracy: 50.60%
Epoch 20/100, Training Loss: 1.3525, Training Accuracy: 50.74%, Validation Loss: 1.3524, Validation Accuracy: 51.00%
Epoch 21/100, Training Loss: 1.3491, Training Accuracy: 50.90%, Validation Loss: 1.3473, Validation Accuracy: 51.20%
Epoch 22/100, Training Loss: 1.3428, Training Accuracy: 51.03%, Validation Loss: 1.3415, Validation Accuracy: 51.60%
Epoch 23/100, Training Loss: 1.3378, Training Accuracy: 51.21%, Validation Loss: 1.3347, Validation Accuracy: 52.60%
Epoch 24/100, Training Loss: 1.3311, Training Accuracy: 51.37%, Validation Loss: 1.3275, Validation Accuracy: 52.80%
Epoch 25/100, Training Loss: 1.3242, Training Accuracy: 51.39%, Validation Loss: 1.3196, Validation Accuracy: 52.80%
Epoch 26/100, Training Loss: 1.3155, Training Accuracy: 51.57%, Validation Loss: 1.3105, Validation Accuracy: 52.60%
Epoch 27/100, Training Loss: 1.3052, Training Accuracy: 51.70%, Validation Loss: 1.3003, Validation Accuracy: 53.00%
Epoch 28/100, Training Loss: 1.2979, Training Accuracy: 51.68%, Validation Loss: 1.2893, Validation Accuracy: 53.00%
Epoch 29/100, Training Loss: 1.2866, Training Accuracy: 51.79%, Validation Loss: 1.2776, Validation Accuracy: 53.40%
Epoch 30/100, Training Loss: 1.2736, Training Accuracy: 51.86%, Validation Loss: 1.2648, Validation Accuracy: 53.60%
Epoch 31/100, Training Loss: 1.2618, Training Accuracy: 51.92%, Validation Loss: 1.2516, Validation Accuracy: 53.80%
Epoch 32/100, Training Loss: 1.2466, Training Accuracy: 51.92%, Validation Loss: 1.2377, Validation Accuracy: 53.80%
Epoch 33/100, Training Loss: 1.2341, Training Accuracy: 51.97%, Validation Loss: 1.2237, Validation Accuracy: 53.80%
Epoch 34/100, Training Loss: 1.2262, Training Accuracy: 52.12%, Validation Loss: 1.2120, Validation Accuracy: 54.00%
Epoch 35/100, Training Loss: 1.2165, Training Accuracy: 52.21%, Validation Loss: 1.2008, Validation Accuracy: 54.00%
Epoch 36/100, Training Loss: 1.2013, Training Accuracy: 52.17%, Validation Loss: 1.1907, Validation Accuracy: 54.40%
Epoch 37/100, Training Loss: 1.1961, Training Accuracy: 52.06%, Validation Loss: 1.1827, Validation Accuracy: 54.00%
Epoch 38/100, Training Loss: 1.1911, Training Accuracy: 52.06%, Validation Loss: 1.1759, Validation Accuracy: 53.80%
Epoch 39/100, Training Loss: 1.1808, Training Accuracy: 51.97%, Validation Loss: 1.1703, Validation Accuracy: 53.00%
Epoch 40/100, Training Loss: 1.1816, Training Accuracy: 51.72%, Validation Loss: 1.1659, Validation Accuracy: 52.40%
Epoch 41/100, Training Loss: 1.1728, Training Accuracy: 51.43%, Validation Loss: 1.1611, Validation Accuracy: 52.40%
Epoch 42/100, Training Loss: 1.1678, Training Accuracy: 51.30%, Validation Loss: 1.1578, Validation Accuracy: 52.60%
Epoch 43/100, Training Loss: 1.1673, Training Accuracy: 51.23%, Validation Loss: 1.1542, Validation Accuracy: 52.80%
Epoch 44/100, Training Loss: 1.1637, Training Accuracy: 51.30%, Validation Loss: 1.1514, Validation Accuracy: 52.80%
Epoch 45/100, Training Loss: 1.1540, Training Accuracy: 51.34%, Validation Loss: 1.1483, Validation Accuracy: 52.40%
Epoch 46/100, Training Loss: 1.1596, Training Accuracy: 51.39%, Validation Loss: 1.1463, Validation Accuracy: 52.60%
Epoch 47/100, Training Loss: 1.1568, Training Accuracy: 51.28%, Validation Loss: 1.1448, Validation Accuracy: 52.20%
Epoch 48/100, Training Loss: 1.1527, Training Accuracy: 51.17%, Validation Loss: 1.1419, Validation Accuracy: 53.20%
Epoch 49/100, Training Loss: 1.1474, Training Accuracy: 51.14%, Validation Loss: 1.1403, Validation Accuracy: 53.00%
Epoch 50/100, Training Loss: 1.1522, Training Accuracy: 50.92%, Validation Loss: 1.1395, Validation Accuracy: 52.80%
Epoch 51/100, Training Loss: 1.1485, Training Accuracy: 51.01%, Validation Loss: 1.1374, Validation Accuracy: 52.60%
Epoch 52/100, Training Loss: 1.1451, Training Accuracy: 50.99%, Validation Loss: 1.1359, Validation Accuracy: 52.40%
Epoch 53/100, Training Loss: 1.1453, Training Accuracy: 50.83%, Validation Loss: 1.1341, Validation Accuracy: 52.60%
Epoch 54/100, Training Loss: 1.1418, Training Accuracy: 51.01%, Validation Loss: 1.1328, Validation Accuracy: 52.60%
Epoch 55/100, Training Loss: 1.1367, Training Accuracy: 50.81%, Validation Loss: 1.1311, Validation Accuracy: 52.60%
Epoch 56/100, Training Loss: 1.1387, Training Accuracy: 51.08%, Validation Loss: 1.1295, Validation Accuracy: 53.40%
Epoch 57/100, Training Loss: 1.1386, Training Accuracy: 51.34%, Validation Loss: 1.1278, Validation Accuracy: 53.20%
Epoch 58/100, Training Loss: 1.1324, Training Accuracy: 51.26%, Validation Loss: 1.1255, Validation Accuracy: 54.00%
Epoch 59/100, Training Loss: 1.1358, Training Accuracy: 51.41%, Validation Loss: 1.1252, Validation Accuracy: 53.40%
Epoch 60/100, Training Loss: 1.1306, Training Accuracy: 51.50%, Validation Loss: 1.1233, Validation Accuracy: 54.20%
Epoch 61/100, Training Loss: 1.1316, Training Accuracy: 51.43%, Validation Loss: 1.1209, Validation Accuracy: 54.40%
Epoch 62/100, Training Loss: 1.1269, Training Accuracy: 51.63%, Validation Loss: 1.1192, Validation Accuracy: 54.40%
Epoch 63/100, Training Loss: 1.1240, Training Accuracy: 51.70%, Validation Loss: 1.1182, Validation Accuracy: 54.40%
Epoch 64/100, Training Loss: 1.1251, Training Accuracy: 51.57%, Validation Loss: 1.1166, Validation Accuracy: 54.60%
Epoch 65/100, Training Loss: 1.1208, Training Accuracy: 51.63%, Validation Loss: 1.1134, Validation Accuracy: 54.40%
Epoch 66/100, Training Loss: 1.1206, Training Accuracy: 51.83%, Validation Loss: 1.1112, Validation Accuracy: 54.40%
Epoch 67/100, Training Loss: 1.1169, Training Accuracy: 51.83%, Validation Loss: 1.1090, Validation Accuracy: 54.60%
Epoch 68/100, Training Loss: 1.1153, Training Accuracy: 51.86%, Validation Loss: 1.1050, Validation Accuracy: 54.20%
Epoch 69/100, Training Loss: 1.1101, Training Accuracy: 51.86%, Validation Loss: 1.1014, Validation Accuracy: 53.60%
Epoch 70/100, Training Loss: 1.1099, Training Accuracy: 51.90%, Validation Loss: 1.0978, Validation Accuracy: 54.00%
Epoch 71/100, Training Loss: 1.1016, Training Accuracy: 51.86%, Validation Loss: 1.0940, Validation Accuracy: 54.00%
Epoch 72/100, Training Loss: 1.0982, Training Accuracy: 51.88%, Validation Loss: 1.0907, Validation Accuracy: 54.20%
Epoch 73/100, Training Loss: 1.0967, Training Accuracy: 51.66%, Validation Loss: 1.0858, Validation Accuracy: 54.40%
Epoch 74/100, Training Loss: 1.0911, Training Accuracy: 51.81%, Validation Loss: 1.0807, Validation Accuracy: 54.60%
Epoch 75/100, Training Loss: 1.0845, Training Accuracy: 51.99%, Validation Loss: 1.0738, Validation Accuracy: 54.80%
Epoch 76/100, Training Loss: 1.0782, Training Accuracy: 51.86%, Validation Loss: 1.0671, Validation Accuracy: 54.20%
Epoch 77/100, Training Loss: 1.0688, Training Accuracy: 52.19%, Validation Loss: 1.0609, Validation Accuracy: 53.20%
Epoch 78/100, Training Loss: 1.0641, Training Accuracy: 52.23%, Validation Loss: 1.0538, Validation Accuracy: 52.80%
Epoch 79/100, Training Loss: 1.0532, Training Accuracy: 52.37%, Validation Loss: 1.0476, Validation Accuracy: 51.60%
Epoch 80/100, Training Loss: 1.0516, Training Accuracy: 52.46%, Validation Loss: 1.0386, Validation Accuracy: 51.80%
Epoch 81/100, Training Loss: 1.0384, Training Accuracy: 52.50%, Validation Loss: 1.0308, Validation Accuracy: 52.20%
Epoch 82/100, Training Loss: 1.0351, Training Accuracy: 52.66%, Validation Loss: 1.0241, Validation Accuracy: 51.40%
Epoch 83/100, Training Loss: 1.0281, Training Accuracy: 52.50%, Validation Loss: 1.0140, Validation Accuracy: 53.00%
Epoch 84/100, Training Loss: 1.0239, Training Accuracy: 52.81%, Validation Loss: 1.0076, Validation Accuracy: 52.40%
Epoch 85/100, Training Loss: 1.0177, Training Accuracy: 52.83%, Validation Loss: 1.0026, Validation Accuracy: 52.20%
Epoch 86/100, Training Loss: 1.0049, Training Accuracy: 52.70%, Validation Loss: 0.9962, Validation Accuracy: 52.20%
Epoch 87/100, Training Loss: 1.0001, Training Accuracy: 52.83%, Validation Loss: 0.9904, Validation Accuracy: 52.00%
Epoch 88/100, Training Loss: 0.9981, Training Accuracy: 52.86%, Validation Loss: 0.9858, Validation Accuracy: 52.00%
Epoch 89/100, Training Loss: 0.9921, Training Accuracy: 52.83%, Validation Loss: 0.9791, Validation Accuracy: 52.80%
Epoch 90/100, Training Loss: 0.9848, Training Accuracy: 53.10%, Validation Loss: 0.9737, Validation Accuracy: 52.80%
Epoch 91/100, Training Loss: 0.9837, Training Accuracy: 52.99%, Validation Loss: 0.9725, Validation Accuracy: 53.00%
Epoch 92/100, Training Loss: 0.9768, Training Accuracy: 52.90%, Validation Loss: 0.9710, Validation Accuracy: 53.80%
Epoch 93/100, Training Loss: 0.9770, Training Accuracy: 52.81%, Validation Loss: 0.9630, Validation Accuracy: 53.20%
Epoch 94/100, Training Loss: 0.9740, Training Accuracy: 53.08%, Validation Loss: 0.9604, Validation Accuracy: 53.40%
Epoch 95/100, Training Loss: 0.9722, Training Accuracy: 53.30%, Validation Loss: 0.9590, Validation Accuracy: 53.80%
Epoch 96/100, Training Loss: 0.9684, Training Accuracy: 53.01%, Validation Loss: 0.9552, Validation Accuracy: 53.40%
Epoch 97/100, Training Loss: 0.9689, Training Accuracy: 53.17%, Validation Loss: 0.9537, Validation Accuracy: 54.20%
Epoch 98/100, Training Loss: 0.9622, Training Accuracy: 53.26%, Validation Loss: 0.9487, Validation Accuracy: 53.40%
Epoch 99/100, Training Loss: 0.9649, Training Accuracy: 53.19%, Validation Loss: 0.9513, Validation Accuracy: 54.00%
Epoch 100/100, Training Loss: 0.9584, Training Accuracy: 53.01%, Validation Loss: 0.9475, Validation Accuracy: 54.20%
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 9/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 10/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
Epoch 1/100, Training Loss: 1.3031, Training Accuracy: 39.59%, Validation Loss: 1.2289, Validation Accuracy: 49.20%
Epoch 2/100, Training Loss: 1.1905, Training Accuracy: 50.08%, Validation Loss: 1.1630, Validation Accuracy: 52.40%
Epoch 3/100, Training Loss: 1.1510, Training Accuracy: 49.39%, Validation Loss: 1.1197, Validation Accuracy: 51.00%
Epoch 4/100, Training Loss: 1.1077, Training Accuracy: 50.48%, Validation Loss: 1.0636, Validation Accuracy: 47.80%
Epoch 5/100, Training Loss: 1.1131, Training Accuracy: 50.39%, Validation Loss: 1.0926, Validation Accuracy: 51.60%
Epoch 6/100, Training Loss: 1.1113, Training Accuracy: 50.17%, Validation Loss: 1.0890, Validation Accuracy: 54.60%
Epoch 7/100, Training Loss: 1.0778, Training Accuracy: 50.77%, Validation Loss: 1.0695, Validation Accuracy: 48.60%
Epoch 8/100, Training Loss: 1.0715, Training Accuracy: 50.50%, Validation Loss: 1.0387, Validation Accuracy: 52.60%
Epoch 9/100, Training Loss: 1.0477, Training Accuracy: 51.97%, Validation Loss: 1.0774, Validation Accuracy: 51.00%
Epoch 10/100, Training Loss: 1.0630, Training Accuracy: 50.90%, Validation Loss: 1.0403, Validation Accuracy: 51.20%
Epoch 11/100, Training Loss: 1.0522, Training Accuracy: 52.26%, Validation Loss: 1.0151, Validation Accuracy: 53.80%
Epoch 12/100, Training Loss: 1.0456, Training Accuracy: 51.86%, Validation Loss: 1.0144, Validation Accuracy: 53.40%
Epoch 13/100, Training Loss: 1.0154, Training Accuracy: 52.34%, Validation Loss: 1.0208, Validation Accuracy: 53.00%
Epoch 14/100, Training Loss: 1.0152, Training Accuracy: 52.10%, Validation Loss: 1.0389, Validation Accuracy: 53.20%
Epoch 15/100, Training Loss: 1.0425, Training Accuracy: 51.54%, Validation Loss: 1.0365, Validation Accuracy: 53.60%
Epoch 16/100, Training Loss: 1.0039, Training Accuracy: 52.14%, Validation Loss: 1.0403, Validation Accuracy: 49.40%
Epoch 17/100, Training Loss: 0.9764, Training Accuracy: 52.55%, Validation Loss: 1.0060, Validation Accuracy: 51.00%
Epoch 18/100, Training Loss: 0.9776, Training Accuracy: 53.55%, Validation Loss: 0.9809, Validation Accuracy: 52.80%
Epoch 19/100, Training Loss: 0.9676, Training Accuracy: 52.99%, Validation Loss: 1.0158, Validation Accuracy: 51.80%
Epoch 20/100, Training Loss: 0.9655, Training Accuracy: 51.70%, Validation Loss: 0.9895, Validation Accuracy: 50.20%
Epoch 21/100, Training Loss: 0.9622, Training Accuracy: 53.23%, Validation Loss: 1.0167, Validation Accuracy: 50.40%
Epoch 22/100, Training Loss: 0.9687, Training Accuracy: 52.92%, Validation Loss: 0.9766, Validation Accuracy: 54.80%
Epoch 23/100, Training Loss: 0.9312, Training Accuracy: 53.10%, Validation Loss: 0.9663, Validation Accuracy: 56.60%
Epoch 24/100, Training Loss: 0.9454, Training Accuracy: 52.63%, Validation Loss: 0.9566, Validation Accuracy: 55.00%
Epoch 25/100, Training Loss: 0.9252, Training Accuracy: 52.88%, Validation Loss: 1.0216, Validation Accuracy: 49.20%
Epoch 26/100, Training Loss: 0.9341, Training Accuracy: 51.79%, Validation Loss: 0.9293, Validation Accuracy: 54.00%
Epoch 27/100, Training Loss: 0.9317, Training Accuracy: 53.95%, Validation Loss: 0.9647, Validation Accuracy: 51.80%
Epoch 28/100, Training Loss: 0.9198, Training Accuracy: 53.12%, Validation Loss: 0.9482, Validation Accuracy: 51.80%
Epoch 29/100, Training Loss: 0.8967, Training Accuracy: 53.63%, Validation Loss: 0.9737, Validation Accuracy: 52.20%
Epoch 30/100, Training Loss: 0.9123, Training Accuracy: 53.23%, Validation Loss: 0.9675, Validation Accuracy: 53.00%
Epoch 31/100, Training Loss: 0.9109, Training Accuracy: 52.72%, Validation Loss: 0.9455, Validation Accuracy: 54.00%
Epoch 32/100, Training Loss: 0.8912, Training Accuracy: 53.99%, Validation Loss: 0.9473, Validation Accuracy: 52.80%
Epoch 33/100, Training Loss: 0.8786, Training Accuracy: 54.37%, Validation Loss: 0.9380, Validation Accuracy: 52.80%
Epoch 34/100, Training Loss: 0.8830, Training Accuracy: 53.43%, Validation Loss: 0.9175, Validation Accuracy: 53.00%
Epoch 35/100, Training Loss: 0.8867, Training Accuracy: 53.17%, Validation Loss: 0.9317, Validation Accuracy: 53.80%
Epoch 36/100, Training Loss: 0.8639, Training Accuracy: 54.77%, Validation Loss: 0.9496, Validation Accuracy: 53.60%
Epoch 37/100, Training Loss: 0.8705, Training Accuracy: 54.81%, Validation Loss: 0.9483, Validation Accuracy: 51.20%
Epoch 38/100, Training Loss: 0.8857, Training Accuracy: 54.26%, Validation Loss: 0.9170, Validation Accuracy: 52.80%
Epoch 39/100, Training Loss: 0.8647, Training Accuracy: 55.19%, Validation Loss: 0.9175, Validation Accuracy: 51.80%
Epoch 40/100, Training Loss: 0.8759, Training Accuracy: 53.81%, Validation Loss: 0.9568, Validation Accuracy: 53.20%
Epoch 41/100, Training Loss: 0.8834, Training Accuracy: 53.77%, Validation Loss: 0.9099, Validation Accuracy: 52.20%
Epoch 42/100, Training Loss: 0.8546, Training Accuracy: 54.21%, Validation Loss: 0.9425, Validation Accuracy: 51.80%
Epoch 43/100, Training Loss: 0.8516, Training Accuracy: 55.21%, Validation Loss: 0.9166, Validation Accuracy: 52.80%
Epoch 44/100, Training Loss: 0.8347, Training Accuracy: 54.17%, Validation Loss: 0.9094, Validation Accuracy: 53.60%
Epoch 45/100, Training Loss: 0.8382, Training Accuracy: 54.63%, Validation Loss: 0.9265, Validation Accuracy: 51.00%
Epoch 46/100, Training Loss: 0.8459, Training Accuracy: 54.08%, Validation Loss: 0.9340, Validation Accuracy: 50.60%
Epoch 47/100, Training Loss: 0.8282, Training Accuracy: 55.01%, Validation Loss: 0.9249, Validation Accuracy: 51.00%
Epoch 48/100, Training Loss: 0.8300, Training Accuracy: 54.86%, Validation Loss: 0.9302, Validation Accuracy: 51.00%
Epoch 49/100, Training Loss: 0.8232, Training Accuracy: 54.57%, Validation Loss: 0.9229, Validation Accuracy: 50.40%
Epoch 50/100, Training Loss: 0.8348, Training Accuracy: 55.26%, Validation Loss: 0.9839, Validation Accuracy: 52.40%
Epoch 51/100, Training Loss: 0.8169, Training Accuracy: 54.59%, Validation Loss: 0.9262, Validation Accuracy: 53.00%
Epoch 52/100, Training Loss: 0.8209, Training Accuracy: 54.70%, Validation Loss: 0.9284, Validation Accuracy: 52.80%
Epoch 53/100, Training Loss: 0.8318, Training Accuracy: 54.86%, Validation Loss: 0.9670, Validation Accuracy: 53.40%
Epoch 54/100, Training Loss: 0.8822, Training Accuracy: 52.28%, Validation Loss: 0.9169, Validation Accuracy: 52.80%
Epoch 55/100, Training Loss: 0.8279, Training Accuracy: 55.03%, Validation Loss: 0.9080, Validation Accuracy: 52.40%
Epoch 56/100, Training Loss: 0.8095, Training Accuracy: 55.28%, Validation Loss: 0.9255, Validation Accuracy: 51.20%
Epoch 57/100, Training Loss: 0.8277, Training Accuracy: 55.68%, Validation Loss: 0.9367, Validation Accuracy: 52.00%
Epoch 58/100, Training Loss: 0.8129, Training Accuracy: 54.77%, Validation Loss: 0.9359, Validation Accuracy: 51.00%
Epoch 59/100, Training Loss: 0.8045, Training Accuracy: 54.77%, Validation Loss: 0.9684, Validation Accuracy: 50.40%
Epoch 60/100, Training Loss: 0.7947, Training Accuracy: 55.32%, Validation Loss: 0.9650, Validation Accuracy: 51.60%
Epoch 61/100, Training Loss: 0.7894, Training Accuracy: 55.35%, Validation Loss: 0.9470, Validation Accuracy: 49.00%
Epoch 62/100, Training Loss: 0.7850, Training Accuracy: 55.41%, Validation Loss: 0.9354, Validation Accuracy: 51.00%
Epoch 63/100, Training Loss: 0.7824, Training Accuracy: 55.30%, Validation Loss: 0.9747, Validation Accuracy: 52.40%
Epoch 64/100, Training Loss: 0.7761, Training Accuracy: 55.46%, Validation Loss: 0.9793, Validation Accuracy: 50.40%
Epoch 65/100, Training Loss: 0.7797, Training Accuracy: 55.35%, Validation Loss: 0.9388, Validation Accuracy: 52.20%
Epoch 66/100, Training Loss: 0.7931, Training Accuracy: 54.37%, Validation Loss: 0.9756, Validation Accuracy: 53.80%
Epoch 67/100, Training Loss: 0.7953, Training Accuracy: 54.01%, Validation Loss: 0.9611, Validation Accuracy: 49.80%
Epoch 68/100, Training Loss: 0.7732, Training Accuracy: 55.59%, Validation Loss: 0.9821, Validation Accuracy: 47.40%
Epoch 69/100, Training Loss: 0.7701, Training Accuracy: 55.46%, Validation Loss: 1.0115, Validation Accuracy: 50.60%
Epoch 70/100, Training Loss: 0.7597, Training Accuracy: 55.79%, Validation Loss: 0.9848, Validation Accuracy: 49.40%
Epoch 71/100, Training Loss: 0.7757, Training Accuracy: 55.32%, Validation Loss: 1.0024, Validation Accuracy: 49.40%
Epoch 72/100, Training Loss: 0.7707, Training Accuracy: 56.23%, Validation Loss: 0.9740, Validation Accuracy: 48.60%
Epoch 73/100, Training Loss: 0.7838, Training Accuracy: 55.57%, Validation Loss: 1.0615, Validation Accuracy: 46.80%
Epoch 74/100, Training Loss: 0.7781, Training Accuracy: 55.72%, Validation Loss: 1.0316, Validation Accuracy: 51.00%
Epoch 75/100, Training Loss: 0.7555, Training Accuracy: 56.23%, Validation Loss: 1.0172, Validation Accuracy: 48.40%
Epoch 76/100, Training Loss: 0.7569, Training Accuracy: 55.86%, Validation Loss: 1.0639, Validation Accuracy: 48.80%
Epoch 77/100, Training Loss: 0.7662, Training Accuracy: 55.77%, Validation Loss: 0.9889, Validation Accuracy: 49.40%
Epoch 78/100, Training Loss: 0.7457, Training Accuracy: 55.83%, Validation Loss: 1.0631, Validation Accuracy: 49.40%
Epoch 79/100, Training Loss: 0.7563, Training Accuracy: 56.01%, Validation Loss: 1.0076, Validation Accuracy: 48.00%
Epoch 80/100, Training Loss: 0.7461, Training Accuracy: 56.88%, Validation Loss: 1.0164, Validation Accuracy: 48.60%
Epoch 81/100, Training Loss: 0.7577, Training Accuracy: 56.12%, Validation Loss: 1.0709, Validation Accuracy: 50.80%
Epoch 82/100, Training Loss: 0.7607, Training Accuracy: 55.39%, Validation Loss: 1.0860, Validation Accuracy: 48.20%
Epoch 83/100, Training Loss: 0.7614, Training Accuracy: 55.52%, Validation Loss: 1.0853, Validation Accuracy: 49.40%
Epoch 84/100, Training Loss: 0.7499, Training Accuracy: 56.59%, Validation Loss: 1.0553, Validation Accuracy: 52.00%
Epoch 85/100, Training Loss: 0.7480, Training Accuracy: 55.48%, Validation Loss: 1.0333, Validation Accuracy: 48.60%
Epoch 86/100, Training Loss: 0.7271, Training Accuracy: 56.43%, Validation Loss: 1.0585, Validation Accuracy: 48.20%
Epoch 87/100, Training Loss: 0.7252, Training Accuracy: 55.77%, Validation Loss: 1.0747, Validation Accuracy: 47.60%
Epoch 88/100, Training Loss: 0.7376, Training Accuracy: 55.92%, Validation Loss: 1.0971, Validation Accuracy: 53.00%
Epoch 89/100, Training Loss: 0.7460, Training Accuracy: 56.30%, Validation Loss: 1.1481, Validation Accuracy: 47.40%
Epoch 90/100, Training Loss: 0.7566, Training Accuracy: 55.66%, Validation Loss: 1.0788, Validation Accuracy: 49.80%
Epoch 91/100, Training Loss: 0.7490, Training Accuracy: 55.68%, Validation Loss: 1.0414, Validation Accuracy: 48.00%
Epoch 92/100, Training Loss: 0.7320, Training Accuracy: 56.15%, Validation Loss: 1.1465, Validation Accuracy: 48.80%
Epoch 93/100, Training Loss: 0.7206, Training Accuracy: 57.30%, Validation Loss: 1.1022, Validation Accuracy: 46.20%
Epoch 94/100, Training Loss: 0.7363, Training Accuracy: 55.30%, Validation Loss: 1.0950, Validation Accuracy: 49.60%
Epoch 95/100, Training Loss: 0.7494, Training Accuracy: 55.52%, Validation Loss: 1.0881, Validation Accuracy: 47.80%
Epoch 96/100, Training Loss: 0.7257, Training Accuracy: 55.77%, Validation Loss: 1.0787, Validation Accuracy: 46.80%
Epoch 97/100, Training Loss: 0.7303, Training Accuracy: 56.48%, Validation Loss: 1.0944, Validation Accuracy: 46.80%
Epoch 98/100, Training Loss: 0.7397, Training Accuracy: 56.52%, Validation Loss: 1.1392, Validation Accuracy: 46.60%
Epoch 99/100, Training Loss: 0.7290, Training Accuracy: 55.90%, Validation Loss: 1.1009, Validation Accuracy: 50.20%
Epoch 100/100, Training Loss: 0.7208, Training Accuracy: 56.50%, Validation Loss: 1.0607, Validation Accuracy: 49.00%
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 11/12
4/2/24, 8:17 PM medical_text_classifier_GabrieldeOlaguibel
Interpretation
The LSTM model achieved the highest validation accuracy among the four models, indicating that it was the most effective at capturing the patterns within the dataset for this particular task. Its ability to
remember long-term dependencies likely contributed to its superior performance.
The CNN model also performed well, showing that spatial hierarchies of features are relevant for this task. CNNs, being powerful in extracting patterns from spatial data (like images or time-series), indicate
that the dataset's structure can be well-represented using convolutional layers.
The basic Neural Network model showed competitive performance, which suggests that even simple models can capture significant information from the dataset. However, its performance was slightly
lower than the LSTM and CNN models.
The RNN model had the lowest validation accuracy. This might be due to the vanishing gradient problem that RNNs are known to suffer from, making it harder for them to learn long-term dependencies in
the data.
Conclusion
The LSTM model outperformed the other models in terms of validation accuracy, making it the best choice among the ones tested for this particular task. However, the CNN model's close performance
suggests that exploring hybrid models, such as ConvLSTM, which combines the strengths of both CNNs and LSTMs, could potentially offer further improvements.
It's also worth noting that all models performed better than random guessing (which would be 25% accuracy for a four-class problem), indicating that they all managed to learn useful patterns from the
data.
Key Points
LSTM's Superiority: Indicates the importance of capturing long-term dependencies in the dataset.
CNN's Competitive Performance: Suggests that convolutional layers effectively extract spatial or temporal patterns.
Potential for Hybrid Models: Given the strengths of both CNNs and LSTMs, exploring models that combine these architectures could yield better results.
Room for Improvement: While LSTM performed the best, there's still room for improvement. Techniques like hyperparameter tuning, more sophisticated data preprocessing, or using ensemble
methods could enhance model performance further.
file:///Users/gabrieldeolaguibel/Downloads/medical_text_classifier_GabrieldeOlaguibel.html 12/12