Importing Libraries and Exploration of Dataset¶
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# To scale the data using z-score
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
# Libraries for Decision Tree
from sklearn import tree
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import GridSearchCV
# Algorithms to use
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
# Metrics to evaluate the model
from sklearn import metrics
from sklearn.metrics import confusion_matrix, classification_report, precision_recall_curve,recall_score, roc_auc_score
from sklearn.preprocessing import label_binarize
from sklearn.metrics import ConfusionMatrixDisplay
from sklearn.pipeline import Pipeline
from sklearn.metrics import accuracy_score, classification_report
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# Clustering libraries
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
# To ignore warnings
import warnings
warnings.filterwarnings("ignore")
#Monitor the time to run the notebook
import time
start_time = time.time()
Loading the dataset as a dataframe¶
# Loading the dataset in to a Pandas Dataframe
df = pd.read_csv('online_gaming_behavior_dataset.csv')
# printing a section of the dataframe to check everything has loaded in correctly
df.head()
| PlayerID | Age | Gender | Location | GameGenre | PlayTimeHours | InGamePurchases | GameDifficulty | SessionsPerWeek | AvgSessionDurationMinutes | PlayerLevel | AchievementsUnlocked | EngagementLevel | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 9000 | 43 | Male | Other | Strategy | 16.271119 | 0 | Medium | 6 | 108 | 79 | 25 | Medium |
| 1 | 9001 | 29 | Female | USA | Strategy | 5.525961 | 0 | Medium | 5 | 144 | 11 | 10 | Medium |
| 2 | 9002 | 22 | Female | USA | Sports | 8.223755 | 0 | Easy | 16 | 142 | 35 | 41 | High |
| 3 | 9003 | 35 | Male | USA | Action | 5.265351 | 1 | Easy | 9 | 85 | 57 | 47 | Medium |
| 4 | 9004 | 33 | Male | Europe | Action | 15.531945 | 0 | Medium | 2 | 131 | 95 | 37 | Medium |
Checking the dataframe to ensure there are no blanks and what datatypes Python is inferring¶
# display the information about the dataframe
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 40034 entries, 0 to 40033 Data columns (total 13 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 PlayerID 40034 non-null int64 1 Age 40034 non-null int64 2 Gender 40034 non-null object 3 Location 40034 non-null object 4 GameGenre 40034 non-null object 5 PlayTimeHours 40034 non-null float64 6 InGamePurchases 40034 non-null int64 7 GameDifficulty 40034 non-null object 8 SessionsPerWeek 40034 non-null int64 9 AvgSessionDurationMinutes 40034 non-null int64 10 PlayerLevel 40034 non-null int64 11 AchievementsUnlocked 40034 non-null int64 12 EngagementLevel 40034 non-null object dtypes: float64(1), int64(7), object(5) memory usage: 4.0+ MB
There are 40,034 rows and 13 columns of data in the dataset. All the columns are complete with no missing data so no pre-processing is required to handle blank values
We can also check to see how many unique values are present in each column of data
# Check for number of unique values each column has
df.nunique()
PlayerID 40034 Age 35 Gender 2 Location 4 GameGenre 5 PlayTimeHours 40034 InGamePurchases 2 GameDifficulty 3 SessionsPerWeek 20 AvgSessionDurationMinutes 170 PlayerLevel 99 AchievementsUnlocked 50 EngagementLevel 3 dtype: int64
- PlayerId is a unique identifier and will not add any value to the analysis of the data so it can be dropped
- Based on the numbers of unique values present, we can clearly define continuous (numerical) and categorical columns.
We will now drop the PlayerID column and create lists for numerical and categorical data
# dropping the playerid column
df=df.drop(['PlayerID'],axis=1) # axis 1 for column
To assist in the exploration of the data, we will determine which columns contain categorical data, and those that contain numerical data only.
# Create list of Numerical Columns
numerical_cols = ['Age', 'PlayTimeHours', 'SessionsPerWeek', 'AvgSessionDurationMinutes',
'PlayerLevel', 'AchievementsUnlocked']
categorical_cols = ['Gender', 'Location', 'GameGenre', 'InGamePurchases', 'GameDifficulty', 'EngagementLevel']
# Create a summary table of the dataset
df[numerical_cols].describe().T
| count | mean | std | min | 25% | 50% | 75% | max | |
|---|---|---|---|---|---|---|---|---|
| Age | 40034.0 | 31.992531 | 10.043227 | 15.000000 | 23.000000 | 32.000000 | 41.000000 | 49.000000 |
| PlayTimeHours | 40034.0 | 12.024365 | 6.914638 | 0.000115 | 6.067501 | 12.008002 | 17.963831 | 23.999592 |
| SessionsPerWeek | 40034.0 | 9.471774 | 5.763667 | 0.000000 | 4.000000 | 9.000000 | 14.000000 | 19.000000 |
| AvgSessionDurationMinutes | 40034.0 | 94.792252 | 49.011375 | 10.000000 | 52.000000 | 95.000000 | 137.000000 | 179.000000 |
| PlayerLevel | 40034.0 | 49.655568 | 28.588379 | 1.000000 | 25.000000 | 49.000000 | 74.000000 | 99.000000 |
| AchievementsUnlocked | 40034.0 | 24.526477 | 14.430726 | 0.000000 | 12.000000 | 25.000000 | 37.000000 | 49.000000 |
Observations from Univariate Analysis of Numerical Fields
- Average Age is around 32 years old. There is a large range in ages, from 15 to 49 which indicates a good diversity across the players
- The average time a player spends per week is around 12 hours. There is a very large range, with the lowest average per week being just 0.000115 hours and the highest being just under 24 hours
- Average minutes spent per session is almost 95 minutes, with the highest being 179 and the lowest being just 10 minutes.
- Player level and achievements unlocked have wide ranges. Lowest level is 1 and highest is 99 while lowest number of achievements unlocked is 0 and the highest is 49. This could demonstrate a wide demographic of player abilities.
We can explore further by plotting historgrams to display their distribution
# Create Histograms
df[numerical_cols].hist(figsize=(6,6))
plt.show
<function matplotlib.pyplot.show(close=None, block=None)>
Observation: While the values look fairly evenly distributed, as the dataset is made up of over 40,000 rows of data, random noise could be smoothing them out.
It could also be that the dataset has been synthetically engineered or intentionally evenly sampled, leading to them appearing to be uniformly distributed
Univariate analysis for the categorical variables¶
# Display the % sub categories of each category
for i in categorical_cols:
print(df[i].value_counts (normalize=True))
print('*'*40)
Gender Male 0.598466 Female 0.401534 Name: proportion, dtype: float64 **************************************** Location USA 0.399660 Europe 0.299845 Asia 0.202203 Other 0.098291 Name: proportion, dtype: float64 **************************************** GameGenre Sports 0.201029 Action 0.200804 Strategy 0.200130 Simulation 0.199406 RPG 0.198631 Name: proportion, dtype: float64 **************************************** InGamePurchases 0 0.799146 1 0.200854 Name: proportion, dtype: float64 **************************************** GameDifficulty Easy 0.49995 Medium 0.30002 Hard 0.20003 Name: proportion, dtype: float64 **************************************** EngagementLevel Medium 0.483939 High 0.258181 Low 0.257881 Name: proportion, dtype: float64 ****************************************
Observation:
- The gender makeup of the players is slightly more skewed towards male players, at around 59% being male compared to 41% being female
- Most players are based in the USA (almost 40%) which could make regionality a contributing factor to outcomes.
- The types of game (genre) that people play appears to be fairly evenly split, with all 5 categories being almost evenly split at around 20% each
- Almost 80% of players do not make in-game purchases, which could either be indicative of the type of game they play, or them actively making a choice to play the games a certain way
- The majority of the players reported (almost 50%) play the games on an easy level, this could be either that they have less gaming experience, or prefer to play more casually.
- Engagement levels for players are mostly categorised at medium, with 49% of players sampled falling in to this category
Bivariate/Multivariate Analysis¶
As we are most interested in the engagement level of players, we can see how this is related to other categorical and numerical variables in the data.
First we will look at the categorical variables:
for i in categorical_cols:
if i!='EngagementLevel':
(pd.crosstab(df[i],df['EngagementLevel'],normalize='index')*100).plot(kind='bar',figsize=(6,3),stacked=False)
plt.ylabel('Percentage Engagement %')
Observation
The distribution of engagement level is evenly split across all the categories, meaning there is no relationship between engagement level and these categories.
Next, we will check the relationships between engagement level and the numerical variables
# Average of numerical variables by engagement level
df.groupby(['EngagementLevel'])[numerical_cols].mean()
| Age | PlayTimeHours | SessionsPerWeek | AvgSessionDurationMinutes | PlayerLevel | AchievementsUnlocked | |
|---|---|---|---|---|---|---|
| EngagementLevel | ||||||
| High | 31.920085 | 12.069238 | 14.254547 | 131.921827 | 50.823723 | 25.095975 |
| Low | 31.896939 | 12.104915 | 4.530511 | 66.882119 | 46.101414 | 22.661565 |
| Medium | 32.082120 | 11.957503 | 9.553267 | 89.856405 | 50.926293 | 25.216424 |
Observation:
- Unsurprisingly, engagement levels are highest in those players with the highest average sessions per week and average session duration.
- Age, Play Time, Player Level and Achievements unlocked are fairly evenly spread across the three engagement levels.
So we ask, is there a relationship between the different numerical variables
# Plot any correlation between numerical values
plt.figure(figsize=(6,6))
sns.heatmap(df[numerical_cols].corr(), annot=True, fmt='0.2f', cmap='YlOrRd')
<Axes: >
As with some of our other analysis, the lack of correlation between the categories such as age and player level, or Sessions Per Week and Achievements Unlocked show there are no meaningful linear corrleations in the data, and this could be due to the fact that this is simulated data, rather than real-world data.
Data Preparation for Support Machine Vector (SVM) Modelling¶
# Creating categorical variables
get_categories = ['Gender', 'Location', 'GameGenre', 'GameDifficulty']
# Creating variables
df = pd.get_dummies(data = df, columns = get_categories, drop_first = True)
# Mapping engagement
dict_engagement = {'Low': 0, 'Medium': 1, 'High': 2}
df['EngagementLevel'] = df.EngagementLevel.map(dict_engagement)
df.head()
| Age | PlayTimeHours | InGamePurchases | SessionsPerWeek | AvgSessionDurationMinutes | PlayerLevel | AchievementsUnlocked | EngagementLevel | Gender_Male | Location_Europe | Location_Other | Location_USA | GameGenre_RPG | GameGenre_Simulation | GameGenre_Sports | GameGenre_Strategy | GameDifficulty_Hard | GameDifficulty_Medium | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 43 | 16.271119 | 0 | 6 | 108 | 79 | 25 | 1 | True | False | True | False | False | False | False | True | False | True |
| 1 | 29 | 5.525961 | 0 | 5 | 144 | 11 | 10 | 1 | False | False | False | True | False | False | False | True | False | True |
| 2 | 22 | 8.223755 | 0 | 16 | 142 | 35 | 41 | 2 | False | False | False | True | False | False | True | False | False | False |
| 3 | 35 | 5.265351 | 1 | 9 | 85 | 57 | 47 | 1 | True | False | False | True | False | False | False | False | False | False |
| 4 | 33 | 15.531945 | 0 | 2 | 131 | 95 | 37 | 1 | True | True | False | False | False | False | False | False | False | True |
Model Data Preparation¶
To implement this data in to the SVM Model, we first need to create the training and test data which can be used in the model.
Y= df.EngagementLevel
X= df.drop(columns = ['EngagementLevel'])
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.3, random_state = 1, stratify = Y)
# Scaling the data
sc=StandardScaler()
# Fit_transform on train data
X_train_scaled=sc.fit_transform(X_train)
X_train_scaled=pd.DataFrame(X_train_scaled, columns=X.columns)
# Transform on test data
X_test_scaled=sc.transform(X_test)
X_test_scaled=pd.DataFrame(X_test_scaled, columns=X.columns)
# Create a metric function
def metrics_score(actual, predicted):
print(classification_report(actual, predicted))
cm = confusion_matrix(actual, predicted)
plt.figure(figsize=(8,5))
sns.heatmap(cm, annot=True, fmt='.2f', xticklabels=['Low', 'Medium', 'High'],
yticklabels=['Low', 'Medium', 'High'])
plt.ylabel('Actual')
plt.xlabel('Predicted')
plt.show()
Linear Kernel¶
# Fitting SVM
svm = SVC(kernel='linear') # Linear kernal or linear decision boundary
model = svm.fit(X= X_train_scaled, y = y_train)
y_pred_train_svm = model.predict(X_train_scaled)
metrics_score(y_train, y_pred_train_svm)
precision recall f1-score support
0 0.79 0.71 0.75 7227
1 0.81 0.87 0.84 13561
2 0.89 0.85 0.87 7235
accuracy 0.82 28023
macro avg 0.83 0.81 0.82 28023
weighted avg 0.83 0.82 0.82 28023
# Checking performance on the test data
y_pred_test_svm = model.predict(X_test_scaled)
metrics_score(y_test, y_pred_test_svm)
precision recall f1-score support
0 0.79 0.71 0.75 3097
1 0.81 0.87 0.84 5813
2 0.89 0.85 0.87 3101
accuracy 0.82 12011
macro avg 0.83 0.81 0.82 12011
weighted avg 0.82 0.82 0.82 12011
Outcome¶
This model performs fairly well, with a weighted average Precision, Recall and F1 of 82%, but we can apply some hyperperameter tuning to it to improve the outcome.
First we create a pipeline to ensure the same preprocessing is applied consistently during training and testing, and that there is no data leakage during cross-validation.
pipeline = Pipeline([
('scaler', StandardScaler()),
('svm', SVC(probability=True))
])
Next we define the hyperparameter combinations we will use
param_grid = [
{
'svm__kernel': ['linear'],
'svm__C': [0.1, 1]
},
{
'svm__kernel': ['rbf'],
'svm__C': [1, 10],
'svm__gamma': [0.01, 0.1]
}
]
This will call the hyperparameter tuning, training the data on 4 folds and then testing against 1, it will then choose the model which performs best
grid = GridSearchCV(
estimator=pipeline,
param_grid=param_grid,
cv=5,
scoring='accuracy',
n_jobs= 12
)
grid.fit(X_train, y_train)
GridSearchCV(cv=5,
estimator=Pipeline(steps=[('scaler', StandardScaler()),
('svm', SVC(probability=True))]),
n_jobs=12,
param_grid=[{'svm__C': [0.1, 1], 'svm__kernel': ['linear']},
{'svm__C': [1, 10], 'svm__gamma': [0.01, 0.1],
'svm__kernel': ['rbf']}],
scoring='accuracy')In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
Parameters
| estimator | Pipeline(step...ility=True))]) | |
| param_grid | [{'svm__C': [0.1, 1], 'svm__kernel': ['linear']}, {'svm__C': [1, 10], 'svm__gamma': [0.01, 0.1], 'svm__kernel': ['rbf']}] | |
| scoring | 'accuracy' | |
| n_jobs | 12 | |
| refit | True | |
| cv | 5 | |
| verbose | 0 | |
| pre_dispatch | '2*n_jobs' | |
| error_score | nan | |
| return_train_score | False |
Parameters
| copy | True | |
| with_mean | True | |
| with_std | True |
Parameters
| C | 10 | |
| kernel | 'rbf' | |
| degree | 3 | |
| gamma | 0.01 | |
| coef0 | 0.0 | |
| shrinking | True | |
| probability | True | |
| tol | 0.001 | |
| cache_size | 200 | |
| class_weight | None | |
| verbose | False | |
| max_iter | -1 | |
| decision_function_shape | 'ovr' | |
| break_ties | False | |
| random_state | None |
print("Best parameters:", grid.best_params_)
print("Best CV accuracy:", grid.best_score_)
Best parameters: {'svm__C': 10, 'svm__gamma': 0.01, 'svm__kernel': 'rbf'}
Best CV accuracy: 0.888591874925582
y_pred = grid.best_estimator_.predict(X_test)
print("Test accuracy:", accuracy_score(y_test, y_pred))
print("Classification report:\n")
print(classification_report(
y_test,
y_pred,
target_names=['Low', 'Medium', 'High']
))
Test accuracy: 0.8894346848722005
Classification report:
precision recall f1-score support
Low 0.89 0.82 0.86 3097
Medium 0.87 0.94 0.90 5813
High 0.92 0.86 0.89 3101
accuracy 0.89 12011
macro avg 0.90 0.88 0.88 12011
weighted avg 0.89 0.89 0.89 12011
grid = GridSearchCV(
estimator=pipeline,
param_grid=param_grid,
cv=5,
scoring='f1_macro',
n_jobs= 12
)
grid.fit(X_train, y_train)
GridSearchCV(cv=5,
estimator=Pipeline(steps=[('scaler', StandardScaler()),
('svm', SVC(probability=True))]),
n_jobs=12,
param_grid=[{'svm__C': [0.1, 1], 'svm__kernel': ['linear']},
{'svm__C': [1, 10], 'svm__gamma': [0.01, 0.1],
'svm__kernel': ['rbf']}],
scoring='f1_macro')In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
Parameters
| estimator | Pipeline(step...ility=True))]) | |
| param_grid | [{'svm__C': [0.1, 1], 'svm__kernel': ['linear']}, {'svm__C': [1, 10], 'svm__gamma': [0.01, 0.1], 'svm__kernel': ['rbf']}] | |
| scoring | 'f1_macro' | |
| n_jobs | 12 | |
| refit | True | |
| cv | 5 | |
| verbose | 0 | |
| pre_dispatch | '2*n_jobs' | |
| error_score | nan | |
| return_train_score | False |
Parameters
| copy | True | |
| with_mean | True | |
| with_std | True |
Parameters
| C | 10 | |
| kernel | 'rbf' | |
| degree | 3 | |
| gamma | 0.01 | |
| coef0 | 0.0 | |
| shrinking | True | |
| probability | True | |
| tol | 0.001 | |
| cache_size | 200 | |
| class_weight | None | |
| verbose | False | |
| max_iter | -1 | |
| decision_function_shape | 'ovr' | |
| break_ties | False | |
| random_state | None |
print("Best parameters:", grid.best_params_)
print("Best CV f1:", grid.best_score_)
Best parameters: {'svm__C': 10, 'svm__gamma': 0.01, 'svm__kernel': 'rbf'}
Best CV f1: 0.8833893422011521
y_pred = grid.best_estimator_.predict(X_test)
print("Test accuracy:", accuracy_score(y_test, y_pred))
print("Classification report:\n")
print(classification_report(
y_test,
y_pred,
target_names=['Low', 'Medium', 'High']
))
Test accuracy: 0.8894346848722005
Classification report:
precision recall f1-score support
Low 0.89 0.82 0.86 3097
Medium 0.87 0.94 0.90 5813
High 0.92 0.86 0.89 3101
accuracy 0.89 12011
macro avg 0.90 0.88 0.88 12011
weighted avg 0.89 0.89 0.89 12011
grid = GridSearchCV(
estimator=pipeline,
param_grid=param_grid,
cv=5,
scoring='roc_auc_ovr',
n_jobs= 12
)
grid.fit(X_train, y_train)
GridSearchCV(cv=5,
estimator=Pipeline(steps=[('scaler', StandardScaler()),
('svm', SVC(probability=True))]),
n_jobs=12,
param_grid=[{'svm__C': [0.1, 1], 'svm__kernel': ['linear']},
{'svm__C': [1, 10], 'svm__gamma': [0.01, 0.1],
'svm__kernel': ['rbf']}],
scoring='roc_auc_ovr')In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
Parameters
| estimator | Pipeline(step...ility=True))]) | |
| param_grid | [{'svm__C': [0.1, 1], 'svm__kernel': ['linear']}, {'svm__C': [1, 10], 'svm__gamma': [0.01, 0.1], 'svm__kernel': ['rbf']}] | |
| scoring | 'roc_auc_ovr' | |
| n_jobs | 12 | |
| refit | True | |
| cv | 5 | |
| verbose | 0 | |
| pre_dispatch | '2*n_jobs' | |
| error_score | nan | |
| return_train_score | False |
Parameters
| copy | True | |
| with_mean | True | |
| with_std | True |
Parameters
| C | 10 | |
| kernel | 'rbf' | |
| degree | 3 | |
| gamma | 0.01 | |
| coef0 | 0.0 | |
| shrinking | True | |
| probability | True | |
| tol | 0.001 | |
| cache_size | 200 | |
| class_weight | None | |
| verbose | False | |
| max_iter | -1 | |
| decision_function_shape | 'ovr' | |
| break_ties | False | |
| random_state | None |
print("Best parameters:", grid.best_params_)
print("Best CV roc_auc:", grid.best_score_)
Best parameters: {'svm__C': 10, 'svm__gamma': 0.01, 'svm__kernel': 'rbf'}
Best CV roc_auc: 0.9412735457066288
y_pred = grid.best_estimator_.predict(X_test)
print("Test accuracy:", accuracy_score(y_test, y_pred))
print("Classification report:\n")
print(classification_report(
y_test,
y_pred,
target_names=['Low', 'Medium', 'High']
))
Test accuracy: 0.8894346848722005
Classification report:
precision recall f1-score support
Low 0.89 0.82 0.86 3097
Medium 0.87 0.94 0.90 5813
High 0.92 0.86 0.89 3101
accuracy 0.89 12011
macro avg 0.90 0.88 0.88 12011
weighted avg 0.89 0.89 0.89 12011
After tuning based on Accuracy, F1 and ROC_AUC, we have consistently achieved an average Precision, Recall and F1 score of 89%.
Data Modelling for Decision Tree¶
dTree = DecisionTreeClassifier()
dTree = dTree.fit(X, Y)
plt.figure(figsize=(10,8))
tree.plot_tree(dTree, feature_names=X.columns,
class_names=['Low', 'Medium', 'High'],
filled=True,
rounded=True)
[Text(0.31205567222973857, 0.9852941176470589, 'SessionsPerWeek <= 2.5\ngini = 0.633\nsamples = 40034\nvalue = [10324, 19374, 10336]\nclass = Medium'), Text(0.08971977599821036, 0.9558823529411765, 'SessionsPerWeek <= 1.5\ngini = 0.272\nsamples = 5965\nvalue = [5034.0, 728.0, 203.0]\nclass = Low'), Text(0.20088772411397446, 0.9705882352941178, 'True '), Text(0.058275150061856414, 0.9264705882352942, 'AchievementsUnlocked <= 47.5\ngini = 0.142\nsamples = 3947\nvalue = [3649, 166, 132]\nclass = Low'), Text(0.039564889429159394, 0.8970588235294118, 'PlayerLevel <= 78.5\ngini = 0.134\nsamples = 3782\nvalue = [3514, 144, 124]\nclass = Low'), Text(0.01265555436558141, 0.8676470588235294, 'PlayTimeHours <= 0.041\ngini = 0.118\nsamples = 3021\nvalue = [2834, 90, 97]\nclass = Low'), Text(0.003580865749563602, 0.8382352941176471, 'Location_Europe <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.0033758788014669376, 0.8088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.003785852697660266, 0.8088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.02173024298159922, 0.8382352941176471, 'AchievementsUnlocked <= 4.5\ngini = 0.118\nsamples = 3019\nvalue = [2833.0, 90.0, 96.0]\nclass = Low'), Text(0.0041958265938535945, 0.8088235294117647, 'PlayTimeHours <= 20.254\ngini = 0.149\nsamples = 314\nvalue = [289.0, 7.0, 18.0]\nclass = Low'), Text(0.0032221385903944398, 0.7794117647058824, 'AvgSessionDurationMinutes <= 178.5\ngini = 0.126\nsamples = 271\nvalue = [253, 7, 11]\nclass = Low'), Text(0.0028121646942011113, 0.75, 'AvgSessionDurationMinutes <= 139.5\ngini = 0.12\nsamples = 269\nvalue = [252, 7, 10]\nclass = Low'), Text(0.0026071777461044473, 0.7205882352941176, 'AvgSessionDurationMinutes <= 138.5\ngini = 0.153\nsamples = 209\nvalue = [192, 7, 10]\nclass = Low'), Text(0.001806447480101853, 0.6911764705882353, 'PlayTimeHours <= 8.078\ngini = 0.138\nsamples = 206\nvalue = [191.0, 7.0, 8.0]\nclass = Low'), Text(0.0008199477923866566, 0.6617647058823529, 'PlayerLevel <= 68.5\ngini = 0.047\nsamples = 83\nvalue = [81, 0, 2]\nclass = Low'), Text(0.0004099738961933283, 0.6323529411764706, 'Location_Other <= 0.5\ngini = 0.027\nsamples = 73\nvalue = [72, 0, 1]\nclass = Low'), Text(0.00020498694809666416, 0.6029411764705882, 'gini = 0.0\nsamples = 62\nvalue = [62, 0, 0]\nclass = Low'), Text(0.0006149608442899925, 0.6029411764705882, 'PlayTimeHours <= 5.765\ngini = 0.165\nsamples = 11\nvalue = [10, 0, 1]\nclass = Low'), Text(0.0004099738961933283, 0.5735294117647058, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.0008199477923866566, 0.5735294117647058, 'PlayTimeHours <= 6.424\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.0006149608442899925, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0010249347404833208, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.001229921688579985, 0.6323529411764706, 'Location_USA <= 0.5\ngini = 0.18\nsamples = 10\nvalue = [9, 0, 1]\nclass = Low'), Text(0.0010249347404833208, 0.6029411764705882, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.001434908636676649, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.002792947167817049, 0.6617647058823529, 'PlayTimeHours <= 8.287\ngini = 0.195\nsamples = 123\nvalue = [110, 7, 6]\nclass = Low'), Text(0.002587960219720385, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0029979341159137134, 0.6323529411764706, 'PlayTimeHours <= 17.701\ngini = 0.182\nsamples = 122\nvalue = [110, 7, 5]\nclass = Low'), Text(0.002792947167817049, 0.6029411764705882, 'PlayTimeHours <= 17.585\ngini = 0.235\nsamples = 92\nvalue = [80, 7, 5]\nclass = Low'), Text(0.002587960219720385, 0.5735294117647058, 'PlayTimeHours <= 15.308\ngini = 0.22\nsamples = 91\nvalue = [80, 6, 5]\nclass = Low'), Text(0.001434908636676649, 0.5441176470588235, 'AvgSessionDurationMinutes <= 27.5\ngini = 0.158\nsamples = 71\nvalue = [65, 4, 2]\nclass = Low'), Text(0.0006662075813141585, 0.5147058823529411, 'Age <= 27.5\ngini = 0.375\nsamples = 8\nvalue = [6, 0, 2]\nclass = Low'), Text(0.00046122063321749437, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0008711945294108226, 0.4852941176470588, 'GameDifficulty_Hard <= 0.5\ngini = 0.245\nsamples = 7\nvalue = [6, 0, 1]\nclass = Low'), Text(0.0006662075813141585, 0.45588235294117646, 'gini = 0.0\nsamples = 6\nvalue = [6, 0, 0]\nclass = Low'), Text(0.0010761814775074867, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0022036096920391396, 0.5147058823529411, 'PlayTimeHours <= 8.507\ngini = 0.119\nsamples = 63\nvalue = [59, 4, 0]\nclass = Low'), Text(0.0016911423217974794, 0.4852941176470588, 'Age <= 31.0\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.0014861553737008152, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0018961292698941434, 0.45588235294117646, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.0027160770622808, 0.4852941176470588, 'AchievementsUnlocked <= 0.5\ngini = 0.095\nsamples = 60\nvalue = [57, 3, 0]\nclass = Low'), Text(0.002306103166087472, 0.45588235294117646, 'Gender_Male <= 0.5\ngini = 0.231\nsamples = 15\nvalue = [13, 2, 0]\nclass = Low'), Text(0.002101116217990808, 0.4264705882352941, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.0025110901141841358, 0.4264705882352941, 'AvgSessionDurationMinutes <= 58.5\ngini = 0.408\nsamples = 7\nvalue = [5, 2, 0]\nclass = Low'), Text(0.002306103166087472, 0.39705882352941174, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.0027160770622808, 0.39705882352941174, 'AvgSessionDurationMinutes <= 88.5\ngini = 0.5\nsamples = 4\nvalue = [2, 2, 0]\nclass = Low'), Text(0.0025110901141841358, 0.36764705882352944, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.002921064010377464, 0.36764705882352944, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.003126050958474128, 0.45588235294117646, 'GameGenre_Sports <= 0.5\ngini = 0.043\nsamples = 45\nvalue = [44, 1, 0]\nclass = Low'), Text(0.002921064010377464, 0.4264705882352941, 'gini = 0.0\nsamples = 38\nvalue = [38, 0, 0]\nclass = Low'), Text(0.0033310379065707926, 0.4264705882352941, 'AchievementsUnlocked <= 3.5\ngini = 0.245\nsamples = 7\nvalue = [6, 1, 0]\nclass = Low'), Text(0.003126050958474128, 0.39705882352941174, 'gini = 0.0\nsamples = 6\nvalue = [6, 0, 0]\nclass = Low'), Text(0.0035360248546674566, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.003741011802764121, 0.5441176470588235, 'PlayTimeHours <= 15.717\ngini = 0.405\nsamples = 20\nvalue = [15, 2, 3]\nclass = Low'), Text(0.0033310379065707926, 0.5147058823529411, 'PlayerLevel <= 26.5\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1]\nclass = Medium'), Text(0.003126050958474128, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0035360248546674566, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0041509856989574495, 0.5147058823529411, 'AvgSessionDurationMinutes <= 133.0\ngini = 0.29\nsamples = 18\nvalue = [15, 1, 2]\nclass = Low'), Text(0.003945998750860785, 0.4852941176470588, 'Age <= 16.0\ngini = 0.208\nsamples = 17\nvalue = [15, 0, 2]\nclass = Low'), Text(0.003741011802764121, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0041509856989574495, 0.45588235294117646, 'Age <= 44.5\ngini = 0.117\nsamples = 16\nvalue = [15, 0, 1]\nclass = Low'), Text(0.003945998750860785, 0.4264705882352941, 'gini = 0.0\nsamples = 14\nvalue = [14, 0, 0]\nclass = Low'), Text(0.004355972647054113, 0.4264705882352941, 'InGamePurchases <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.0041509856989574495, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0045609595951507775, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.004355972647054113, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0029979341159137134, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0032029210640103774, 0.6029411764705882, 'gini = 0.0\nsamples = 30\nvalue = [30, 0, 0]\nclass = Low'), Text(0.003407908012107042, 0.6911764705882353, 'Location_USA <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.0032029210640103774, 0.6617647058823529, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.003612894960203706, 0.6617647058823529, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.0030171516422977758, 0.7205882352941176, 'gini = 0.0\nsamples = 60\nvalue = [60, 0, 0]\nclass = Low'), Text(0.003632112486587768, 0.75, 'GameGenre_RPG <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.0034271255384911038, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.003837099434684432, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.005169514597312749, 0.7794117647058824, 'InGamePurchases <= 0.5\ngini = 0.273\nsamples = 43\nvalue = [36.0, 0.0, 7.0]\nclass = Low'), Text(0.004657047227071089, 0.75, 'Age <= 46.5\ngini = 0.157\nsamples = 35\nvalue = [32, 0, 3]\nclass = Low'), Text(0.004247073330877761, 0.7205882352941176, 'GameDifficulty_Medium <= 0.5\ngini = 0.114\nsamples = 33\nvalue = [31, 0, 2]\nclass = Low'), Text(0.004042086382781096, 0.6911764705882353, 'gini = 0.0\nsamples = 24\nvalue = [24, 0, 0]\nclass = Low'), Text(0.004452060278974425, 0.6911764705882353, 'GameGenre_Sports <= 0.5\ngini = 0.346\nsamples = 9\nvalue = [7, 0, 2]\nclass = Low'), Text(0.004247073330877761, 0.6617647058823529, 'PlayTimeHours <= 23.038\ngini = 0.219\nsamples = 8\nvalue = [7, 0, 1]\nclass = Low'), Text(0.004042086382781096, 0.6323529411764706, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.004452060278974425, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.004657047227071089, 0.6617647058823529, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0050670211232644174, 0.7205882352941176, 'GameGenre_Strategy <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.004862034175167753, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.005272008071361081, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.00568198196755441, 0.75, 'Age <= 24.5\ngini = 0.5\nsamples = 8\nvalue = [4, 0, 4]\nclass = Low'), Text(0.0054769950194577454, 0.7205882352941176, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4]\nclass = High'), Text(0.005886968915651073, 0.7205882352941176, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.03926465936934484, 0.8088235294117647, 'GameDifficulty_Hard <= 0.5\ngini = 0.114\nsamples = 2705\nvalue = [2544, 83, 78]\nclass = Low'), Text(0.027859107506045512, 0.7794117647058824, 'PlayTimeHours <= 23.979\ngini = 0.123\nsamples = 2166\nvalue = [2026, 73, 67]\nclass = Low'), Text(0.021292018320708487, 0.75, 'AvgSessionDurationMinutes <= 31.5\ngini = 0.122\nsamples = 2164\nvalue = [2025, 72, 67]\nclass = Low'), Text(0.008772800794324425, 0.7205882352941176, 'PlayTimeHours <= 0.397\ngini = 0.174\nsamples = 267\nvalue = [242.0, 14.0, 11.0]\nclass = Low'), Text(0.00856781384622776, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.008977787742421087, 0.6911764705882353, 'Age <= 15.5\ngini = 0.168\nsamples = 266\nvalue = [242, 13, 11]\nclass = Low'), Text(0.0074051534999919925, 0.6617647058823529, 'PlayerLevel <= 40.0\ngini = 0.611\nsamples = 6\nvalue = [3, 1, 2]\nclass = Low'), Text(0.007200166551895329, 0.6323529411764706, 'GameGenre_RPG <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [0, 1, 2]\nclass = High'), Text(0.0069951796037986645, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0074051534999919925, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.007610140448088657, 0.6323529411764706, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.010550421984850183, 0.6617647058823529, 'PlayTimeHours <= 19.714\ngini = 0.152\nsamples = 260\nvalue = [239, 12, 9]\nclass = Low'), Text(0.009057860769021348, 0.6323529411764706, 'PlayerLevel <= 74.5\ngini = 0.122\nsamples = 203\nvalue = [190, 6, 7]\nclass = Low'), Text(0.00781512739618532, 0.6029411764705882, 'SessionsPerWeek <= 0.5\ngini = 0.101\nsamples = 190\nvalue = [180, 5, 5]\nclass = Low'), Text(0.006559582339093253, 0.5735294117647058, 'GameGenre_Sports <= 0.5\ngini = 0.185\nsamples = 90\nvalue = [81, 4, 5]\nclass = Low'), Text(0.0054834008615857665, 0.5441176470588235, 'Age <= 32.5\ngini = 0.127\nsamples = 74\nvalue = [69, 1, 4]\nclass = Low'), Text(0.0049709334913441055, 0.5147058823529411, 'GameGenre_RPG <= 0.5\ngini = 0.05\nsamples = 39\nvalue = [38, 1, 0]\nclass = Low'), Text(0.004765946543247442, 0.4852941176470588, 'gini = 0.0\nsamples = 33\nvalue = [33, 0, 0]\nclass = Low'), Text(0.00517592043944077, 0.4852941176470588, 'Location_Europe <= 0.5\ngini = 0.278\nsamples = 6\nvalue = [5, 1, 0]\nclass = Low'), Text(0.0049709334913441055, 0.45588235294117646, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.005380907387537434, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.005995868231827427, 0.5147058823529411, 'Age <= 33.5\ngini = 0.202\nsamples = 35\nvalue = [31, 0, 4]\nclass = Low'), Text(0.005790881283730762, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.006200855179924091, 0.4852941176470588, 'InGamePurchases <= 0.5\ngini = 0.161\nsamples = 34\nvalue = [31, 0, 3]\nclass = Low'), Text(0.005790881283730762, 0.45588235294117646, 'PlayTimeHours <= 4.097\ngini = 0.071\nsamples = 27\nvalue = [26, 0, 1]\nclass = Low'), Text(0.005585894335634098, 0.4264705882352941, 'PlayTimeHours <= 3.563\ngini = 0.32\nsamples = 5\nvalue = [4, 0, 1]\nclass = Low'), Text(0.005380907387537434, 0.39705882352941174, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.005790881283730762, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.005995868231827427, 0.4264705882352941, 'gini = 0.0\nsamples = 22\nvalue = [22, 0, 0]\nclass = Low'), Text(0.006610829076117419, 0.45588235294117646, 'Age <= 39.5\ngini = 0.408\nsamples = 7\nvalue = [5, 0, 2]\nclass = Low'), Text(0.006405842128020755, 0.4264705882352941, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.006815816024214084, 0.4264705882352941, 'PlayTimeHours <= 9.297\ngini = 0.5\nsamples = 4\nvalue = [2, 0, 2]\nclass = Low'), Text(0.006610829076117419, 0.39705882352941174, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.007020802972310747, 0.39705882352941174, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.0076357638166007396, 0.5441176470588235, 'PlayTimeHours <= 7.953\ngini = 0.398\nsamples = 16\nvalue = [12, 3, 1]\nclass = Low'), Text(0.007020802972310747, 0.5147058823529411, 'Age <= 16.5\ngini = 0.5\nsamples = 6\nvalue = [3, 3, 0]\nclass = Low'), Text(0.006815816024214084, 0.4852941176470588, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.007225789920407412, 0.4852941176470588, 'AvgSessionDurationMinutes <= 23.5\ngini = 0.375\nsamples = 4\nvalue = [1, 3, 0]\nclass = Medium'), Text(0.007020802972310747, 0.45588235294117646, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0]\nclass = Medium'), Text(0.007430776868504076, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.008250724660890732, 0.5147058823529411, 'AvgSessionDurationMinutes <= 11.0\ngini = 0.18\nsamples = 10\nvalue = [9, 0, 1]\nclass = Low'), Text(0.008045737712794068, 0.4852941176470588, 'Age <= 36.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.007840750764697405, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.008250724660890732, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.008455711608987396, 0.4852941176470588, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.00907067245327739, 0.5735294117647058, 'PlayerLevel <= 2.5\ngini = 0.02\nsamples = 100\nvalue = [99, 1, 0]\nclass = Low'), Text(0.008865685505180725, 0.5441176470588235, 'Age <= 29.0\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.00866069855708406, 0.5147058823529411, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.00907067245327739, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.009275659401374052, 0.5441176470588235, 'gini = 0.0\nsamples = 97\nvalue = [97, 0, 0]\nclass = Low'), Text(0.010300594141857375, 0.6029411764705882, 'GameGenre_Sports <= 0.5\ngini = 0.379\nsamples = 13\nvalue = [10, 1, 2]\nclass = Low'), Text(0.009890620245664046, 0.5735294117647058, 'AchievementsUnlocked <= 45.5\ngini = 0.165\nsamples = 11\nvalue = [10, 0, 1]\nclass = Low'), Text(0.009685633297567381, 0.5441176470588235, 'gini = 0.0\nsamples = 10\nvalue = [10, 0, 0]\nclass = Low'), Text(0.01009560719376071, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.010710568038050702, 0.5735294117647058, 'AvgSessionDurationMinutes <= 16.5\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1]\nclass = Medium'), Text(0.010505581089954037, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.010915554986147366, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.012042983200679019, 0.6323529411764706, 'PlayTimeHours <= 19.722\ngini = 0.249\nsamples = 57\nvalue = [49, 6, 2]\nclass = Low'), Text(0.011837996252582354, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.012247970148775683, 0.6029411764705882, 'GameGenre_Strategy <= 0.5\ngini = 0.225\nsamples = 56\nvalue = [49, 5, 2]\nclass = Low'), Text(0.011735502778534024, 0.5735294117647058, 'GameGenre_RPG <= 0.5\ngini = 0.159\nsamples = 47\nvalue = [43, 2, 2]\nclass = Low'), Text(0.011325528882340695, 0.5441176470588235, 'Location_Other <= 0.5\ngini = 0.054\nsamples = 36\nvalue = [35, 0, 1]\nclass = Low'), Text(0.01112054193424403, 0.5147058823529411, 'gini = 0.0\nsamples = 34\nvalue = [34, 0, 0]\nclass = Low'), Text(0.01153051583043736, 0.5147058823529411, 'Age <= 29.0\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.011325528882340695, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.011735502778534024, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.012145476674727351, 0.5441176470588235, 'GameDifficulty_Medium <= 0.5\ngini = 0.43\nsamples = 11\nvalue = [8, 2, 1]\nclass = Low'), Text(0.011940489726630686, 0.5147058823529411, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.012350463622824015, 0.5147058823529411, 'AchievementsUnlocked <= 19.5\ngini = 0.625\nsamples = 4\nvalue = [1, 2, 1]\nclass = Medium'), Text(0.012145476674727351, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.01255545057092068, 0.4852941176470588, 'PlayerLevel <= 12.0\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.012350463622824015, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.012760437519017344, 0.45588235294117646, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.012760437519017344, 0.5735294117647058, 'PlayerLevel <= 45.5\ngini = 0.444\nsamples = 9\nvalue = [6, 3, 0]\nclass = Low'), Text(0.01255545057092068, 0.5441176470588235, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.012965424467114009, 0.5441176470588235, 'InGamePurchases <= 0.5\ngini = 0.48\nsamples = 5\nvalue = [2, 3, 0]\nclass = Medium'), Text(0.012760437519017344, 0.5147058823529411, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0]\nclass = Medium'), Text(0.013170411415210671, 0.5147058823529411, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.03381123584709255, 0.7205882352941176, 'SessionsPerWeek <= 0.5\ngini = 0.115\nsamples = 1897\nvalue = [1783, 58, 56]\nclass = Low'), Text(0.02732692215300354, 0.6911764705882353, 'PlayerLevel <= 68.5\ngini = 0.097\nsamples = 933\nvalue = [886, 19, 28]\nclass = Low'), Text(0.024315775987700784, 0.6617647058823529, 'PlayerLevel <= 67.5\ngini = 0.105\nsamples = 818\nvalue = [773, 17, 28]\nclass = Low'), Text(0.019523405345675256, 0.6323529411764706, 'AchievementsUnlocked <= 8.5\ngini = 0.102\nsamples = 809\nvalue = [766.0, 16.0, 27.0]\nclass = Low'), Text(0.015066540685104816, 0.6029411764705882, 'PlayTimeHours <= 22.283\ngini = 0.169\nsamples = 66\nvalue = [60, 4, 2]\nclass = Low'), Text(0.014502826577838988, 0.5735294117647058, 'Location_Other <= 0.5\ngini = 0.127\nsamples = 60\nvalue = [56, 2, 2]\nclass = Low'), Text(0.013990359207597329, 0.5441176470588235, 'AchievementsUnlocked <= 7.5\ngini = 0.101\nsamples = 57\nvalue = [54, 2, 1]\nclass = Low'), Text(0.013580385311404, 0.5147058823529411, 'PlayTimeHours <= 3.181\ngini = 0.053\nsamples = 37\nvalue = [36, 0, 1]\nclass = Low'), Text(0.013375398363307336, 0.4852941176470588, 'Age <= 26.5\ngini = 0.32\nsamples = 5\nvalue = [4, 0, 1]\nclass = Low'), Text(0.013170411415210671, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.013580385311404, 0.45588235294117646, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.013785372259500665, 0.4852941176470588, 'gini = 0.0\nsamples = 32\nvalue = [32, 0, 0]\nclass = Low'), Text(0.014400333103790658, 0.5147058823529411, 'PlayTimeHours <= 12.347\ngini = 0.18\nsamples = 20\nvalue = [18, 2, 0]\nclass = Low'), Text(0.014195346155693993, 0.4852941176470588, 'gini = 0.0\nsamples = 10\nvalue = [10, 0, 0]\nclass = Low'), Text(0.01460532005188732, 0.4852941176470588, 'PlayTimeHours <= 12.918\ngini = 0.32\nsamples = 10\nvalue = [8, 2, 0]\nclass = Low'), Text(0.014400333103790658, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.014810306999983985, 0.45588235294117646, 'AvgSessionDurationMinutes <= 164.0\ngini = 0.198\nsamples = 9\nvalue = [8, 1, 0]\nclass = Low'), Text(0.01460532005188732, 0.4264705882352941, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.01501529394808065, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.01501529394808065, 0.5441176470588235, 'AvgSessionDurationMinutes <= 112.5\ngini = 0.444\nsamples = 3\nvalue = [2, 0, 1]\nclass = Low'), Text(0.014810306999983985, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.015220280896177314, 0.5147058823529411, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.01563025479237064, 0.5735294117647058, 'PlayerLevel <= 53.0\ngini = 0.444\nsamples = 6\nvalue = [4, 2, 0]\nclass = Low'), Text(0.015425267844273978, 0.5441176470588235, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.015835241740467305, 0.5441176470588235, 'AchievementsUnlocked <= 7.0\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.01563025479237064, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.01604022868856397, 0.5147058823529411, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.023980270006245696, 0.6029411764705882, 'Age <= 41.5\ngini = 0.096\nsamples = 743\nvalue = [706, 12, 25]\nclass = Low'), Text(0.01926236727895841, 0.5735294117647058, 'PlayTimeHours <= 11.01\ngini = 0.092\nsamples = 584\nvalue = [556, 5, 23]\nclass = Low'), Text(0.017295773745656037, 0.5441176470588235, 'Age <= 34.5\ngini = 0.053\nsamples = 257\nvalue = [250, 2, 5]\nclass = Low'), Text(0.0164502025847573, 0.5147058823529411, 'AchievementsUnlocked <= 37.5\ngini = 0.021\nsamples = 188\nvalue = [186, 1, 1]\nclass = Low'), Text(0.016245215636660634, 0.4852941176470588, 'gini = 0.0\nsamples = 134\nvalue = [134, 0, 0]\nclass = Low'), Text(0.016655189532853963, 0.4852941176470588, 'AchievementsUnlocked <= 39.5\ngini = 0.072\nsamples = 54\nvalue = [52, 1, 1]\nclass = Low'), Text(0.0164502025847573, 0.45588235294117646, 'GameGenre_Strategy <= 0.5\ngini = 0.292\nsamples = 12\nvalue = [10, 1, 1]\nclass = Low'), Text(0.016245215636660634, 0.4264705882352941, 'PlayerLevel <= 50.0\ngini = 0.165\nsamples = 11\nvalue = [10, 1, 0]\nclass = Low'), Text(0.01604022868856397, 0.39705882352941174, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.0164502025847573, 0.39705882352941174, 'Age <= 21.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.016245215636660634, 0.36764705882352944, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.016655189532853963, 0.36764705882352944, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.016655189532853963, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.016860176480950628, 0.45588235294117646, 'gini = 0.0\nsamples = 42\nvalue = [42, 0, 0]\nclass = Low'), Text(0.01814134490655478, 0.5147058823529411, 'Age <= 35.5\ngini = 0.136\nsamples = 69\nvalue = [64, 1, 4]\nclass = Low'), Text(0.01747513732524062, 0.4852941176470588, 'AchievementsUnlocked <= 16.5\ngini = 0.346\nsamples = 9\nvalue = [7, 0, 2]\nclass = Low'), Text(0.017270150377143956, 0.45588235294117646, 'PlayerLevel <= 51.0\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.017065163429047292, 0.4264705882352941, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.01747513732524062, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.017680124273337285, 0.45588235294117646, 'gini = 0.0\nsamples = 6\nvalue = [6, 0, 0]\nclass = Low'), Text(0.018807552487868938, 0.4852941176470588, 'AvgSessionDurationMinutes <= 176.0\ngini = 0.096\nsamples = 60\nvalue = [57, 1, 2]\nclass = Low'), Text(0.018295085117627275, 0.45588235294117646, 'AvgSessionDurationMinutes <= 46.5\ngini = 0.067\nsamples = 58\nvalue = [56, 1, 1]\nclass = Low'), Text(0.017885111221433946, 0.4264705882352941, 'AchievementsUnlocked <= 31.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.017680124273337285, 0.39705882352941174, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.01809009816953061, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.018705059013820604, 0.4264705882352941, 'PlayerLevel <= 8.5\ngini = 0.036\nsamples = 55\nvalue = [54, 0, 1]\nclass = Low'), Text(0.01850007206572394, 0.39705882352941174, 'PlayerLevel <= 6.5\ngini = 0.444\nsamples = 3\nvalue = [2, 0, 1]\nclass = Low'), Text(0.018295085117627275, 0.36764705882352944, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.018705059013820604, 0.36764705882352944, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.01891004596191727, 0.39705882352941174, 'gini = 0.0\nsamples = 52\nvalue = [52, 0, 0]\nclass = Low'), Text(0.019320019858110597, 0.45588235294117646, 'AvgSessionDurationMinutes <= 177.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.019115032910013933, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.01952500680620726, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.02122896081226078, 0.5441176470588235, 'PlayTimeHours <= 11.029\ngini = 0.121\nsamples = 327\nvalue = [306, 3, 18]\nclass = Low'), Text(0.021023973864164117, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.021433947760357445, 0.5147058823529411, 'AvgSessionDurationMinutes <= 41.5\ngini = 0.116\nsamples = 326\nvalue = [306, 3, 17]\nclass = Low'), Text(0.02034495459859392, 0.4852941176470588, 'AvgSessionDurationMinutes <= 39.0\ngini = 0.337\nsamples = 14\nvalue = [11, 0, 3]\nclass = Low'), Text(0.020139967650497255, 0.45588235294117646, 'Age <= 40.5\ngini = 0.153\nsamples = 12\nvalue = [11, 0, 1]\nclass = Low'), Text(0.01993498070240059, 0.4264705882352941, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.02034495459859392, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.02054994154669058, 0.45588235294117646, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.022522940922120975, 0.4852941176470588, 'PlayTimeHours <= 13.176\ngini = 0.104\nsamples = 312\nvalue = [295, 3, 14]\nclass = Low'), Text(0.02095991544288391, 0.45588235294117646, 'PlayTimeHours <= 13.112\ngini = 0.215\nsamples = 59\nvalue = [52, 2, 5]\nclass = Low'), Text(0.020754928494787245, 0.4264705882352941, 'PlayerLevel <= 2.5\ngini = 0.188\nsamples = 58\nvalue = [52, 1, 5]\nclass = Low'), Text(0.02054994154669058, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.02095991544288391, 0.39705882352941174, 'AvgSessionDurationMinutes <= 92.0\ngini = 0.163\nsamples = 57\nvalue = [52, 1, 4]\nclass = Low'), Text(0.02044744807264225, 0.36764705882352944, 'GameDifficulty_Medium <= 0.5\ngini = 0.36\nsamples = 17\nvalue = [13, 0, 4]\nclass = Low'), Text(0.02003747417644892, 0.3382352941176471, 'PlayerLevel <= 14.5\ngini = 0.245\nsamples = 14\nvalue = [12, 0, 2]\nclass = Low'), Text(0.019832487228352257, 0.3088235294117647, 'AchievementsUnlocked <= 39.0\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.019627500280255592, 0.27941176470588236, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.02003747417644892, 0.27941176470588236, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.020242461124545585, 0.3088235294117647, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.02085742196883558, 0.3382352941176471, 'Gender_Male <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.020652435020738914, 0.3088235294117647, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.021062408916932243, 0.3088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.021472382813125572, 0.36764705882352944, 'AchievementsUnlocked <= 38.5\ngini = 0.049\nsamples = 40\nvalue = [39, 1, 0]\nclass = Low'), Text(0.021267395865028908, 0.3382352941176471, 'gini = 0.0\nsamples = 34\nvalue = [34, 0, 0]\nclass = Low'), Text(0.021677369761222233, 0.3382352941176471, 'Location_USA <= 0.5\ngini = 0.278\nsamples = 6\nvalue = [5, 1, 0]\nclass = Low'), Text(0.021472382813125572, 0.3088235294117647, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.021882356709318897, 0.3088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.021164902390980574, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.024085966401358037, 0.45588235294117646, 'PlayerLevel <= 38.5\ngini = 0.076\nsamples = 253\nvalue = [243.0, 1.0, 9.0]\nclass = Low'), Text(0.02290729144980222, 0.4264705882352941, 'Age <= 19.5\ngini = 0.027\nsamples = 145\nvalue = [143, 0, 2]\nclass = Low'), Text(0.022702304501705555, 0.39705882352941174, 'AvgSessionDurationMinutes <= 170.5\ngini = 0.128\nsamples = 29\nvalue = [27, 0, 2]\nclass = Low'), Text(0.022292330605512226, 0.36764705882352944, 'AchievementsUnlocked <= 33.5\ngini = 0.071\nsamples = 27\nvalue = [26, 0, 1]\nclass = Low'), Text(0.022087343657415562, 0.3382352941176471, 'gini = 0.0\nsamples = 19\nvalue = [19, 0, 0]\nclass = Low'), Text(0.02249731755360889, 0.3382352941176471, 'AchievementsUnlocked <= 34.5\ngini = 0.219\nsamples = 8\nvalue = [7, 0, 1]\nclass = Low'), Text(0.022292330605512226, 0.3088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.022702304501705555, 0.3088235294117647, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.023112278397898884, 0.36764705882352944, 'AvgSessionDurationMinutes <= 175.0\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.02290729144980222, 0.3382352941176471, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.02331726534599555, 0.3382352941176471, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.023112278397898884, 0.39705882352941174, 'gini = 0.0\nsamples = 116\nvalue = [116, 0, 0]\nclass = Low'), Text(0.02526464135291386, 0.4264705882352941, 'PlayerLevel <= 42.5\ngini = 0.138\nsamples = 108\nvalue = [100, 1, 7]\nclass = Low'), Text(0.024342200086478867, 0.39705882352941174, 'AvgSessionDurationMinutes <= 79.5\ngini = 0.461\nsamples = 16\nvalue = [11, 1, 4]\nclass = Low'), Text(0.02393222619028554, 0.36764705882352944, 'PlayerLevel <= 40.5\ngini = 0.625\nsamples = 4\nvalue = [1, 1, 2]\nclass = High'), Text(0.023727239242188877, 0.3382352941176471, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.024137213138382206, 0.3382352941176471, 'PlayTimeHours <= 19.349\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.02393222619028554, 0.3088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.024342200086478867, 0.3088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.024752173982672196, 0.36764705882352944, 'AvgSessionDurationMinutes <= 155.0\ngini = 0.278\nsamples = 12\nvalue = [10, 0, 2]\nclass = Low'), Text(0.02454718703457553, 0.3382352941176471, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.02495716093076886, 0.3382352941176471, 'Location_USA <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.024752173982672196, 0.3088235294117647, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.025162147878865525, 0.3088235294117647, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.026187082619348847, 0.39705882352941174, 'PlayTimeHours <= 15.893\ngini = 0.063\nsamples = 92\nvalue = [89, 0, 3]\nclass = Low'), Text(0.025982095671252183, 0.36764705882352944, 'PlayTimeHours <= 15.826\ngini = 0.255\nsamples = 20\nvalue = [17, 0, 3]\nclass = Low'), Text(0.025777108723155518, 0.3382352941176471, 'InGamePurchases <= 0.5\ngini = 0.188\nsamples = 19\nvalue = [17, 0, 2]\nclass = Low'), Text(0.025572121775058854, 0.3088235294117647, 'gini = 0.0\nsamples = 15\nvalue = [15, 0, 0]\nclass = Low'), Text(0.025982095671252183, 0.3088235294117647, 'Age <= 26.5\ngini = 0.5\nsamples = 4\nvalue = [2, 0, 2]\nclass = Low'), Text(0.025777108723155518, 0.27941176470588236, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.026187082619348847, 0.27941176470588236, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.026187082619348847, 0.3382352941176471, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.02639206956744551, 0.36764705882352944, 'gini = 0.0\nsamples = 72\nvalue = [72, 0, 0]\nclass = Low'), Text(0.028698172733532982, 0.5735294117647058, 'AvgSessionDurationMinutes <= 170.5\ngini = 0.108\nsamples = 159\nvalue = [150.0, 7.0, 2.0]\nclass = Low'), Text(0.02772448473007383, 0.5441176470588235, 'PlayerLevel <= 11.5\ngini = 0.08\nsamples = 144\nvalue = [138, 5, 1]\nclass = Low'), Text(0.026597056515542176, 0.5147058823529411, 'AchievementsUnlocked <= 9.5\ngini = 0.207\nsamples = 35\nvalue = [31, 3, 1]\nclass = Low'), Text(0.025982095671252183, 0.4852941176470588, 'GameGenre_Strategy <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.025777108723155518, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.026187082619348847, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.027212017359832166, 0.4852941176470588, 'PlayTimeHours <= 18.225\ngini = 0.165\nsamples = 33\nvalue = [30, 3, 0]\nclass = Low'), Text(0.026597056515542176, 0.45588235294117646, 'GameGenre_Sports <= 0.5\ngini = 0.077\nsamples = 25\nvalue = [24, 1, 0]\nclass = Low'), Text(0.02639206956744551, 0.4264705882352941, 'gini = 0.0\nsamples = 22\nvalue = [22, 0, 0]\nclass = Low'), Text(0.02680204346363884, 0.4264705882352941, 'GameDifficulty_Medium <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.026597056515542176, 0.39705882352941174, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.0270070304117355, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.02782697820412216, 0.45588235294117646, 'AchievementsUnlocked <= 24.5\ngini = 0.375\nsamples = 8\nvalue = [6, 2, 0]\nclass = Low'), Text(0.027621991256025494, 0.4264705882352941, 'AchievementsUnlocked <= 12.5\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.02741700430792883, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.02782697820412216, 0.39705882352941174, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.028031965152218823, 0.4264705882352941, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.02885191294460548, 0.5147058823529411, 'Age <= 42.5\ngini = 0.036\nsamples = 109\nvalue = [107, 2, 0]\nclass = Low'), Text(0.028441939048412152, 0.4852941176470588, 'PlayTimeHours <= 3.833\ngini = 0.198\nsamples = 9\nvalue = [8, 1, 0]\nclass = Low'), Text(0.028236952100315488, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.028646925996508817, 0.45588235294117646, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.02926188684079881, 0.4852941176470588, 'GameGenre_Strategy <= 0.5\ngini = 0.02\nsamples = 100\nvalue = [99, 1, 0]\nclass = Low'), Text(0.029056899892702145, 0.45588235294117646, 'gini = 0.0\nsamples = 80\nvalue = [80, 0, 0]\nclass = Low'), Text(0.029466873788895474, 0.45588235294117646, 'AchievementsUnlocked <= 34.0\ngini = 0.095\nsamples = 20\nvalue = [19, 1, 0]\nclass = Low'), Text(0.02926188684079881, 0.4264705882352941, 'gini = 0.0\nsamples = 15\nvalue = [15, 0, 0]\nclass = Low'), Text(0.029671860736992135, 0.4264705882352941, 'AvgSessionDurationMinutes <= 95.5\ngini = 0.32\nsamples = 5\nvalue = [4, 1, 0]\nclass = Low'), Text(0.029466873788895474, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0298768476850888, 0.39705882352941174, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.029671860736992135, 0.5441176470588235, 'AvgSessionDurationMinutes <= 171.5\ngini = 0.338\nsamples = 15\nvalue = [12, 2, 1]\nclass = Low'), Text(0.029466873788895474, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0298768476850888, 0.5147058823529411, 'GameGenre_RPG <= 0.5\ngini = 0.245\nsamples = 14\nvalue = [12, 2, 0]\nclass = Low'), Text(0.029671860736992135, 0.4852941176470588, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.030081834633185464, 0.4852941176470588, 'PlayTimeHours <= 11.153\ngini = 0.48\nsamples = 5\nvalue = [3, 2, 0]\nclass = Low'), Text(0.0298768476850888, 0.45588235294117646, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.03028682158128213, 0.45588235294117646, 'PlayTimeHours <= 20.539\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.030081834633185464, 0.4264705882352941, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.030491808529378793, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.02910814662972631, 0.6323529411764706, 'AvgSessionDurationMinutes <= 47.0\ngini = 0.37\nsamples = 9\nvalue = [7, 1, 1]\nclass = Low'), Text(0.028903159681629646, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.029313133577822975, 0.6029411764705882, 'AvgSessionDurationMinutes <= 152.0\ngini = 0.219\nsamples = 8\nvalue = [7, 0, 1]\nclass = Low'), Text(0.02910814662972631, 0.5735294117647058, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.02951812052591964, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.030338068318306294, 0.6617647058823529, 'PlayTimeHours <= 1.713\ngini = 0.034\nsamples = 115\nvalue = [113, 2, 0]\nclass = Low'), Text(0.02992809442211297, 0.6323529411764706, 'PlayTimeHours <= 1.655\ngini = 0.198\nsamples = 9\nvalue = [8, 1, 0]\nclass = Low'), Text(0.029723107474016304, 0.6029411764705882, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.030133081370209633, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.030748042214499623, 0.6323529411764706, 'AvgSessionDurationMinutes <= 56.5\ngini = 0.019\nsamples = 106\nvalue = [105, 1, 0]\nclass = Low'), Text(0.030543055266402958, 0.6029411764705882, 'AvgSessionDurationMinutes <= 55.0\ngini = 0.111\nsamples = 17\nvalue = [16, 1, 0]\nclass = Low'), Text(0.030338068318306294, 0.5735294117647058, 'gini = 0.0\nsamples = 15\nvalue = [15, 0, 0]\nclass = Low'), Text(0.030748042214499623, 0.5735294117647058, 'Age <= 24.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.030543055266402958, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.030953029162596287, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.030953029162596287, 0.6029411764705882, 'gini = 0.0\nsamples = 89\nvalue = [89, 0, 0]\nclass = Low'), Text(0.04029554954118156, 0.6911764705882353, 'PlayTimeHours <= 9.071\ngini = 0.132\nsamples = 964\nvalue = [897, 39, 28]\nclass = Low'), Text(0.03837659945870634, 0.6617647058823529, 'PlayTimeHours <= 8.922\ngini = 0.174\nsamples = 342\nvalue = [310, 18, 14]\nclass = Low'), Text(0.03724196467178066, 0.6323529411764706, 'AvgSessionDurationMinutes <= 170.5\ngini = 0.157\nsamples = 335\nvalue = [307, 17, 11]\nclass = Low'), Text(0.0358951363643643, 0.6029411764705882, 'Age <= 47.5\ngini = 0.144\nsamples = 315\nvalue = [291, 13, 11]\nclass = Low'), Text(0.03473888186025655, 0.5735294117647058, 'AchievementsUnlocked <= 31.5\ngini = 0.132\nsamples = 302\nvalue = [281, 10, 11]\nclass = Low'), Text(0.033656294540621044, 0.5441176470588235, 'AchievementsUnlocked <= 30.5\ngini = 0.181\nsamples = 195\nvalue = [176, 8, 11]\nclass = Low'), Text(0.032721041589930014, 0.5147058823529411, 'PlayTimeHours <= 7.037\ngini = 0.15\nsamples = 188\nvalue = [173.0, 6.0, 9.0]\nclass = Low'), Text(0.03167048348093461, 0.4852941176470588, 'AvgSessionDurationMinutes <= 33.5\ngini = 0.125\nsamples = 152\nvalue = [142, 6, 4]\nclass = Low'), Text(0.031106769373668786, 0.45588235294117646, 'PlayerLevel <= 47.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.030901782425572122, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.03131175632176545, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.03223419758820044, 0.45588235294117646, 'PlayerLevel <= 2.0\ngini = 0.115\nsamples = 150\nvalue = [141, 5, 4]\nclass = Low'), Text(0.03172173021795878, 0.4264705882352941, 'Location_USA <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.03151674326986211, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.03192671716605544, 0.39705882352941174, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.0327466649584421, 0.4264705882352941, 'PlayTimeHours <= 0.407\ngini = 0.104\nsamples = 148\nvalue = [140, 4, 4]\nclass = Low'), Text(0.03233669106224877, 0.39705882352941174, 'Age <= 35.0\ngini = 0.444\nsamples = 3\nvalue = [2, 0, 1]\nclass = Low'), Text(0.03213170411415211, 0.36764705882352944, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.03254167801034544, 0.36764705882352944, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.03315663885463543, 0.39705882352941174, 'AvgSessionDurationMinutes <= 103.5\ngini = 0.093\nsamples = 145\nvalue = [138, 4, 3]\nclass = Low'), Text(0.032951651906538766, 0.36764705882352944, 'AvgSessionDurationMinutes <= 90.5\ngini = 0.163\nsamples = 80\nvalue = [73, 4, 3]\nclass = Low'), Text(0.03213170411415211, 0.3382352941176471, 'PlayerLevel <= 47.5\ngini = 0.097\nsamples = 59\nvalue = [56, 3, 0]\nclass = Low'), Text(0.03192671716605544, 0.3088235294117647, 'gini = 0.0\nsamples = 32\nvalue = [32, 0, 0]\nclass = Low'), Text(0.03233669106224877, 0.3088235294117647, 'PlayerLevel <= 51.5\ngini = 0.198\nsamples = 27\nvalue = [24, 3, 0]\nclass = Low'), Text(0.03192671716605544, 0.27941176470588236, 'AchievementsUnlocked <= 15.0\ngini = 0.48\nsamples = 5\nvalue = [3, 2, 0]\nclass = Low'), Text(0.03172173021795878, 0.25, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.03213170411415211, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.0327466649584421, 0.27941176470588236, 'GameGenre_Strategy <= 0.5\ngini = 0.087\nsamples = 22\nvalue = [21, 1, 0]\nclass = Low'), Text(0.03254167801034544, 0.25, 'gini = 0.0\nsamples = 19\nvalue = [19, 0, 0]\nclass = Low'), Text(0.032951651906538766, 0.25, 'Age <= 39.0\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.0327466649584421, 0.22058823529411764, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.03315663885463543, 0.22058823529411764, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.03377159969892542, 0.3382352941176471, 'GameGenre_RPG <= 0.5\ngini = 0.322\nsamples = 21\nvalue = [17, 1, 3]\nclass = Low'), Text(0.033361625802732095, 0.3088235294117647, 'GameGenre_Strategy <= 0.5\ngini = 0.198\nsamples = 18\nvalue = [16, 0, 2]\nclass = Low'), Text(0.03315663885463543, 0.27941176470588236, 'gini = 0.0\nsamples = 14\nvalue = [14, 0, 0]\nclass = Low'), Text(0.033566612750828756, 0.27941176470588236, 'Age <= 19.5\ngini = 0.5\nsamples = 4\nvalue = [2, 0, 2]\nclass = Low'), Text(0.033361625802732095, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.03377159969892542, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.034181573595118746, 0.3088235294117647, 'PlayTimeHours <= 3.741\ngini = 0.667\nsamples = 3\nvalue = [1, 1, 1]\nclass = Low'), Text(0.033976586647022085, 0.27941176470588236, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.034386560543215414, 0.27941176470588236, 'AvgSessionDurationMinutes <= 97.0\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.034181573595118746, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.034591547491312075, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.033361625802732095, 0.36764705882352944, 'gini = 0.0\nsamples = 65\nvalue = [65, 0, 0]\nclass = Low'), Text(0.03377159969892542, 0.4852941176470588, 'PlayTimeHours <= 7.275\ngini = 0.239\nsamples = 36\nvalue = [31, 0, 5]\nclass = Low'), Text(0.033361625802732095, 0.45588235294117646, 'Age <= 34.0\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.03315663885463543, 0.4264705882352941, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.033566612750828756, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.034181573595118746, 0.45588235294117646, 'Age <= 31.5\ngini = 0.165\nsamples = 33\nvalue = [30, 0, 3]\nclass = Low'), Text(0.033976586647022085, 0.4264705882352941, 'AchievementsUnlocked <= 16.5\ngini = 0.32\nsamples = 15\nvalue = [12, 0, 3]\nclass = Low'), Text(0.03377159969892542, 0.39705882352941174, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.034181573595118746, 0.39705882352941174, 'PlayerLevel <= 9.5\ngini = 0.469\nsamples = 8\nvalue = [5, 0, 3]\nclass = Low'), Text(0.033976586647022085, 0.36764705882352944, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.034386560543215414, 0.36764705882352944, 'PlayerLevel <= 57.0\ngini = 0.48\nsamples = 5\nvalue = [2, 0, 3]\nclass = High'), Text(0.034181573595118746, 0.3382352941176471, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3]\nclass = High'), Text(0.034591547491312075, 0.3382352941176471, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.034386560543215414, 0.4264705882352941, 'gini = 0.0\nsamples = 18\nvalue = [18, 0, 0]\nclass = Low'), Text(0.034591547491312075, 0.5147058823529411, 'PlayTimeHours <= 3.714\ngini = 0.653\nsamples = 7\nvalue = [3, 2, 2]\nclass = Low'), Text(0.034386560543215414, 0.4852941176470588, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.03479653443940874, 0.4852941176470588, 'PlayTimeHours <= 6.388\ngini = 0.5\nsamples = 4\nvalue = [0, 2, 2]\nclass = Medium'), Text(0.034591547491312075, 0.45588235294117646, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.035001521387505403, 0.45588235294117646, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.03582146917989206, 0.5441176470588235, 'PlayerLevel <= 75.5\ngini = 0.037\nsamples = 107\nvalue = [105.0, 2.0, 0.0]\nclass = Low'), Text(0.03541149528369873, 0.5147058823529411, 'PlayTimeHours <= 8.015\ngini = 0.019\nsamples = 104\nvalue = [103, 1, 0]\nclass = Low'), Text(0.03520650833560207, 0.4852941176470588, 'gini = 0.0\nsamples = 93\nvalue = [93, 0, 0]\nclass = Low'), Text(0.0356164822317954, 0.4852941176470588, 'PlayTimeHours <= 8.197\ngini = 0.165\nsamples = 11\nvalue = [10, 1, 0]\nclass = Low'), Text(0.03541149528369873, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.03582146917989206, 0.45588235294117646, 'gini = 0.0\nsamples = 10\nvalue = [10, 0, 0]\nclass = Low'), Text(0.03623144307608539, 0.5147058823529411, 'Age <= 26.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.03602645612798873, 0.4852941176470588, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.03643643002418205, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.03705139086847205, 0.5735294117647058, 'Gender_Male <= 0.5\ngini = 0.355\nsamples = 13\nvalue = [10, 3, 0]\nclass = Low'), Text(0.03684640392037538, 0.5441176470588235, 'Location_USA <= 0.5\ngini = 0.5\nsamples = 6\nvalue = [3, 3, 0]\nclass = Low'), Text(0.03664141697227872, 0.5147058823529411, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0]\nclass = Medium'), Text(0.03705139086847205, 0.5147058823529411, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.03725637781656871, 0.5441176470588235, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.038588792979197026, 0.6029411764705882, 'PlayerLevel <= 72.0\ngini = 0.32\nsamples = 20\nvalue = [16, 4, 0]\nclass = Low'), Text(0.038076325608955366, 0.5735294117647058, 'GameGenre_Sports <= 0.5\ngini = 0.208\nsamples = 17\nvalue = [15, 2, 0]\nclass = Low'), Text(0.03766635171276204, 0.5441176470588235, 'AchievementsUnlocked <= 9.5\ngini = 0.124\nsamples = 15\nvalue = [14, 1, 0]\nclass = Low'), Text(0.03746136476466538, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.037871338660858705, 0.5147058823529411, 'gini = 0.0\nsamples = 14\nvalue = [14, 0, 0]\nclass = Low'), Text(0.038486299505148695, 0.5441176470588235, 'PlayTimeHours <= 2.484\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.038281312557052034, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.03869128645324536, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.039101260349438685, 0.5735294117647058, 'AchievementsUnlocked <= 27.0\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.038896273401342024, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.03930624729753535, 0.5441176470588235, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.039511234245632014, 0.6323529411764706, 'PlayTimeHours <= 9.006\ngini = 0.612\nsamples = 7\nvalue = [3, 1, 3]\nclass = Low'), Text(0.03930624729753535, 0.6029411764705882, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3]\nclass = High'), Text(0.03971622119372868, 0.6029411764705882, 'PlayTimeHours <= 9.046\ngini = 0.375\nsamples = 4\nvalue = [3, 1, 0]\nclass = Low'), Text(0.039511234245632014, 0.5735294117647058, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.03992120814182534, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.042214499623656775, 0.6617647058823529, 'Age <= 37.5\ngini = 0.108\nsamples = 622\nvalue = [587, 21, 14]\nclass = Low'), Text(0.04094614288230867, 0.6323529411764706, 'PlayTimeHours <= 11.813\ngini = 0.127\nsamples = 419\nvalue = [391, 19, 9]\nclass = Low'), Text(0.04053616898611534, 0.6029411764705882, 'Age <= 18.5\ngini = 0.024\nsamples = 82\nvalue = [81, 1, 0]\nclass = Low'), Text(0.04033118203801867, 0.5735294117647058, 'PlayerLevel <= 28.0\ngini = 0.165\nsamples = 11\nvalue = [10, 1, 0]\nclass = Low'), Text(0.04012619508992201, 0.5441176470588235, 'Location_USA <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.03992120814182534, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.04033118203801867, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04053616898611534, 0.5441176470588235, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.040741155934212, 0.5735294117647058, 'gini = 0.0\nsamples = 71\nvalue = [71, 0, 0]\nclass = Low'), Text(0.04135611677850199, 0.6029411764705882, 'PlayTimeHours <= 11.842\ngini = 0.15\nsamples = 337\nvalue = [310, 18, 9]\nclass = Low'), Text(0.04115112983040533, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04156110372659866, 0.5735294117647058, 'PlayerLevel <= 1.5\ngini = 0.145\nsamples = 336\nvalue = [310, 18, 8]\nclass = Low'), Text(0.04115112983040533, 0.5441176470588235, 'Age <= 16.0\ngini = 0.5\nsamples = 6\nvalue = [4, 1, 1]\nclass = Low'), Text(0.04094614288230867, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04135611677850199, 0.5147058823529411, 'GameGenre_Strategy <= 0.5\ngini = 0.32\nsamples = 5\nvalue = [4, 0, 1]\nclass = Low'), Text(0.04115112983040533, 0.4852941176470588, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.04156110372659866, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04197107762279199, 0.5441176470588235, 'Age <= 18.5\ngini = 0.137\nsamples = 330\nvalue = [306, 17, 7]\nclass = Low'), Text(0.04176609067469532, 0.5147058823529411, 'gini = 0.0\nsamples = 58\nvalue = [58, 0, 0]\nclass = Low'), Text(0.04217606457088865, 0.5147058823529411, 'AchievementsUnlocked <= 10.5\ngini = 0.164\nsamples = 272\nvalue = [248, 17, 7]\nclass = Low'), Text(0.04197107762279199, 0.4852941176470588, 'gini = 0.0\nsamples = 36\nvalue = [36, 0, 0]\nclass = Low'), Text(0.042381051518985316, 0.4852941176470588, 'PlayTimeHours <= 23.772\ngini = 0.187\nsamples = 236\nvalue = [212, 17, 7]\nclass = Low'), Text(0.04217606457088865, 0.45588235294117646, 'AchievementsUnlocked <= 14.5\ngini = 0.181\nsamples = 235\nvalue = [212, 16, 7]\nclass = Low'), Text(0.03978988837820092, 0.4264705882352941, 'Age <= 22.5\ngini = 0.338\nsamples = 30\nvalue = [24, 4, 2]\nclass = Low'), Text(0.03937991448200759, 0.39705882352941174, 'Age <= 21.0\ngini = 0.49\nsamples = 7\nvalue = [4, 3, 0]\nclass = Low'), Text(0.03917492753391093, 0.36764705882352944, 'InGamePurchases <= 0.5\ngini = 0.32\nsamples = 5\nvalue = [4, 1, 0]\nclass = Low'), Text(0.03896994058581426, 0.3382352941176471, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.03937991448200759, 0.3382352941176471, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.039584901430104256, 0.36764705882352944, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.040199862274394246, 0.39705882352941174, 'PlayerLevel <= 67.0\ngini = 0.234\nsamples = 23\nvalue = [20, 1, 2]\nclass = Low'), Text(0.039994875326297585, 0.36764705882352944, 'PlayerLevel <= 54.0\ngini = 0.165\nsamples = 22\nvalue = [20, 0, 2]\nclass = Low'), Text(0.03978988837820092, 0.3382352941176471, 'gini = 0.0\nsamples = 16\nvalue = [16, 0, 0]\nclass = Low'), Text(0.040199862274394246, 0.3382352941176471, 'AvgSessionDurationMinutes <= 68.0\ngini = 0.444\nsamples = 6\nvalue = [4, 0, 2]\nclass = Low'), Text(0.039994875326297585, 0.3088235294117647, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.040404849222490914, 0.3088235294117647, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.040404849222490914, 0.36764705882352944, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04456224076357638, 0.4264705882352941, 'AchievementsUnlocked <= 38.5\ngini = 0.155\nsamples = 205\nvalue = [188, 12, 5]\nclass = Low'), Text(0.042570023861761924, 0.39705882352941174, 'GameDifficulty_Medium <= 0.5\ngini = 0.118\nsamples = 146\nvalue = [137, 5, 4]\nclass = Low'), Text(0.04236503691366526, 0.36764705882352944, 'Age <= 20.5\ngini = 0.168\nsamples = 100\nvalue = [91, 5, 4]\nclass = Low'), Text(0.041224797014877565, 0.3382352941176471, 'Location_Europe <= 0.5\ngini = 0.43\nsamples = 11\nvalue = [8, 1, 2]\nclass = Low'), Text(0.04081482311868424, 0.3088235294117647, 'PlayTimeHours <= 12.803\ngini = 0.219\nsamples = 8\nvalue = [7, 1, 0]\nclass = Low'), Text(0.040609836170587575, 0.27941176470588236, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.041019810066780904, 0.27941176470588236, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.041634770911070894, 0.3088235294117647, 'AchievementsUnlocked <= 21.5\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.04142978396297423, 0.27941176470588236, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.04183975785916756, 0.27941176470588236, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.043505276812452955, 0.3382352941176471, 'Age <= 32.5\ngini = 0.128\nsamples = 89\nvalue = [83, 4, 2]\nclass = Low'), Text(0.04245471870345755, 0.3088235294117647, 'PlayerLevel <= 12.5\ngini = 0.034\nsamples = 58\nvalue = [57, 1, 0]\nclass = Low'), Text(0.04224973175536089, 0.27941176470588236, 'Location_Europe <= 0.5\ngini = 0.18\nsamples = 10\nvalue = [9, 1, 0]\nclass = Low'), Text(0.04204474480726422, 0.25, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.04245471870345755, 0.25, 'PlayTimeHours <= 22.422\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.04224973175536089, 0.22058823529411764, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04265970565155422, 0.22058823529411764, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.04265970565155422, 0.27941176470588236, 'gini = 0.0\nsamples = 48\nvalue = [48, 0, 0]\nclass = Low'), Text(0.04455583492144836, 0.3088235294117647, 'GameGenre_Strategy <= 0.5\ngini = 0.283\nsamples = 31\nvalue = [26, 3, 2]\nclass = Low'), Text(0.043992120814182537, 0.27941176470588236, 'PlayTimeHours <= 22.314\ngini = 0.203\nsamples = 27\nvalue = [24, 1, 2]\nclass = Low'), Text(0.04347965344394088, 0.25, 'AchievementsUnlocked <= 36.5\ngini = 0.15\nsamples = 25\nvalue = [23, 1, 1]\nclass = Low'), Text(0.04306967954774755, 0.22058823529411764, 'GameGenre_RPG <= 0.5\ngini = 0.083\nsamples = 23\nvalue = [22, 1, 0]\nclass = Low'), Text(0.04286469259965088, 0.19117647058823528, 'gini = 0.0\nsamples = 20\nvalue = [20, 0, 0]\nclass = Low'), Text(0.04327466649584421, 0.19117647058823528, 'Age <= 36.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.04306967954774755, 0.16176470588235295, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.04347965344394088, 0.16176470588235295, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0438896273401342, 0.22058823529411764, 'Age <= 34.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.04368464039203754, 0.19117647058823528, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.04409461428823087, 0.19117647058823528, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.044504588184424196, 0.25, 'InGamePurchases <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.04429960123632753, 0.22058823529411764, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04470957513252086, 0.22058823529411764, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.045119549028714186, 0.27941176470588236, 'Age <= 35.5\ngini = 0.5\nsamples = 4\nvalue = [2, 2, 0]\nclass = Low'), Text(0.044914562080617525, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.045324535976810854, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.04277501080985859, 0.36764705882352944, 'gini = 0.0\nsamples = 46\nvalue = [46, 0, 0]\nclass = Low'), Text(0.04655445766539083, 0.39705882352941174, 'PlayerLevel <= 73.5\ngini = 0.238\nsamples = 59\nvalue = [51, 7, 1]\nclass = Low'), Text(0.04634947071729417, 0.36764705882352944, 'PlayerLevel <= 45.0\ngini = 0.191\nsamples = 57\nvalue = [51, 5, 1]\nclass = Low'), Text(0.04593949682110084, 0.3382352941176471, 'AvgSessionDurationMinutes <= 134.5\ngini = 0.101\nsamples = 38\nvalue = [36, 1, 1]\nclass = Low'), Text(0.04573450987300418, 0.3088235294117647, 'gini = 0.0\nsamples = 25\nvalue = [25, 0, 0]\nclass = Low'), Text(0.04614448376919751, 0.3088235294117647, 'AvgSessionDurationMinutes <= 138.0\ngini = 0.272\nsamples = 13\nvalue = [11, 1, 1]\nclass = Low'), Text(0.04593949682110084, 0.27941176470588236, 'AchievementsUnlocked <= 44.0\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1]\nclass = Medium'), Text(0.04573450987300418, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04614448376919751, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04634947071729417, 0.27941176470588236, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.0467594446134875, 0.3382352941176471, 'PlayerLevel <= 51.0\ngini = 0.332\nsamples = 19\nvalue = [15, 4, 0]\nclass = Low'), Text(0.04655445766539083, 0.3088235294117647, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.04696443156158416, 0.3088235294117647, 'AchievementsUnlocked <= 39.5\ngini = 0.208\nsamples = 17\nvalue = [15, 2, 0]\nclass = Low'), Text(0.0467594446134875, 0.27941176470588236, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04716941850968083, 0.27941176470588236, 'Age <= 20.0\ngini = 0.117\nsamples = 16\nvalue = [15, 1, 0]\nclass = Low'), Text(0.04696443156158416, 0.25, 'AchievementsUnlocked <= 42.0\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.0467594446134875, 0.22058823529411764, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04716941850968083, 0.22058823529411764, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.04737440545777749, 0.25, 'gini = 0.0\nsamples = 14\nvalue = [14, 0, 0]\nclass = Low'), Text(0.0467594446134875, 0.36764705882352944, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.04258603846708198, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04348285636500489, 0.6323529411764706, 'PlayTimeHours <= 9.977\ngini = 0.067\nsamples = 203\nvalue = [196, 2, 5]\nclass = Low'), Text(0.042791025415178645, 0.6029411764705882, 'PlayTimeHours <= 9.928\ngini = 0.277\nsamples = 19\nvalue = [16, 1, 2]\nclass = Low'), Text(0.04258603846708198, 0.5735294117647058, 'GameGenre_Simulation <= 0.5\ngini = 0.198\nsamples = 18\nvalue = [16, 0, 2]\nclass = Low'), Text(0.042381051518985316, 0.5441176470588235, 'gini = 0.0\nsamples = 13\nvalue = [13, 0, 0]\nclass = Low'), Text(0.042791025415178645, 0.5441176470588235, 'PlayTimeHours <= 9.381\ngini = 0.48\nsamples = 5\nvalue = [3, 0, 2]\nclass = Low'), Text(0.04258603846708198, 0.5147058823529411, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.042996012363275306, 0.5147058823529411, 'PlayerLevel <= 73.0\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.042791025415178645, 0.4852941176470588, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.043200999311371974, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.042996012363275306, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.044174687314831124, 0.6029411764705882, 'PlayerLevel <= 52.5\ngini = 0.043\nsamples = 184\nvalue = [180, 1, 3]\nclass = Low'), Text(0.043405986259468635, 0.5735294117647058, 'Location_Other <= 0.5\ngini = 0.015\nsamples = 131\nvalue = [130, 1, 0]\nclass = Low'), Text(0.043200999311371974, 0.5441176470588235, 'gini = 0.0\nsamples = 119\nvalue = [119, 0, 0]\nclass = Low'), Text(0.0436109732075653, 0.5441176470588235, 'Age <= 48.5\ngini = 0.153\nsamples = 12\nvalue = [11, 1, 0]\nclass = Low'), Text(0.043405986259468635, 0.5147058823529411, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.043815960155661964, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04494338837019362, 0.5735294117647058, 'PlayerLevel <= 53.5\ngini = 0.107\nsamples = 53\nvalue = [50, 0, 3]\nclass = Low'), Text(0.04443092099995195, 0.5441176470588235, 'PlayTimeHours <= 16.537\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.04422593405185529, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.04463590794804862, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04545585574043528, 0.5441176470588235, 'AvgSessionDurationMinutes <= 40.5\ngini = 0.075\nsamples = 51\nvalue = [49, 0, 2]\nclass = Low'), Text(0.04504588184424195, 0.5147058823529411, 'Age <= 47.5\ngini = 0.444\nsamples = 3\nvalue = [2, 0, 1]\nclass = Low'), Text(0.04484089489614528, 0.4852941176470588, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.04525086879233861, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04586582963662861, 0.5147058823529411, 'PlayerLevel <= 59.5\ngini = 0.041\nsamples = 48\nvalue = [47, 0, 1]\nclass = Low'), Text(0.04566084268853194, 0.4852941176470588, 'GameGenre_Sports <= 0.5\ngini = 0.278\nsamples = 6\nvalue = [5, 0, 1]\nclass = Low'), Text(0.04545585574043528, 0.45588235294117646, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.04586582963662861, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04607081658472527, 0.4852941176470588, 'gini = 0.0\nsamples = 42\nvalue = [42, 0, 0]\nclass = Low'), Text(0.03442619669138254, 0.75, 'Gender_Male <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.03422120974328588, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0346311836394792, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.050670211232644174, 0.7794117647058824, 'GameGenre_Simulation <= 0.5\ngini = 0.076\nsamples = 539\nvalue = [518, 10, 11]\nclass = Low'), Text(0.04830004964527649, 0.75, 'AchievementsUnlocked <= 36.5\ngini = 0.054\nsamples = 432\nvalue = [420, 6, 6]\nclass = Low'), Text(0.04683951764008776, 0.7205882352941176, 'PlayerLevel <= 57.5\ngini = 0.035\nsamples = 337\nvalue = [331, 4, 2]\nclass = Low'), Text(0.0466345306919911, 0.6911764705882353, 'gini = 0.0\nsamples = 241\nvalue = [241, 0, 0]\nclass = Low'), Text(0.047044504588184426, 0.6911764705882353, 'PlayTimeHours <= 21.802\ngini = 0.119\nsamples = 96\nvalue = [90, 4, 2]\nclass = Low'), Text(0.04607081658472527, 0.6617647058823529, 'PlayTimeHours <= 3.264\ngini = 0.085\nsamples = 91\nvalue = [87, 3, 1]\nclass = Low'), Text(0.04535336226638694, 0.6323529411764706, 'Age <= 38.0\ngini = 0.298\nsamples = 11\nvalue = [9, 2, 0]\nclass = Low'), Text(0.04514837531829028, 0.6029411764705882, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.04555834921448361, 0.6029411764705882, 'GameGenre_Strategy <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.04535336226638694, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.04576333616258027, 0.5735294117647058, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.046788270903063596, 0.6323529411764706, 'AvgSessionDurationMinutes <= 23.5\ngini = 0.049\nsamples = 80\nvalue = [78, 1, 1]\nclass = Low'), Text(0.04637829700687027, 0.6029411764705882, 'Age <= 26.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.0461733100587736, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04658328395496693, 0.5735294117647058, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.047198244799256925, 0.6029411764705882, 'PlayerLevel <= 60.5\ngini = 0.026\nsamples = 77\nvalue = [76, 0, 1]\nclass = Low'), Text(0.04699325785116026, 0.5735294117647058, 'AvgSessionDurationMinutes <= 142.5\ngini = 0.165\nsamples = 11\nvalue = [10, 0, 1]\nclass = Low'), Text(0.046788270903063596, 0.5441176470588235, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.047198244799256925, 0.5441176470588235, 'GameGenre_Strategy <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.04699325785116026, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.047403231747353586, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.047403231747353586, 0.5735294117647058, 'gini = 0.0\nsamples = 66\nvalue = [66, 0, 0]\nclass = Low'), Text(0.048018192591643576, 0.6617647058823529, 'AvgSessionDurationMinutes <= 63.5\ngini = 0.56\nsamples = 5\nvalue = [3, 1, 1]\nclass = Low'), Text(0.047813205643546915, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.048223179539740244, 0.6323529411764706, 'PlayerLevel <= 64.5\ngini = 0.375\nsamples = 4\nvalue = [3, 0, 1]\nclass = Low'), Text(0.048018192591643576, 0.6029411764705882, 'Location_Europe <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.047813205643546915, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.048223179539740244, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.048428166487836904, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.04976058165046522, 0.7205882352941176, 'PlayTimeHours <= 0.699\ngini = 0.12\nsamples = 95\nvalue = [89, 2, 4]\nclass = Low'), Text(0.04955559470236856, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.04996556859856189, 0.6911764705882353, 'PlayerLevel <= 16.5\ngini = 0.102\nsamples = 94\nvalue = [89, 1, 4]\nclass = Low'), Text(0.04945310122832023, 0.6617647058823529, 'AvgSessionDurationMinutes <= 105.0\ngini = 0.308\nsamples = 21\nvalue = [17, 0, 4]\nclass = Low'), Text(0.0490431273321269, 0.6323529411764706, 'PlayerLevel <= 15.5\ngini = 0.124\nsamples = 15\nvalue = [14, 0, 1]\nclass = Low'), Text(0.04883814038403023, 0.6029411764705882, 'gini = 0.0\nsamples = 14\nvalue = [14, 0, 0]\nclass = Low'), Text(0.04924811428022356, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.04986307512451356, 0.6323529411764706, 'AchievementsUnlocked <= 40.5\ngini = 0.5\nsamples = 6\nvalue = [3, 0, 3]\nclass = Low'), Text(0.04965808817641689, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.05006806207261022, 0.6029411764705882, 'PlayTimeHours <= 18.162\ngini = 0.375\nsamples = 4\nvalue = [3, 0, 1]\nclass = Low'), Text(0.04986307512451356, 0.5735294117647058, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.05027304902070689, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.05047803596880355, 0.6617647058823529, 'AvgSessionDurationMinutes <= 161.5\ngini = 0.027\nsamples = 73\nvalue = [72, 1, 0]\nclass = Low'), Text(0.05027304902070689, 0.6323529411764706, 'gini = 0.0\nsamples = 68\nvalue = [68, 0, 0]\nclass = Low'), Text(0.05068302291690021, 0.6323529411764706, 'GameGenre_Strategy <= 0.5\ngini = 0.32\nsamples = 5\nvalue = [4, 1, 0]\nclass = Low'), Text(0.05047803596880355, 0.6029411764705882, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.05088800986499688, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.05304037282001185, 0.75, 'AvgSessionDurationMinutes <= 168.5\ngini = 0.158\nsamples = 107\nvalue = [98.0, 4.0, 5.0]\nclass = Low'), Text(0.052630398923818524, 0.7205882352941176, 'Gender_Male <= 0.5\ngini = 0.13\nsamples = 102\nvalue = [95, 2, 5]\nclass = Low'), Text(0.052425411975721856, 0.6911764705882353, 'gini = 0.0\nsamples = 40\nvalue = [40, 0, 0]\nclass = Low'), Text(0.052835385871915184, 0.6911764705882353, 'PlayerLevel <= 26.5\ngini = 0.206\nsamples = 62\nvalue = [55, 2, 5]\nclass = Low'), Text(0.051912944605480196, 0.6617647058823529, 'PlayerLevel <= 21.5\ngini = 0.32\nsamples = 20\nvalue = [16, 0, 4]\nclass = Low'), Text(0.05150297070928687, 0.6323529411764706, 'AvgSessionDurationMinutes <= 156.5\ngini = 0.208\nsamples = 17\nvalue = [15, 0, 2]\nclass = Low'), Text(0.051297983761190206, 0.6029411764705882, 'Location_Other <= 0.5\ngini = 0.117\nsamples = 16\nvalue = [15, 0, 1]\nclass = Low'), Text(0.05109299681309354, 0.5735294117647058, 'gini = 0.0\nsamples = 14\nvalue = [14, 0, 0]\nclass = Low'), Text(0.05150297070928687, 0.5735294117647058, 'AvgSessionDurationMinutes <= 96.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.051297983761190206, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.051707957657383535, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.051707957657383535, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.052322918501673525, 0.6323529411764706, 'PlayTimeHours <= 8.492\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.052117931553576864, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.05252790544977019, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.05375782713835017, 0.6617647058823529, 'Age <= 44.0\ngini = 0.135\nsamples = 42\nvalue = [39, 2, 1]\nclass = Low'), Text(0.05314286629406018, 0.6323529411764706, 'PlayerLevel <= 64.5\ngini = 0.056\nsamples = 35\nvalue = [34, 1, 0]\nclass = Low'), Text(0.05293787934596352, 0.6029411764705882, 'gini = 0.0\nsamples = 27\nvalue = [27, 0, 0]\nclass = Low'), Text(0.053347853242156844, 0.6029411764705882, 'AchievementsUnlocked <= 21.0\ngini = 0.219\nsamples = 8\nvalue = [7, 1, 0]\nclass = Low'), Text(0.05314286629406018, 0.5735294117647058, 'AvgSessionDurationMinutes <= 142.0\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.05293787934596352, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.053347853242156844, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.05355284019025351, 0.5735294117647058, 'gini = 0.0\nsamples = 6\nvalue = [6, 0, 0]\nclass = Low'), Text(0.05437278798264017, 0.6323529411764706, 'AchievementsUnlocked <= 41.0\ngini = 0.449\nsamples = 7\nvalue = [5, 1, 1]\nclass = Low'), Text(0.0541678010345435, 0.6029411764705882, 'AvgSessionDurationMinutes <= 37.0\ngini = 0.278\nsamples = 6\nvalue = [5, 0, 1]\nclass = Low'), Text(0.05396281408644684, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.05437278798264017, 0.5735294117647058, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.05457777493073683, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.05345034671620518, 0.7205882352941176, 'AvgSessionDurationMinutes <= 173.0\ngini = 0.48\nsamples = 5\nvalue = [3, 2, 0]\nclass = Low'), Text(0.05324535976810851, 0.6911764705882353, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.05365533366430184, 0.6911764705882353, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.06647422449273738, 0.8676470588235294, 'AchievementsUnlocked <= 36.5\ngini = 0.195\nsamples = 761\nvalue = [680, 54, 27]\nclass = Low'), Text(0.06151049757378729, 0.8382352941176471, 'GameGenre_Sports <= 0.5\ngini = 0.147\nsamples = 587\nvalue = [541, 25, 21]\nclass = Low'), Text(0.056630847332767485, 0.8088235294117647, 'AvgSessionDurationMinutes <= 14.5\ngini = 0.123\nsamples = 479\nvalue = [448.0, 15.0, 16.0]\nclass = Low'), Text(0.05457777493073683, 0.7794117647058824, 'PlayerLevel <= 96.0\ngini = 0.355\nsamples = 19\nvalue = [15, 2, 2]\nclass = Low'), Text(0.0541678010345435, 0.75, 'InGamePurchases <= 0.5\ngini = 0.231\nsamples = 15\nvalue = [13, 0, 2]\nclass = Low'), Text(0.05396281408644684, 0.7205882352941176, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.05437278798264017, 0.7205882352941176, 'Location_Europe <= 0.5\ngini = 0.5\nsamples = 4\nvalue = [2, 0, 2]\nclass = Low'), Text(0.0541678010345435, 0.6911764705882353, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.05457777493073683, 0.6911764705882353, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.05498774882693016, 0.75, 'AvgSessionDurationMinutes <= 11.0\ngini = 0.5\nsamples = 4\nvalue = [2, 2, 0]\nclass = Low'), Text(0.0547827618788335, 0.7205882352941176, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.05519273577502683, 0.7205882352941176, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.05868391973479813, 0.7794117647058824, 'Age <= 21.5\ngini = 0.112\nsamples = 460\nvalue = [433, 13, 14]\nclass = Low'), Text(0.05642265746360681, 0.75, 'Age <= 19.5\ngini = 0.22\nsamples = 91\nvalue = [80, 5, 6]\nclass = Low'), Text(0.055602709671220156, 0.7205882352941176, 'PlayerLevel <= 92.5\ngini = 0.124\nsamples = 61\nvalue = [57, 3, 1]\nclass = Low'), Text(0.05519273577502683, 0.6911764705882353, 'PlayerLevel <= 80.5\ngini = 0.044\nsamples = 44\nvalue = [43, 1, 0]\nclass = Low'), Text(0.05498774882693016, 0.6617647058823529, 'SessionsPerWeek <= 0.5\ngini = 0.32\nsamples = 5\nvalue = [4, 1, 0]\nclass = Low'), Text(0.0547827618788335, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.05519273577502683, 0.6323529411764706, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.05539772272312349, 0.6617647058823529, 'gini = 0.0\nsamples = 39\nvalue = [39, 0, 0]\nclass = Low'), Text(0.05601268356741348, 0.6911764705882353, 'Gender_Male <= 0.5\ngini = 0.304\nsamples = 17\nvalue = [14, 2, 1]\nclass = Low'), Text(0.05580769661931682, 0.6617647058823529, 'AchievementsUnlocked <= 22.0\ngini = 0.625\nsamples = 4\nvalue = [1, 2, 1]\nclass = Medium'), Text(0.055602709671220156, 0.6323529411764706, 'SessionsPerWeek <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.05539772272312349, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.05580769661931682, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.05601268356741348, 0.6323529411764706, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.056217670515510146, 0.6617647058823529, 'gini = 0.0\nsamples = 13\nvalue = [13, 0, 0]\nclass = Low'), Text(0.057242605255993464, 0.7205882352941176, 'AvgSessionDurationMinutes <= 173.0\ngini = 0.38\nsamples = 30\nvalue = [23, 2, 5]\nclass = Low'), Text(0.057037618307896804, 0.6911764705882353, 'Gender_Male <= 0.5\ngini = 0.347\nsamples = 29\nvalue = [23, 2, 4]\nclass = Low'), Text(0.056627644411703475, 0.6617647058823529, 'PlayTimeHours <= 15.979\ngini = 0.593\nsamples = 9\nvalue = [5, 2, 2]\nclass = Low'), Text(0.05642265746360681, 0.6323529411764706, 'PlayerLevel <= 84.0\ngini = 0.408\nsamples = 7\nvalue = [5, 0, 2]\nclass = Low'), Text(0.056217670515510146, 0.6029411764705882, 'AchievementsUnlocked <= 22.0\ngini = 0.444\nsamples = 3\nvalue = [1, 0, 2]\nclass = High'), Text(0.05601268356741348, 0.5735294117647058, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.05642265746360681, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.056627644411703475, 0.6029411764705882, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.056832631359800136, 0.6323529411764706, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.05744759220409013, 0.6617647058823529, 'Location_Europe <= 0.5\ngini = 0.18\nsamples = 20\nvalue = [18, 0, 2]\nclass = Low'), Text(0.057242605255993464, 0.6323529411764706, 'gini = 0.0\nsamples = 13\nvalue = [13, 0, 0]\nclass = Low'), Text(0.05765257915218679, 0.6323529411764706, 'AvgSessionDurationMinutes <= 92.0\ngini = 0.408\nsamples = 7\nvalue = [5, 0, 2]\nclass = Low'), Text(0.05744759220409013, 0.6029411764705882, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.05785756610028346, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.05744759220409013, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06094518200598946, 0.75, 'Age <= 35.5\ngini = 0.084\nsamples = 369\nvalue = [353, 8, 8]\nclass = Low'), Text(0.05959995515910511, 0.7205882352941176, 'AchievementsUnlocked <= 35.5\ngini = 0.03\nsamples = 196\nvalue = [193.0, 1.0, 2.0]\nclass = Low'), Text(0.05908748778886344, 0.6911764705882353, 'AchievementsUnlocked <= 32.5\ngini = 0.021\nsamples = 189\nvalue = [187, 1, 1]\nclass = Low'), Text(0.05867751389267011, 0.6617647058823529, 'PlayTimeHours <= 3.656\ngini = 0.012\nsamples = 170\nvalue = [169, 0, 1]\nclass = Low'), Text(0.05847252694457345, 0.6323529411764706, 'PlayTimeHours <= 3.59\ngini = 0.074\nsamples = 26\nvalue = [25, 0, 1]\nclass = Low'), Text(0.05826753999647679, 0.6029411764705882, 'gini = 0.0\nsamples = 25\nvalue = [25, 0, 0]\nclass = Low'), Text(0.05867751389267011, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.05888250084076678, 0.6323529411764706, 'gini = 0.0\nsamples = 144\nvalue = [144, 0, 0]\nclass = Low'), Text(0.05949746168505677, 0.6617647058823529, 'AvgSessionDurationMinutes <= 156.5\ngini = 0.1\nsamples = 19\nvalue = [18, 1, 0]\nclass = Low'), Text(0.05929247473696011, 0.6323529411764706, 'gini = 0.0\nsamples = 18\nvalue = [18, 0, 0]\nclass = Low'), Text(0.05970244863315344, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.060112422529346766, 0.6911764705882353, 'PlayTimeHours <= 5.3\ngini = 0.245\nsamples = 7\nvalue = [6, 0, 1]\nclass = Low'), Text(0.0599074355812501, 0.6617647058823529, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06031740947744343, 0.6617647058823529, 'gini = 0.0\nsamples = 6\nvalue = [6, 0, 0]\nclass = Low'), Text(0.06229040885287382, 0.7205882352941176, 'PlayTimeHours <= 11.811\ngini = 0.142\nsamples = 173\nvalue = [160.0, 7.0, 6.0]\nclass = Low'), Text(0.061086110532805916, 0.6911764705882353, 'PlayTimeHours <= 11.724\ngini = 0.217\nsamples = 84\nvalue = [74, 6, 4]\nclass = Low'), Text(0.060881123584709256, 0.6617647058823529, 'AchievementsUnlocked <= 32.5\ngini = 0.199\nsamples = 83\nvalue = [74, 5, 4]\nclass = Low'), Text(0.060112422529346766, 0.6323529411764706, 'PlayTimeHours <= 0.97\ngini = 0.15\nsamples = 75\nvalue = [69, 4, 2]\nclass = Low'), Text(0.05939496821100844, 0.6029411764705882, 'PlayTimeHours <= 0.658\ngini = 0.625\nsamples = 4\nvalue = [2, 1, 1]\nclass = Low'), Text(0.05918998126291178, 0.5735294117647058, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.05959995515910511, 0.5735294117647058, 'Location_USA <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1]\nclass = Medium'), Text(0.05939496821100844, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.05980494210720177, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06082987684768509, 0.6029411764705882, 'AvgSessionDurationMinutes <= 26.5\ngini = 0.108\nsamples = 71\nvalue = [67, 3, 1]\nclass = Low'), Text(0.06041990295149176, 0.5735294117647058, 'Gender_Male <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.0602149160033951, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.060624889899588426, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.061239850743878416, 0.5735294117647058, 'PlayerLevel <= 87.5\ngini = 0.084\nsamples = 69\nvalue = [66, 2, 1]\nclass = Low'), Text(0.061034863795781755, 0.5441176470588235, 'AvgSessionDurationMinutes <= 171.5\ngini = 0.234\nsamples = 23\nvalue = [20, 2, 1]\nclass = Low'), Text(0.06082987684768509, 0.5147058823529411, 'GameGenre_Simulation <= 0.5\ngini = 0.169\nsamples = 22\nvalue = [20, 1, 1]\nclass = Low'), Text(0.06041990295149176, 0.4852941176470588, 'AvgSessionDurationMinutes <= 52.5\ngini = 0.095\nsamples = 20\nvalue = [19, 0, 1]\nclass = Low'), Text(0.0602149160033951, 0.45588235294117646, 'Gender_Male <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [2, 0, 1]\nclass = Low'), Text(0.06000992905529843, 0.4264705882352941, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.06041990295149176, 0.4264705882352941, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.060624889899588426, 0.45588235294117646, 'gini = 0.0\nsamples = 17\nvalue = [17, 0, 0]\nclass = Low'), Text(0.061239850743878416, 0.4852941176470588, 'Age <= 42.0\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.061034863795781755, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.061444837691975084, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.061239850743878416, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.061444837691975084, 0.5441176470588235, 'gini = 0.0\nsamples = 46\nvalue = [46, 0, 0]\nclass = Low'), Text(0.061649824640071745, 0.6323529411764706, 'GameDifficulty_Medium <= 0.5\ngini = 0.531\nsamples = 8\nvalue = [5, 1, 2]\nclass = Low'), Text(0.061444837691975084, 0.6029411764705882, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.06185481158816841, 0.6029411764705882, 'PlayerLevel <= 94.5\ngini = 0.625\nsamples = 4\nvalue = [1, 1, 2]\nclass = High'), Text(0.061649824640071745, 0.5735294117647058, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.06205979853626507, 0.5735294117647058, 'PlayTimeHours <= 4.362\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.06185481158816841, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.06226478548436174, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.061291097480902584, 0.6617647058823529, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.06349470717294173, 0.6911764705882353, 'AvgSessionDurationMinutes <= 71.0\ngini = 0.066\nsamples = 89\nvalue = [86, 1, 2]\nclass = Low'), Text(0.06328972022484505, 0.6617647058823529, 'AvgSessionDurationMinutes <= 67.5\ngini = 0.169\nsamples = 33\nvalue = [30, 1, 2]\nclass = Low'), Text(0.06287974632865173, 0.6323529411764706, 'PlayTimeHours <= 15.927\ngini = 0.067\nsamples = 29\nvalue = [28, 0, 1]\nclass = Low'), Text(0.06267475938055507, 0.6029411764705882, 'PlayTimeHours <= 15.366\ngini = 0.219\nsamples = 8\nvalue = [7, 0, 1]\nclass = Low'), Text(0.0624697724324584, 0.5735294117647058, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.06287974632865173, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06308473327674839, 0.6029411764705882, 'gini = 0.0\nsamples = 21\nvalue = [21, 0, 0]\nclass = Low'), Text(0.06369969412103839, 0.6323529411764706, 'AchievementsUnlocked <= 9.5\ngini = 0.625\nsamples = 4\nvalue = [2, 1, 1]\nclass = Low'), Text(0.06349470717294173, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.06390468106913505, 0.6029411764705882, 'SessionsPerWeek <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1]\nclass = Medium'), Text(0.06369969412103839, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06410966801723171, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.06369969412103839, 0.6617647058823529, 'gini = 0.0\nsamples = 56\nvalue = [56, 0, 0]\nclass = Low'), Text(0.06639014781480711, 0.8088235294117647, 'GameDifficulty_Hard <= 0.5\ngini = 0.248\nsamples = 108\nvalue = [93, 10, 5]\nclass = Low'), Text(0.06559582339093253, 0.7794117647058824, 'PlayTimeHours <= 23.827\ngini = 0.181\nsamples = 92\nvalue = [83, 5, 4]\nclass = Low'), Text(0.06539083644283587, 0.75, 'Age <= 48.5\ngini = 0.164\nsamples = 91\nvalue = [83, 5, 3]\nclass = Low'), Text(0.0651858494947392, 0.7205882352941176, 'PlayerLevel <= 81.5\ngini = 0.146\nsamples = 90\nvalue = [83, 4, 3]\nclass = Low'), Text(0.06451964191342505, 0.6911764705882353, 'Age <= 44.5\ngini = 0.531\nsamples = 8\nvalue = [5, 2, 1]\nclass = Low'), Text(0.06431465496532839, 0.6617647058823529, 'AvgSessionDurationMinutes <= 22.5\ngini = 0.278\nsamples = 6\nvalue = [5, 0, 1]\nclass = Low'), Text(0.06410966801723171, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06451964191342505, 0.6323529411764706, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.06472462886152171, 0.6617647058823529, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.06585205707605336, 0.6911764705882353, 'AchievementsUnlocked <= 35.5\ngini = 0.094\nsamples = 82\nvalue = [78, 2, 2]\nclass = Low'), Text(0.0653395897058117, 0.6617647058823529, 'PlayTimeHours <= 1.395\ngini = 0.073\nsamples = 80\nvalue = [77, 2, 1]\nclass = Low'), Text(0.06492961580961837, 0.6323529411764706, 'Age <= 28.0\ngini = 0.5\nsamples = 6\nvalue = [4, 1, 1]\nclass = Low'), Text(0.06472462886152171, 0.6029411764705882, 'PlayTimeHours <= 1.208\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1]\nclass = Medium'), Text(0.06451964191342505, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06492961580961837, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.06513460275771503, 0.6029411764705882, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.06574956360200503, 0.6323529411764706, 'Age <= 45.5\ngini = 0.027\nsamples = 74\nvalue = [73, 1, 0]\nclass = Low'), Text(0.06554457665390837, 0.6029411764705882, 'gini = 0.0\nsamples = 68\nvalue = [68, 0, 0]\nclass = Low'), Text(0.06595455055010169, 0.6029411764705882, 'AchievementsUnlocked <= 12.5\ngini = 0.278\nsamples = 6\nvalue = [5, 1, 0]\nclass = Low'), Text(0.06574956360200503, 0.5735294117647058, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.06615953749819836, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.06636452444629502, 0.6617647058823529, 'SessionsPerWeek <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.06615953749819836, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.06656951139439168, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06559582339093253, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0658008103390292, 0.75, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06718447223868168, 0.7794117647058824, 'Age <= 27.0\ngini = 0.508\nsamples = 16\nvalue = [10, 5, 1]\nclass = Low'), Text(0.06697948529058502, 0.75, 'gini = 0.0\nsamples = 6\nvalue = [6, 0, 0]\nclass = Low'), Text(0.06738945918677834, 0.75, 'Age <= 41.5\ngini = 0.58\nsamples = 10\nvalue = [4, 5, 1]\nclass = Medium'), Text(0.06718447223868168, 0.7205882352941176, 'Age <= 32.5\ngini = 0.449\nsamples = 7\nvalue = [1, 5, 1]\nclass = Medium'), Text(0.06697948529058502, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06738945918677834, 0.6911764705882353, 'AvgSessionDurationMinutes <= 78.5\ngini = 0.278\nsamples = 6\nvalue = [1, 5, 0]\nclass = Medium'), Text(0.06718447223868168, 0.6617647058823529, 'AchievementsUnlocked <= 8.0\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.06697948529058502, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.06738945918677834, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.067594446134875, 0.6617647058823529, 'gini = 0.0\nsamples = 4\nvalue = [0, 4, 0]\nclass = Medium'), Text(0.067594446134875, 0.7205882352941176, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.07143795141168746, 0.8382352941176471, 'AvgSessionDurationMinutes <= 135.5\ngini = 0.333\nsamples = 174\nvalue = [139, 29, 6]\nclass = Low'), Text(0.07015678298608331, 0.8088235294117647, 'AvgSessionDurationMinutes <= 104.0\ngini = 0.213\nsamples = 136\nvalue = [120, 12, 4]\nclass = Low'), Text(0.06923434171964832, 0.7794117647058824, 'AchievementsUnlocked <= 41.5\ngini = 0.139\nsamples = 95\nvalue = [88, 3, 4]\nclass = Low'), Text(0.06861938087535832, 0.75, 'PlayTimeHours <= 2.191\ngini = 0.244\nsamples = 44\nvalue = [38, 2, 4]\nclass = Low'), Text(0.06841439392726166, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.068824367823455, 0.7205882352941176, 'GameGenre_RPG <= 0.5\ngini = 0.212\nsamples = 43\nvalue = [38, 2, 3]\nclass = Low'), Text(0.068209406979165, 0.6911764705882353, 'PlayTimeHours <= 7.542\ngini = 0.111\nsamples = 34\nvalue = [32, 2, 0]\nclass = Low'), Text(0.06800442003106834, 0.6617647058823529, 'PlayTimeHours <= 6.467\ngini = 0.346\nsamples = 9\nvalue = [7, 2, 0]\nclass = Low'), Text(0.06779943308297166, 0.6323529411764706, 'gini = 0.0\nsamples = 6\nvalue = [6, 0, 0]\nclass = Low'), Text(0.068209406979165, 0.6323529411764706, 'Gender_Male <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.06800442003106834, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.06841439392726166, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.06841439392726166, 0.6617647058823529, 'gini = 0.0\nsamples = 25\nvalue = [25, 0, 0]\nclass = Low'), Text(0.06943932866774498, 0.6911764705882353, 'PlayTimeHours <= 20.632\ngini = 0.444\nsamples = 9\nvalue = [6, 0, 3]\nclass = Low'), Text(0.06923434171964832, 0.6617647058823529, 'Age <= 43.5\ngini = 0.5\nsamples = 6\nvalue = [3, 0, 3]\nclass = Low'), Text(0.06902935477155166, 0.6323529411764706, 'PlayTimeHours <= 15.444\ngini = 0.375\nsamples = 4\nvalue = [3, 0, 1]\nclass = Low'), Text(0.068824367823455, 0.6029411764705882, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.06923434171964832, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.06943932866774498, 0.6323529411764706, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.06964431561584165, 0.6617647058823529, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.06984930256393831, 0.75, 'PlayerLevel <= 95.5\ngini = 0.038\nsamples = 51\nvalue = [50, 1, 0]\nclass = Low'), Text(0.06964431561584165, 0.7205882352941176, 'gini = 0.0\nsamples = 48\nvalue = [48, 0, 0]\nclass = Low'), Text(0.07005428951203498, 0.7205882352941176, 'GameGenre_Simulation <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.06984930256393831, 0.6911764705882353, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.07025927646013164, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0710792242525183, 0.7794117647058824, 'SessionsPerWeek <= 0.5\ngini = 0.343\nsamples = 41\nvalue = [32, 9, 0]\nclass = Low'), Text(0.07087423730442163, 0.75, 'gini = 0.0\nsamples = 19\nvalue = [19, 0, 0]\nclass = Low'), Text(0.07128421120061496, 0.75, 'AchievementsUnlocked <= 41.5\ngini = 0.483\nsamples = 22\nvalue = [13, 9, 0]\nclass = Low'), Text(0.07087423730442163, 0.7205882352941176, 'PlayerLevel <= 82.5\ngini = 0.26\nsamples = 13\nvalue = [11, 2, 0]\nclass = Low'), Text(0.07066925035632497, 0.6911764705882353, 'Age <= 30.5\ngini = 0.5\nsamples = 4\nvalue = [2, 2, 0]\nclass = Low'), Text(0.0704642634082283, 0.6617647058823529, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.07087423730442163, 0.6617647058823529, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.0710792242525183, 0.6911764705882353, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.07169418509680829, 0.7205882352941176, 'PlayerLevel <= 82.5\ngini = 0.346\nsamples = 9\nvalue = [2, 7, 0]\nclass = Medium'), Text(0.07148919814871163, 0.6911764705882353, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.07189917204490495, 0.6911764705882353, 'gini = 0.0\nsamples = 7\nvalue = [0, 7, 0]\nclass = Medium'), Text(0.07271911983729161, 0.8088235294117647, 'SessionsPerWeek <= 0.5\ngini = 0.547\nsamples = 38\nvalue = [19, 17, 2]\nclass = Low'), Text(0.07251413288919495, 0.7794117647058824, 'gini = 0.0\nsamples = 17\nvalue = [17, 0, 0]\nclass = Low'), Text(0.07292410678538827, 0.7794117647058824, 'Age <= 48.5\ngini = 0.327\nsamples = 21\nvalue = [2, 17, 2]\nclass = Medium'), Text(0.07271911983729161, 0.75, 'GameGenre_Strategy <= 0.5\ngini = 0.188\nsamples = 19\nvalue = [2, 17, 0]\nclass = Medium'), Text(0.07251413288919495, 0.7205882352941176, 'AchievementsUnlocked <= 37.5\ngini = 0.105\nsamples = 18\nvalue = [1, 17, 0]\nclass = Medium'), Text(0.07230914594109829, 0.6911764705882353, 'GameGenre_Sports <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.07210415899300161, 0.6617647058823529, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.07251413288919495, 0.6617647058823529, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.07271911983729161, 0.6911764705882353, 'gini = 0.0\nsamples = 15\nvalue = [0, 15, 0]\nclass = Medium'), Text(0.07292410678538827, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.07312909373348493, 0.75, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.07698541069455343, 0.8970588235294118, 'PlayerLevel <= 75.0\ngini = 0.31\nsamples = 165\nvalue = [135, 22, 8]\nclass = Low'), Text(0.07561456047915699, 0.8676470588235294, 'Location_Other <= 0.5\ngini = 0.209\nsamples = 131\nvalue = [116, 10, 5]\nclass = Low'), Text(0.07461524910718575, 0.8382352941176471, 'PlayTimeHours <= 1.565\ngini = 0.171\nsamples = 120\nvalue = [109, 6, 5]\nclass = Low'), Text(0.07353906762967827, 0.8088235294117647, 'PlayerLevel <= 37.5\ngini = 0.494\nsamples = 9\nvalue = [6, 1, 2]\nclass = Low'), Text(0.0733340806815816, 0.7794117647058824, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.07374405457777493, 0.7794117647058824, 'Age <= 36.0\ngini = 0.625\nsamples = 4\nvalue = [1, 1, 2]\nclass = High'), Text(0.07353906762967827, 0.75, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.07394904152587159, 0.75, 'GameGenre_Strategy <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.07374405457777493, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.07415402847396826, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.07569143058469324, 0.8088235294117647, 'AvgSessionDurationMinutes <= 154.5\ngini = 0.136\nsamples = 111\nvalue = [103, 5, 3]\nclass = Low'), Text(0.07517896321445158, 0.7794117647058824, 'PlayTimeHours <= 23.323\ngini = 0.097\nsamples = 99\nvalue = [94, 2, 3]\nclass = Low'), Text(0.07476898931825825, 0.75, 'PlayTimeHours <= 15.222\ngini = 0.081\nsamples = 96\nvalue = [92, 2, 2]\nclass = Low'), Text(0.07456400237016159, 0.7205882352941176, 'gini = 0.0\nsamples = 57\nvalue = [57, 0, 0]\nclass = Low'), Text(0.07497397626635492, 0.7205882352941176, 'PlayTimeHours <= 15.342\ngini = 0.189\nsamples = 39\nvalue = [35, 2, 2]\nclass = Low'), Text(0.07476898931825825, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.07517896321445158, 0.6911764705882353, 'PlayerLevel <= 72.0\ngini = 0.148\nsamples = 38\nvalue = [35, 1, 2]\nclass = Low'), Text(0.07466649584420992, 0.6617647058823529, 'PlayTimeHours <= 15.56\ngini = 0.108\nsamples = 35\nvalue = [33, 0, 2]\nclass = Low'), Text(0.07425652194801659, 0.6323529411764706, 'Age <= 22.0\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.07405153499991993, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.07446150889611325, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.07507646974040325, 0.6323529411764706, 'PlayTimeHours <= 17.118\ngini = 0.059\nsamples = 33\nvalue = [32, 0, 1]\nclass = Low'), Text(0.07487148279230658, 0.6029411764705882, 'PlayTimeHours <= 16.74\ngini = 0.219\nsamples = 8\nvalue = [7, 0, 1]\nclass = Low'), Text(0.07466649584420992, 0.5735294117647058, 'gini = 0.0\nsamples = 7\nvalue = [7, 0, 0]\nclass = Low'), Text(0.07507646974040325, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0752814566884999, 0.6029411764705882, 'gini = 0.0\nsamples = 25\nvalue = [25, 0, 0]\nclass = Low'), Text(0.07569143058469324, 0.6617647058823529, 'AvgSessionDurationMinutes <= 120.0\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.07548644363659658, 0.6323529411764706, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.0758964175327899, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0755889371106449, 0.75, 'AvgSessionDurationMinutes <= 40.0\ngini = 0.444\nsamples = 3\nvalue = [2, 0, 1]\nclass = Low'), Text(0.07538395016254824, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.07579392405874157, 0.7205882352941176, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.0762038979549349, 0.7794117647058824, 'AvgSessionDurationMinutes <= 156.5\ngini = 0.375\nsamples = 12\nvalue = [9, 3, 0]\nclass = Low'), Text(0.07599891100683824, 0.75, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.07640888490303156, 0.75, 'PlayerLevel <= 68.5\ngini = 0.298\nsamples = 11\nvalue = [9, 2, 0]\nclass = Low'), Text(0.0762038979549349, 0.7205882352941176, 'PlayTimeHours <= 6.715\ngini = 0.18\nsamples = 10\nvalue = [9, 1, 0]\nclass = Low'), Text(0.07599891100683824, 0.6911764705882353, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.07640888490303156, 0.6911764705882353, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.07661387185112822, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.07661387185112822, 0.8382352941176471, 'Age <= 30.5\ngini = 0.463\nsamples = 11\nvalue = [7, 4, 0]\nclass = Low'), Text(0.07640888490303156, 0.8088235294117647, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.0768188587992249, 0.8088235294117647, 'Age <= 37.5\ngini = 0.444\nsamples = 6\nvalue = [2, 4, 0]\nclass = Medium'), Text(0.07661387185112822, 0.7794117647058824, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0]\nclass = Medium'), Text(0.07702384574732156, 0.7794117647058824, 'InGamePurchases <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.0768188587992249, 0.75, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.07722883269541822, 0.75, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.07835626090994988, 0.8676470588235294, 'AvgSessionDurationMinutes <= 69.0\ngini = 0.555\nsamples = 34\nvalue = [19, 12, 3]\nclass = Low'), Text(0.07743381964351488, 0.8382352941176471, 'AvgSessionDurationMinutes <= 17.5\ngini = 0.32\nsamples = 15\nvalue = [12, 0, 3]\nclass = Low'), Text(0.07722883269541822, 0.8088235294117647, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]\nclass = High'), Text(0.07763880659161156, 0.8088235294117647, 'GameGenre_Strategy <= 0.5\ngini = 0.142\nsamples = 13\nvalue = [12, 0, 1]\nclass = Low'), Text(0.07743381964351488, 0.7794117647058824, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.07784379353970822, 0.7794117647058824, 'AvgSessionDurationMinutes <= 46.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.07763880659161156, 0.75, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.07804878048780488, 0.75, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.07927870217638486, 0.8382352941176471, 'SessionsPerWeek <= 0.5\ngini = 0.465\nsamples = 19\nvalue = [7, 12, 0]\nclass = Medium'), Text(0.07886872828019154, 0.8088235294117647, 'AvgSessionDurationMinutes <= 135.0\ngini = 0.408\nsamples = 7\nvalue = [5, 2, 0]\nclass = Low'), Text(0.07866374133209487, 0.7794117647058824, 'GameDifficulty_Medium <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.0784587543839982, 0.75, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.07886872828019154, 0.75, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.0790737152282882, 0.7794117647058824, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.0796886760725782, 0.8088235294117647, 'GameGenre_Sports <= 0.5\ngini = 0.278\nsamples = 12\nvalue = [2, 10, 0]\nclass = Medium'), Text(0.07948368912448153, 0.7794117647058824, 'AvgSessionDurationMinutes <= 98.5\ngini = 0.165\nsamples = 11\nvalue = [1, 10, 0]\nclass = Medium'), Text(0.07927870217638486, 0.75, 'GameGenre_Strategy <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.0790737152282882, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.07948368912448153, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0796886760725782, 0.75, 'gini = 0.0\nsamples = 9\nvalue = [0, 9, 0]\nclass = Medium'), Text(0.07989366302067485, 0.7794117647058824, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.12116440193456432, 0.9264705882352942, 'AvgSessionDurationMinutes <= 150.5\ngini = 0.45\nsamples = 2018\nvalue = [1385, 562, 71]\nclass = Low'), Text(0.11097781176432907, 0.8970588235294118, 'AvgSessionDurationMinutes <= 118.5\ngini = 0.338\nsamples = 1653\nvalue = [1314, 281, 58]\nclass = Low'), Text(0.1022560575244623, 0.8676470588235294, 'AchievementsUnlocked <= 39.5\ngini = 0.242\nsamples = 1259\nvalue = [1088, 127, 44]\nclass = Low'), Text(0.09379353970821389, 0.8382352941176471, 'PlayerLevel <= 69.5\ngini = 0.158\nsamples = 1007\nvalue = [922, 51, 34]\nclass = Low'), Text(0.0841071056803805, 0.8088235294117647, 'PlayTimeHours <= 0.735\ngini = 0.119\nsamples = 707\nvalue = [663, 20, 24]\nclass = Low'), Text(0.08030363691686819, 0.7794117647058824, 'PlayTimeHours <= 0.587\ngini = 0.291\nsamples = 17\nvalue = [14, 3, 0]\nclass = Low'), Text(0.08009864996877152, 0.75, 'gini = 0.0\nsamples = 13\nvalue = [13, 0, 0]\nclass = Low'), Text(0.08050862386496485, 0.75, 'GameGenre_Simulation <= 0.5\ngini = 0.375\nsamples = 4\nvalue = [1, 3, 0]\nclass = Medium'), Text(0.08030363691686819, 0.7205882352941176, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0]\nclass = Medium'), Text(0.08071361081306151, 0.7205882352941176, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.08791057444389283, 0.7794117647058824, 'AvgSessionDurationMinutes <= 48.5\ngini = 0.113\nsamples = 690\nvalue = [649, 17, 24]\nclass = Low'), Text(0.08290440882084461, 0.75, 'AvgSessionDurationMinutes <= 30.5\ngini = 0.157\nsamples = 262\nvalue = [240, 8, 14]\nclass = Low'), Text(0.08112358470925483, 0.7205882352941176, 'GameGenre_Sports <= 0.5\ngini = 0.06\nsamples = 129\nvalue = [125, 1, 3]\nclass = Low'), Text(0.08040613039091651, 0.6911764705882353, 'PlayerLevel <= 5.5\ngini = 0.035\nsamples = 114\nvalue = [112, 1, 1]\nclass = Low'), Text(0.07999615649472319, 0.6617647058823529, 'InGamePurchases <= 0.5\ngini = 0.278\nsamples = 6\nvalue = [5, 1, 0]\nclass = Low'), Text(0.07979116954662652, 0.6323529411764706, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.08020114344281985, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.08081610428710985, 0.6617647058823529, 'AvgSessionDurationMinutes <= 10.5\ngini = 0.018\nsamples = 108\nvalue = [107, 0, 1]\nclass = Low'), Text(0.08061111733901317, 0.6323529411764706, 'GameDifficulty_Medium <= 0.5\ngini = 0.278\nsamples = 6\nvalue = [5, 0, 1]\nclass = Low'), Text(0.08040613039091651, 0.6029411764705882, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), Text(0.08081610428710985, 0.6029411764705882, 'AchievementsUnlocked <= 6.0\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.08061111733901317, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.08102109123520651, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.08102109123520651, 0.6323529411764706, 'gini = 0.0\nsamples = 102\nvalue = [102, 0, 0]\nclass = Low'), Text(0.08184103902759317, 0.6911764705882353, 'Location_USA <= 0.5\ngini = 0.231\nsamples = 15\nvalue = [13, 0, 2]\nclass = Low'), Text(0.08163605207949651, 0.6617647058823529, 'PlayTimeHours <= 11.527\ngini = 0.133\nsamples = 14\nvalue = [13, 0, 1]\nclass = Low'), Text(0.08143106513139983, 0.6323529411764706, 'Age <= 32.5\ngini = 0.444\nsamples = 3\nvalue = [2, 0, 1]\nclass = Low'), Text(0.08122607818330317, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.08163605207949651, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.08184103902759317, 0.6323529411764706, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.08204602597568983, 0.6617647058823529, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.08468523293243438, 0.7205882352941176, 'PlayerLevel <= 43.5\ngini = 0.243\nsamples = 133\nvalue = [115, 7, 11]\nclass = Low'), Text(0.08301971397914898, 0.6911764705882353, 'PlayerLevel <= 2.5\ngini = 0.174\nsamples = 85\nvalue = [77, 6, 2]\nclass = Low'), Text(0.08245599987188315, 0.6617647058823529, 'AvgSessionDurationMinutes <= 40.0\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0]\nclass = Low'), Text(0.08225101292378649, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.08266098681997983, 0.6323529411764706, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.08358342808641481, 0.6617647058823529, 'AchievementsUnlocked <= 1.0\ngini = 0.157\nsamples = 83\nvalue = [76, 5, 2]\nclass = Low'), Text(0.08307096071617315, 0.6323529411764706, 'GameGenre_Simulation <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [2, 1, 0]\nclass = Low'), Text(0.08286597376807649, 0.6029411764705882, 'gini = 0.0\nsamples = 2\nvalue = [2, 0, 0]\nclass = Low'), Text(0.08327594766426981, 0.6029411764705882, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.08409589545665647, 0.6323529411764706, 'GameGenre_Strategy <= 0.5\ngini = 0.141\nsamples = 80\nvalue = [74, 4, 2]\nclass = Low'), Text(0.08368592156046314, 0.6029411764705882, 'PlayerLevel <= 30.5\ngini = 0.088\nsamples = 66\nvalue = [63, 2, 1]\nclass = Low'), Text(0.08348093461236648, 0.5735294117647058, 'gini = 0.0\nsamples = 42\nvalue = [42, 0, 0]\nclass = Low'), Text(0.0838909085085598, 0.5735294117647058, 'AvgSessionDurationMinutes <= 47.5\ngini = 0.226\nsamples = 24\nvalue = [21, 2, 1]\nclass = Low'), Text(0.08368592156046314, 0.5441176470588235, 'Age <= 44.5\ngini = 0.163\nsamples = 23\nvalue = [21, 1, 1]\nclass = Low'), Text(0.08348093461236648, 0.5147058823529411, 'GameDifficulty_Medium <= 0.5\ngini = 0.087\nsamples = 22\nvalue = [21, 0, 1]\nclass = Low'), Text(0.08327594766426981, 0.4852941176470588, 'gini = 0.0\nsamples = 18\nvalue = [18, 0, 0]\nclass = Low'), Text(0.08368592156046314, 0.4852941176470588, 'AchievementsUnlocked <= 27.5\ngini = 0.375\nsamples = 4\nvalue = [3, 0, 1]\nclass = Low'), Text(0.08348093461236648, 0.45588235294117646, 'gini = 0.0\nsamples = 3\nvalue = [3, 0, 0]\nclass = Low'), Text(0.0838909085085598, 0.45588235294117646, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0838909085085598, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.08409589545665647, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.0845058693528498, 0.6029411764705882, 'PlayerLevel <= 9.5\ngini = 0.357\nsamples = 14\nvalue = [11, 2, 1]\nclass = Low'), Text(0.08430088240475314, 0.5735294117647058, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.08471085630094646, 0.5735294117647058, 'AchievementsUnlocked <= 4.5\ngini = 0.153\nsamples = 12\nvalue = [11, 0, 1]\nclass = Low'), Text(0.0845058693528498, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.08491584324904312, 0.5441176470588235, 'gini = 0.0\nsamples = 11\nvalue = [11, 0, 0]\nclass = Low'), Text(0.08635075188571978, 0.6911764705882353, 'AvgSessionDurationMinutes <= 31.5\ngini = 0.338\nsamples = 48\nvalue = [38, 1, 9]\nclass = Low'), Text(0.08614576493762312, 0.6617647058823529, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3]\nclass = High'), Text(0.08655573883381644, 0.6617647058823529, 'Age <= 38.5\ngini = 0.269\nsamples = 45\nvalue = [38, 1, 6]\nclass = Low'), Text(0.08635075188571978, 0.6323529411764706, 'AvgSessionDurationMinutes <= 46.5\ngini = 0.38\nsamples = 29\nvalue = [22, 1, 6]\nclass = Low'), Text(0.08594077798952644, 0.6029411764705882, 'Location_Other <= 0.5\ngini = 0.302\nsamples = 27\nvalue = [22, 0, 5]\nclass = Low'), Text(0.08573579104142978, 0.5735294117647058, 'PlayTimeHours <= 15.605\ngini = 0.26\nsamples = 26\nvalue = [22, 0, 4]\nclass = Low'), Text(0.08532581714523646, 0.5441176470588235, 'PlayerLevel <= 46.5\ngini = 0.111\nsamples = 17\nvalue = [16, 0, 1]\nclass = Low'), Text(0.08512083019713979, 0.5147058823529411, 'Age <= 18.5\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1]\nclass = Low'), Text(0.08491584324904312, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.08532581714523646, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.08553080409333312, 0.5147058823529411, 'gini = 0.0\nsamples = 15\nvalue = [15, 0, 0]\nclass = Low'), Text(0.08614576493762312, 0.5441176470588235, 'PlayTimeHours <= 19.725\ngini = 0.444\nsamples = 9\nvalue = [6, 0, 3]\nclass = Low'), Text(0.08594077798952644, 0.5147058823529411, 'AvgSessionDurationMinutes <= 45.5\ngini = 0.375\nsamples = 4\nvalue = [1, 0, 3]\nclass = High'), Text(0.08573579104142978, 0.4852941176470588, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3]\nclass = High'), Text(0.08614576493762312, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.08635075188571978, 0.5147058823529411, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.08614576493762312, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0867607257819131, 0.6029411764705882, 'GameDifficulty_Hard <= 0.5\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1]\nclass = Medium'), Text(0.08655573883381644, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.08696571273000978, 0.5735294117647058, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0867607257819131, 0.6323529411764706, 'gini = 0.0\nsamples = 16\nvalue = [16, 0, 0]\nclass = Low'), Text(0.09291674006694105, 0.75, 'Location_Other <= 0.5\ngini = 0.086\nsamples = 428\nvalue = [409, 9, 10]\nclass = Low'), Text(0.09097576990215075, 0.7205882352941176, 'PlayTimeHours <= 19.235\ngini = 0.071\nsamples = 385\nvalue = [371, 9, 5]\nclass = Low'), Text(0.08965616642377848, 0.6911764705882353, 'Gender_Male <= 0.5\ngini = 0.051\nsamples = 306\nvalue = [298, 4, 4]\nclass = Low'), Text(0.0888618419999039, 0.6617647058823529, 'AvgSessionDurationMinutes <= 93.5\ngini = 0.088\nsamples = 131\nvalue = [125, 4, 2]\nclass = Low'), Text(0.08865685505180725, 0.6323529411764706, 'AvgSessionDurationMinutes <= 91.5\ngini = 0.136\nsamples = 83\nvalue = [77, 4, 2]\nclass = Low'), Text(0.08788815399644476, 0.6029411764705882, 'InGamePurchases <= 0.5\ngini = 0.106\nsamples = 72\nvalue = [68, 2, 2]\nclass = Low'), Text(0.0873756866262031, 0.5735294117647058, 'GameGenre_Strategy <= 0.5\ngini = 0.063\nsamples = 62\nvalue = [60, 1, 1]\nclass = Low'), Text(0.08696571273000978, 0.5441176470588235, 'GameGenre_Sports <= 0.5\ngini = 0.035\nsamples = 56\nvalue = [55, 0, 1]\nclass = Low'), Text(0.0867607257819131, 0.5147058823529411, 'gini = 0.0\nsamples = 46\nvalue = [46, 0, 0]\nclass = Low'), Text(0.08717069967810644, 0.5147058823529411, 'AchievementsUnlocked <= 8.5\ngini = 0.18\nsamples = 10\nvalue = [9, 0, 1]\nclass = Low'), Text(0.08696571273000978, 0.4852941176470588, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.0873756866262031, 0.4852941176470588, 'gini = 0.0\nsamples = 9\nvalue = [9, 0, 0]\nclass = Low'), Text(0.08778566052239642, 0.5441176470588235, 'Location_Europe <= 0.5\ngini = 0.278\nsamples = 6\nvalue = [5, 1, 0]\nclass = Low'), Text(0.08758067357429976, 0.5147058823529411, 'gini = 0.0\nsamples = 5\nvalue = [5, 0, 0]\nclass = Low'), Text(0.0879906474704931, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.08840062136668642, 0.5735294117647058, 'PlayerLevel <= 17.5\ngini = 0.34\nsamples = 10\nvalue = [8, 1, 1]\nclass = Low'), Text(0.08819563441858976, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]\nclass = High'), Text(0.08860560831478308, 0.5441176470588235, 'AchievementsUnlocked <= 32.0\ngini = 0.198\nsamples = 9\nvalue = [8, 1, 0]\nclass = Low'), Text(0.08840062136668642, 0.5147058823529411, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.08881059526287975, 0.5147058823529411, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]\nclass = Medium'), Text(0.08942555610716973, 0.6029411764705882, 'AchievementsUnlocked <= 7.5\ngini = 0.298\nsamples = 11\nvalue = [9, 2, 0]\nclass = Low'), Text(0.08922056915907307, 0.5735294117647058, 'InGamePurchases <= 0.5\ngini = 0.444\nsamples = 3\nvalue = [1, 2, 0]\nclass = Medium'), Text(0.08901558221097641, 0.5441176470588235, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Medium'), Text(0.08942555610716973, 0.5441176470588235, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0]\nclass = Low'), Text(0.08963054305526641, 0.5735294117647058, 'gini = 0.0\nsamples = 8\nvalue = [8, 0, 0]\nclass = Low'), Text(0.08906682894800058, 0.6323529411764706, 'gini = 0.0\nsamples = 48\nvalue = [48, 0, 0]\nclass = Low'), Text(0.09045049084765305, 0.6617647058823529, 'AvgSessionDurationMinutes <= 115.5\ngini = 0.023\nsamples = 175\nvalue = [173, 0, 2]\nclass = Low'), Text(0.09004051695145973, 0.6323529411764706, 'GameGenre_Simulation <= 0.5\ngini = 0.012\nsamples = 164\nvalue = [163, 0, 1]\nclass = Low'), Text(0.08983553000336307, 0.6029411764705882, 'gini = 0.0\nsamples = 136\nvalue = [136, 0, 0]\nclass = Low'), Text(0.09024550389955639, 0.6029411764705882, 'Age <= 21.5\ngini = 0.069\nsamples = 28\nvalue = [27, 0, 1]\nclass = Low'), Text(0.09004051695145973, 0.5735294117647058, 'Age <= 20.0\ngini = 0.32\nsamples = 5\nvalue = [4, 0, 1]\nclass = Low'), Text(0.08983553000336307, 0.5441176470588235, 'gini = 0.0\nsamples = 4\nvalue = [4, 0, 0]\nclass = Low'), ...]
print("Train accuracy:", accuracy_score(y_train, dTree.predict(X_train)))
print("Test accuracy:", accuracy_score(y_test, dTree.predict(X_test)))
Train accuracy: 1.0 Test accuracy: 1.0
As we see, this unrestricted tree classifier has made the model overfit too much, and there are too many leaves and branches with very small samples.
If we add some regularisation parameters, this will stop the tree getting too tall, prevent tiny groups, ensure meaningful leaf sizes and will make it reproduceable
dTree = DecisionTreeClassifier(
max_depth=4,
min_samples_leaf=10,
random_state=42
)
dTree = dTree.fit(X, Y)
plt.figure(figsize=(24,12))
tree.plot_tree(dTree, feature_names=X.columns,
class_names=['Low', 'Medium', 'High'],
filled=True,
rounded=True)
[Text(0.5, 0.9, 'SessionsPerWeek <= 2.5\ngini = 0.633\nsamples = 40034\nvalue = [10324, 19374, 10336]\nclass = Medium'), Text(0.25, 0.7, 'SessionsPerWeek <= 1.5\ngini = 0.272\nsamples = 5965\nvalue = [5034.0, 728.0, 203.0]\nclass = Low'), Text(0.375, 0.8, 'True '), Text(0.125, 0.5, 'AchievementsUnlocked <= 47.5\ngini = 0.142\nsamples = 3947\nvalue = [3649, 166, 132]\nclass = Low'), Text(0.0625, 0.3, 'PlayerLevel <= 78.5\ngini = 0.134\nsamples = 3782\nvalue = [3514, 144, 124]\nclass = Low'), Text(0.03125, 0.1, 'gini = 0.118\nsamples = 3021\nvalue = [2834, 90, 97]\nclass = Low'), Text(0.09375, 0.1, 'gini = 0.195\nsamples = 761\nvalue = [680, 54, 27]\nclass = Low'), Text(0.1875, 0.3, 'PlayerLevel <= 75.0\ngini = 0.31\nsamples = 165\nvalue = [135, 22, 8]\nclass = Low'), Text(0.15625, 0.1, 'gini = 0.209\nsamples = 131\nvalue = [116, 10, 5]\nclass = Low'), Text(0.21875, 0.1, 'gini = 0.555\nsamples = 34\nvalue = [19, 12, 3]\nclass = Low'), Text(0.375, 0.5, 'AvgSessionDurationMinutes <= 150.5\ngini = 0.45\nsamples = 2018\nvalue = [1385, 562, 71]\nclass = Low'), Text(0.3125, 0.3, 'AvgSessionDurationMinutes <= 118.5\ngini = 0.338\nsamples = 1653\nvalue = [1314, 281, 58]\nclass = Low'), Text(0.28125, 0.1, 'gini = 0.242\nsamples = 1259\nvalue = [1088, 127, 44]\nclass = Low'), Text(0.34375, 0.1, 'gini = 0.517\nsamples = 394\nvalue = [226.0, 154.0, 14.0]\nclass = Low'), Text(0.4375, 0.3, 'AchievementsUnlocked <= 5.5\ngini = 0.368\nsamples = 365\nvalue = [71, 281, 13]\nclass = Medium'), Text(0.40625, 0.1, 'gini = 0.405\nsamples = 41\nvalue = [30, 10, 1]\nclass = Low'), Text(0.46875, 0.1, 'gini = 0.283\nsamples = 324\nvalue = [41, 271, 12]\nclass = Medium'), Text(0.75, 0.7, 'AvgSessionDurationMinutes <= 93.5\ngini = 0.588\nsamples = 34069\nvalue = [5290, 18646, 10133]\nclass = Medium'), Text(0.625, 0.8, ' False'), Text(0.625, 0.5, 'AvgSessionDurationMinutes <= 25.5\ngini = 0.497\nsamples = 16747\nvalue = [4694, 10850, 1203]\nclass = Medium'), Text(0.5625, 0.3, 'SessionsPerWeek <= 13.5\ngini = 0.431\nsamples = 3155\nvalue = [2229, 825, 101]\nclass = Low'), Text(0.53125, 0.1, 'gini = 0.263\nsamples = 2047\nvalue = [1739, 246, 62]\nclass = Low'), Text(0.59375, 0.1, 'gini = 0.53\nsamples = 1108\nvalue = [490, 579, 39]\nclass = Medium'), Text(0.6875, 0.3, 'SessionsPerWeek <= 5.5\ngini = 0.417\nsamples = 13592\nvalue = [2465, 10025, 1102]\nclass = Medium'), Text(0.65625, 0.1, 'gini = 0.501\nsamples = 2505\nvalue = [1514, 914, 77]\nclass = Low'), Text(0.71875, 0.1, 'gini = 0.309\nsamples = 11087\nvalue = [951, 9111, 1025]\nclass = Medium'), Text(0.875, 0.5, 'SessionsPerWeek <= 9.5\ngini = 0.53\nsamples = 17322\nvalue = [596.0, 7796.0, 8930.0]\nclass = High'), Text(0.8125, 0.3, 'SessionsPerWeek <= 8.5\ngini = 0.225\nsamples = 7212\nvalue = [283, 6312, 617]\nclass = Medium'), Text(0.78125, 0.1, 'gini = 0.165\nsamples = 6211\nvalue = [249, 5662, 300]\nclass = Medium'), Text(0.84375, 0.1, 'gini = 0.477\nsamples = 1001\nvalue = [34, 650, 317]\nclass = Medium'), Text(0.9375, 0.3, 'SessionsPerWeek <= 12.5\ngini = 0.301\nsamples = 10110\nvalue = [313, 1484, 8313]\nclass = High'), Text(0.90625, 0.1, 'gini = 0.497\nsamples = 3053\nvalue = [97, 1086, 1870]\nclass = High'), Text(0.96875, 0.1, 'gini = 0.162\nsamples = 7057\nvalue = [216, 398, 6443]\nclass = High')]
print("Train accuracy:", accuracy_score(y_train, dTree.predict(X_train)))
print("Test accuracy:", accuracy_score(y_test, dTree.predict(X_test)))
Train accuracy: 0.8189701316775506 Test accuracy: 0.8227458163350262
This output is more realistic, with an improved test score coming out at 82% Accuracy.
Hyperperameter Tuning¶
param_grid = {
'max_depth': [2, 3, 4, 5, 6],
'min_samples_leaf': [5, 10, 20, 50],
'min_samples_split': [10, 20, 50],
'criterion': ['gini', 'entropy']
}
dt = DecisionTreeClassifier(random_state=42)
grid = GridSearchCV(
estimator=dt,
param_grid=param_grid,
cv=5,
scoring='accuracy',
n_jobs= 12
)
grid.fit(X_train, y_train)
print("Best parameters:", grid.best_params_)
print("Best CV accuracy:", grid.best_score_)
Best parameters: {'criterion': 'entropy', 'max_depth': 6, 'min_samples_leaf': 5, 'min_samples_split': 10}
Best CV accuracy: 0.874674639816978
best_tree = grid.best_estimator_
best_tree.fit(X_train, y_train)
DecisionTreeClassifier(criterion='entropy', max_depth=6, min_samples_leaf=5,
min_samples_split=10, random_state=42)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
Parameters
| criterion | 'entropy' | |
| splitter | 'best' | |
| max_depth | 6 | |
| min_samples_split | 10 | |
| min_samples_leaf | 5 | |
| min_weight_fraction_leaf | 0.0 | |
| max_features | None | |
| random_state | 42 | |
| max_leaf_nodes | None | |
| min_impurity_decrease | 0.0 | |
| class_weight | None | |
| ccp_alpha | 0.0 | |
| monotonic_cst | None |
y_pred = best_tree.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))
print("\nClassification report:\n")
print(classification_report(y_test, y_pred,
target_names=['Low', 'Medium', 'High']))
ConfusionMatrixDisplay.from_estimator(
best_tree,
X_test,
y_test,
display_labels=['Low', 'Medium', 'High'],
cmap='Blues'
);
Accuracy: 0.8770293897260845
Classification report:
precision recall f1-score support
Low 0.86 0.84 0.85 3097
Medium 0.87 0.91 0.89 5813
High 0.90 0.85 0.88 3101
accuracy 0.88 12011
macro avg 0.88 0.87 0.87 12011
weighted avg 0.88 0.88 0.88 12011
Observations¶
After hyperparameter tuning, test set scores come out at 88% which is a good improvement on the pre-tuned results
classes = y_test.unique()
# Binarise y_test for multiclass ROC
y_test_bin = label_binarize(y_test, classes=classes)
y_prob_tree = best_tree.predict_proba(X_test)
auc_roc_tree = roc_auc_score(
y_test_bin,
y_prob_tree,
average="macro",
multi_class="ovr"
)
print("Decision Tree AUC-ROC (OvR, macro average):", auc_roc_tree)
Decision Tree AUC-ROC (OvR, macro average): 0.29113166318714756
Final Observation¶
The AUC_ROC tuning on the Decision tree drastically reduced the accuracy, bringing it down to just 29%. This is an isue with using a Decision Tree model on this data. It just doesn't perform as well as the SVM model. What it tells us is that no configuration of a single decision tree will generalise well on this dataset.
Clustering¶
From our previous analysis, the best features to cluster on are Sessions Played Per Week and the Average Session Duration
features = [
'SessionsPerWeek',
'AvgSessionDurationMinutes'
]
X = df[['SessionsPerWeek', 'AvgSessionDurationMinutes']]
X_scaled = StandardScaler().fit_transform(X)
inertia = []
K = range(2, 11)
for k in K:
km = KMeans(n_clusters=k, random_state=42)
km.fit(X_scaled)
inertia.append(km.inertia_)
plt.plot(K, inertia, marker='o')
plt.xlabel('Number of clusters')
plt.ylabel('Inertia')
plt.title('Elbow Method for Optimal K')
plt.show()
Observations¶
The elbow is showing us that anywhere between 2 and 5 clusters should give us the best results
for k in [2, 3, 4, 5]:
labels = KMeans(n_clusters=k, random_state=42).fit_predict(X_scaled)
print(k, silhouette_score(X_scaled, labels))
2 0.35347207319244445 3 0.37591677846954025 4 0.4093028147348912 5 0.3798706976290071
The result of the clustering shows that 4 clusters will provide the best possible outcome for clustering of the data based on these features.
kmeans = KMeans(n_clusters=4, random_state=42)
labels = kmeans.fit_predict(X_scaled)
sil_score = silhouette_score(X_scaled, labels)
print(sil_score)
0.4093028147348912
df['Cluster'] = labels
df.groupby('Cluster')[features].mean()
| SessionsPerWeek | AvgSessionDurationMinutes | |
|---|---|---|
| Cluster | ||
| 0 | 4.499600 | 137.501699 |
| 1 | 14.516325 | 51.977489 |
| 2 | 4.520307 | 52.769496 |
| 3 | 14.510655 | 137.026613 |
end_time = time.time()
elapsed_time = end_time - start_time
minutes = int(elapsed_time // 60)
seconds = elapsed_time % 60
print(f"Total notebook execution time: {minutes} minutes {seconds:.2f} seconds")
Total notebook execution time: 29 minutes 20.22 seconds