Try It Yourself
Enter values below, then hit Predict to see what the model says.
Raw Dataset (original data)
| User ID | Gender | Age | EstimatedSalary | Purchased |
|---|
Cleaned Dataset (the version we feed to the model)
| Age | EstimatedSalary | Gender_Male | Purchased |
|---|
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.