← Back to all models
Classification

Social Network Ads

Uses age, salary, and gender to predict whether a social media user would purchase a product after seeing an ad.

Try It Yourself

Enter values below, then hit Predict to see what the model says.

Raw Dataset (original data)
User IDGenderAgeEstimatedSalaryPurchased
Cleaned Dataset (the version we feed to the model)
AgeEstimatedSalaryGender_MalePurchased
The Code (how we built this model)
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

df = pd.read_csv('social_ads_original.csv')

df = df[['Age', 'EstimatedSalary', 'Gender', 'Purchased']]

df = df.dropna()

df = pd.get_dummies(df, drop_first=True)

X = df.drop('Purchased', axis=1)
y = df['Purchased']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

model = DecisionTreeClassifier(max_depth=2, random_state=42)
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print(accuracy_score(y_test, y_pred))
Under the Hood (how the model thinks)

This is the actual decision tree the model learned. Starting from the top, each diamond asks a yes/no question — follow True left and False right until you reach a coloured leaf, which is the final prediction.

100%
Decision Tree