GamerBhai02

ML Exp 5

Sep 29th, 2025
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.87 KB | Source Code | 0 0
  1. import pandas as pd
  2. from sklearn.model_selection import train_test_split
  3. from sklearn.preprocessing import StandardScaler
  4. from sklearn.linear_model import LogisticRegression
  5. from sklearn.neighbors import KNeighborsClassifier
  6. from sklearn.tree import DecisionTreeClassifier
  7. from sklearn.metrics import accuracy_score, confusion_matrix
  8.  
  9. url = "https://raw.githubusercontent.com/sakshi2k/Social_Network_Ads/refs/heads/master/Social_Network_Ads.csv"
  10. df = pd.read_csv(url)
  11.  
  12. df['Gender'] = df['Gender'].map({'Female': 0, 'Male': 1})
  13. df = df.drop(['User ID'], axis=1)
  14. X = df[['Age', 'EstimatedSalary', 'Gender']]
  15. y = df['Purchased']
  16.  
  17. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
  18.  
  19. scaler = StandardScaler()
  20. X_train_scaled = scaler.fit_transform(X_train)
  21. X_test_scaled = scaler.transform(X_test)
  22.  
  23. log_model = LogisticRegression()
  24. log_model.fit(X_train_scaled, y_train)
  25. log_pred = log_model.predict(X_test_scaled)
  26. log_acc = accuracy_score(y_test, log_pred)
  27. log_cm = confusion_matrix(y_test, log_pred)
  28.  
  29. knn_model = KNeighborsClassifier(n_neighbors=5)
  30. knn_model.fit(X_train_scaled, y_train)
  31. knn_pred = knn_model.predict(X_test_scaled)
  32. knn_acc = accuracy_score(y_test, knn_pred)
  33. knn_cm = confusion_matrix(y_test, knn_pred)
  34.  
  35. tree_model = DecisionTreeClassifier(random_state=42)
  36. tree_model.fit(X_train, y_train)
  37. tree_pred = tree_model.predict(X_test)
  38. tree_acc = accuracy_score(y_test, tree_pred)
  39. tree_cm = confusion_matrix(y_test, tree_pred)
  40.  
  41. print("📊 Model Accuracy Comparison:")
  42. print(f"Logistic Regression Accuracy: {log_acc:.2f}")
  43. print(f"KNN Accuracy: {knn_acc:.2f}")
  44. print(f"Decision Tree Accuracy: {tree_acc:.2f}")
  45.  
  46. print("\n🧮 Confusion Matrices:")
  47. print("Logistic Regression Confusion Matrix:")
  48. print(log_cm)
  49.  
  50. print("\nKNN Confusion Matrix:")
  51. print(knn_cm)
  52.  
  53. print("\nDecision Tree Confusion Matrix:")
  54. print(tree_cm)
Tags: ML
Advertisement
Add Comment
Please, Sign In to add comment