Lab Manual 8

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

CS-419 Introduction to Machine Learning

Lab Manual # 8

SUBMITTED BY:
M.Zeeshan (22-cs-132)
Shoaib Akram(22-cs-116)
Shameel Hassan(22-cs-012)
Lab Task:
1. Implement Logistic Regression and Find the performance matric
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix, accuracy_score,
precision_score, recall_score

dataset = pd.read_csv('Social_Network_Ads.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.70,


random_state=0)

sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

logistic_classifier = LogisticRegression(random_state=0)
logistic_classifier.fit(X_train, y_train)
y_pred_logistic = logistic_classifier.predict(X_test)

accuracy_logistic = accuracy_score(y_test, y_pred_logistic)


precision_logistic = precision_score(y_test, y_pred_logistic)
recall_logistic = recall_score(y_test, y_pred_logistic)
print("Logistic Regression Performance:")
print(f"Accuracy: {accuracy_logistic:.2f}")
print(f"Precision: {precision_logistic:.2f}")
print(f"Recall: {recall_logistic:.2f}")

2. Implement KNN and find the performance matric


import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import confusion_matrix, accuracy_score,
precision_score, recall_score

dataset = pd.read_csv('Social_Network_Ads.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.70,


random_state=0)

sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
knn_classifier = KNeighborsClassifier(n_neighbors=5, metric='minkowski',
p=2)
knn_classifier.fit(X_train, y_train)
y_pred_knn = knn_classifier.predict(X_test)

accuracy_knn = accuracy_score(y_test, y_pred_knn)


precision_knn = precision_score(y_test, y_pred_knn)
recall_knn = recall_score(y_test, y_pred_knn)

print("KNN Performance:")
print(f"Accuracy: {accuracy_knn:.2f}")
print(f"Precision: {precision_knn:.2f}")
print(f"Recall: {recall_knn:.2f}")

3. Compare the both models based on accuracy


import matplotlib.pyplot as plt

# Compare Logistic Regression and KNN based on accuracy


models = ['Logistic Regression', 'KNN']
accuracies = [accuracy_logistic, accuracy_knn]

plt.bar(models, accuracies, color=['blue', 'green'])


plt.xlabel('Models')
plt.ylabel('Accuracy')
plt.title('Model Comparison: Accuracy')
for i, accuracy in enumerate(accuracies):
plt.text(i, accuracy, f"{accuracy:.2f}", ha='center', va='bottom')
plt.show()

print("Comparison Based on Accuracy:")


print(f"Logistic Regression Accuracy: {accuracy_logistic:.2f}")
print(f"KNN Accuracy: {accuracy_knn:.2f}")

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy