Untitled

 avatar
unknown
plain_text
6 months ago
1.6 kB
3
Indexable
# Q6. Define an MLP structure to simulate CNN characteristics
# Using 2048 and 1024 units in the fully connected layers with relu activation
model = MLPClassifier(hidden_layer_sizes=(2048, 1024), activation='relu', max_iter=250, random_state=42)

# Train the MLP model on the training set
model.fit(X_train, y_train)

# Q7. Print out model structure
print("Model structure:", model)

# Q8. Calculate average training and validation metrics
y_train_pred = model.predict(X_train)
y_val_pred = model.predict(X_val)

# Calculate average metrics
train_accuracy = accuracy_score(y_train, y_train_pred)
val_accuracy = accuracy_score(y_val, y_val_pred)
f1 = f1_score(y_val, y_val_pred, average='macro')
precision = precision_score(y_val, y_val_pred, average='macro')
recall = recall_score(y_val, y_val_pred, average='macro')

print(f"Training Accuracy: {train_accuracy}")
print(f"Validation Accuracy: {val_accuracy}")
print(f"F1 Score: {f1}")
print(f"Precision: {precision}")
print(f"Recall: {recall}")

# Q9. Plot accuracy for training and validation sets and show confusion matrix
plt.figure(figsize=(10, 4))

# Accuracy plot
plt.subplot(1, 2, 1)
plt.bar(['Train', 'Validation'], [train_accuracy, val_accuracy], color=['blue', 'orange'])
plt.xlabel('Dataset')
plt.ylabel('Accuracy')
plt.title('Training and Validation Accuracy')

# Confusion matrix for validation set
conf_matrix = confusion_matrix(y_val, y_val_pred)

plt.subplot(1, 2, 2)
plt.imshow(conf_matrix, cmap='Blues')
plt.colorbar()
plt.xlabel('Predicted Labels')
plt.ylabel('True Labels')
plt.title('Confusion Matrix')
plt.show()
Editor is loading...
Leave a Comment