Importing Libraries and Exploration of Dataset¶

In [1]:
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¶

In [2]:
# Loading the dataset in to a Pandas Dataframe
df = pd.read_csv('online_gaming_behavior_dataset.csv')
In [3]:
# printing a section of the dataframe to check everything has loaded in correctly
df.head()
Out[3]:
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¶

In [4]:
# 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

In [5]:
# Check for number of unique values each column has
df.nunique()
Out[5]:
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

In [6]:
# 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.

In [7]:
# Create list of Numerical Columns

numerical_cols = ['Age', 'PlayTimeHours', 'SessionsPerWeek', 'AvgSessionDurationMinutes', 
                  'PlayerLevel', 'AchievementsUnlocked']

categorical_cols = ['Gender', 'Location', 'GameGenre', 'InGamePurchases', 'GameDifficulty', 'EngagementLevel']

Exploring the Data¶

Data Analysis and Preprocessing¶

Univariate Analysis¶

In [8]:
# Create a summary table of the dataset
df[numerical_cols].describe().T
Out[8]:
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

In [9]:
# Create Histograms
df[numerical_cols].hist(figsize=(6,6))
plt.show
Out[9]:
<function matplotlib.pyplot.show(close=None, block=None)>
No description has been provided for this image

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¶

In [10]:
# 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:

In [11]:
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 %')
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

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

In [12]:
# Average of numerical variables by engagement level
df.groupby(['EngagementLevel'])[numerical_cols].mean()
Out[12]:
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

In [13]:
# Plot any correlation between numerical values
plt.figure(figsize=(6,6))
sns.heatmap(df[numerical_cols].corr(), annot=True, fmt='0.2f', cmap='YlOrRd')
Out[13]:
<Axes: >
No description has been provided for this image

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¶

In [14]:
# 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)
In [15]:
df.head()
Out[15]:
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.

In [16]:
Y= df.EngagementLevel
X= df.drop(columns = ['EngagementLevel'])
In [17]:
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.3, random_state = 1, stratify = Y)
In [18]:
# 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)
In [19]:
# 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¶

In [20]:
# Fitting SVM
svm = SVC(kernel='linear') # Linear kernal or linear decision boundary
model = svm.fit(X= X_train_scaled, y = y_train)
In [21]:
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

No description has been provided for this image
In [22]:
# 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

No description has been provided for this image

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.

In [23]:
pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('svm', SVC(probability=True))
])

Next we define the hyperparameter combinations we will use

In [24]:
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

In [25]:
grid = GridSearchCV(
    estimator=pipeline,
    param_grid=param_grid,
    cv=5,
    scoring='accuracy',
    n_jobs= 12
)

grid.fit(X_train, y_train)
Out[25]:
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
In [26]:
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
In [27]:
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

In [28]:
grid = GridSearchCV(
    estimator=pipeline,
    param_grid=param_grid,
    cv=5,
    scoring='f1_macro',
    n_jobs= 12
)

grid.fit(X_train, y_train)
Out[28]:
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
In [29]:
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
In [30]:
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

In [31]:
grid = GridSearchCV(
    estimator=pipeline,
    param_grid=param_grid,
    cv=5,
    scoring='roc_auc_ovr',
    n_jobs= 12
)

grid.fit(X_train, y_train)
Out[31]:
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
In [32]:
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
In [33]:
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¶

In [34]:
dTree = DecisionTreeClassifier()
In [35]:
dTree = dTree.fit(X, Y)
In [36]:
plt.figure(figsize=(10,8))
tree.plot_tree(dTree, feature_names=X.columns,
    class_names=['Low', 'Medium', 'High'],
               filled=True,
               rounded=True)
Out[36]:
[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'),
 ...]
No description has been provided for this image
In [37]:
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

In [38]:
dTree = DecisionTreeClassifier(
    max_depth=4,
    min_samples_leaf=10,
    random_state=42
)
In [39]:
dTree = dTree.fit(X, Y)
In [40]:
plt.figure(figsize=(24,12))
tree.plot_tree(dTree, feature_names=X.columns,
    class_names=['Low', 'Medium', 'High'],
               filled=True,
               rounded=True)
Out[40]:
[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')]
No description has been provided for this image
In [41]:
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¶

In [42]:
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
In [43]:
best_tree = grid.best_estimator_

best_tree.fit(X_train, y_train)
Out[43]:
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
In [44]:
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

No description has been provided for this image

Observations¶

After hyperparameter tuning, test set scores come out at 88% which is a good improvement on the pre-tuned results

In [45]:
classes = y_test.unique()

# Binarise y_test for multiclass ROC
y_test_bin = label_binarize(y_test, classes=classes)
In [46]:
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

In [47]:
features = [
    'SessionsPerWeek',
    'AvgSessionDurationMinutes'
]
In [48]:
X = df[['SessionsPerWeek', 'AvgSessionDurationMinutes']]
X_scaled = StandardScaler().fit_transform(X)
In [49]:
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()
No description has been provided for this image

Observations¶

The elbow is showing us that anywhere between 2 and 5 clusters should give us the best results

In [50]:
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.

In [51]:
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
In [52]:
df['Cluster'] = labels
df.groupby('Cluster')[features].mean()
Out[52]:
SessionsPerWeek AvgSessionDurationMinutes
Cluster
0 4.499600 137.501699
1 14.516325 51.977489
2 4.520307 52.769496
3 14.510655 137.026613
In [53]:
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