Lab4 - Jupyter Notebook
Lab4 - Jupyter Notebook
localhost:8888/notebooks/lab4.ipynb# 1/7
9/4/24, 10:37 AM lab4 - Jupyter Notebook
localhost:8888/notebooks/lab4.ipynb# 2/7
9/4/24, 10:37 AM lab4 - Jupyter Notebook
localhost:8888/notebooks/lab4.ipynb# 3/7
9/4/24, 10:37 AM lab4 - Jupyter Notebook
def predict(X, beta):
return sigmoid(np.dot(X, beta)) >= 0.5
# Train Logistic Regression Model
alpha = 0.01
num_iterations = 1000
beta = gradient_descent(X_train, y_train, alpha, num_iterations)
# Predict and evaluate
y_train_pred = predict(X_train, beta)
y_test_pred = predict(X_test, beta)
# Accuracy
train_accuracy = accuracy_score(y_train, y_train_pred)
test_accuracy = accuracy_score(y_test, y_test_pred)
print(f'Training Accuracy: {train_accuracy:.2f}')
print(f'Test Accuracy: {test_accuracy:.2f}')
# Confusion Matrix
conf_matrix = confusion_matrix(y_test, y_test_pred)
# Classification Report
class_report = classification_report(y_test, y_test_pred)
print('Classification Report:')
print(class_report)
# ROC Curve and AUC
y_test_proba = sigmoid(np.dot(X_test, beta))
fpr, tpr, _ = roc_curve(y_test, y_test_proba)
roc_auc = auc(fpr, tpr)
print(f'AUC: {roc_auc:.2f}')
# Plot Confusion Matrix as Heatmap
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix, annot=True, fmt='d', cmap='pink', xticklabels=['No Bug', 'Bug'], yticklabels=['No Bug', 'Bug'
plt.xlabel('Predicted')
plt.ylabel('True')
plt.title('Confusion Matrix')
plt.show()
# Plot ROC Curve
localhost:8888/notebooks/lab4.ipynb# 4/7
9/4/24, 10:37 AM lab4 - Jupyter Notebook
plt.figure(figsize=(8, 6))
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='red', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic (ROC)')
plt.legend(loc='lower right')
plt.show()
AUC: 0.86
localhost:8888/notebooks/lab4.ipynb# 5/7
9/4/24, 10:37 AM lab4 - Jupyter Notebook
localhost:8888/notebooks/lab4.ipynb# 6/7
9/4/24, 10:37 AM lab4 - Jupyter Notebook
In [ ]:
localhost:8888/notebooks/lab4.ipynb# 7/7