Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.neighbors import KNeighborsClassifier
- from sklearn.tree import DecisionTreeClassifier
- from sklearn.metrics import accuracy_score, confusion_matrix
- url = "https://raw.githubusercontent.com/sakshi2k/Social_Network_Ads/refs/heads/master/Social_Network_Ads.csv"
- df = pd.read_csv(url)
- df['Gender'] = df['Gender'].map({'Female': 0, 'Male': 1})
- df = df.drop(['User ID'], axis=1)
- X = df[['Age', 'EstimatedSalary', 'Gender']]
- y = df['Purchased']
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
- scaler = StandardScaler()
- X_train_scaled = scaler.fit_transform(X_train)
- X_test_scaled = scaler.transform(X_test)
- log_model = LogisticRegression()
- log_model.fit(X_train_scaled, y_train)
- log_pred = log_model.predict(X_test_scaled)
- log_acc = accuracy_score(y_test, log_pred)
- log_cm = confusion_matrix(y_test, log_pred)
- knn_model = KNeighborsClassifier(n_neighbors=5)
- knn_model.fit(X_train_scaled, y_train)
- knn_pred = knn_model.predict(X_test_scaled)
- knn_acc = accuracy_score(y_test, knn_pred)
- knn_cm = confusion_matrix(y_test, knn_pred)
- tree_model = DecisionTreeClassifier(random_state=42)
- tree_model.fit(X_train, y_train)
- tree_pred = tree_model.predict(X_test)
- tree_acc = accuracy_score(y_test, tree_pred)
- tree_cm = confusion_matrix(y_test, tree_pred)
- print("đ Model Accuracy Comparison:")
- print(f"Logistic Regression Accuracy: {log_acc:.2f}")
- print(f"KNN Accuracy: {knn_acc:.2f}")
- print(f"Decision Tree Accuracy: {tree_acc:.2f}")
- print("\nđ§Ž Confusion Matrices:")
- print("Logistic Regression Confusion Matrix:")
- print(log_cm)
- print("\nKNN Confusion Matrix:")
- print(knn_cm)
- print("\nDecision Tree Confusion Matrix:")
- print(tree_cm)
Advertisement
Add Comment
Please, Sign In to add comment