Why Decision Tree Classifier is not working with categorical value? I am learning my way through this, so please be easy on me if you find any mistakes, I could really use a professional opinion here. Thx.

I am trying to model a Decision Tree Classifier as part of an ensemble (soft voting system). The problem is that I have the categorical features already converted to Integer values (i.e. if blood pressure is within the medium range, then blood pressure =2 in the dataset).

The categories for the feature variables are as follows

feature#1 (total cholesterol) = 1, 2, 3

feature#2 (Systolic Blood Pressure) = 1, 2, 3

feature#3 (diastolic Blood Pressure) = 1, 2, 3

feature#4 (smoking rate) = 1, 2, 3

The target/class variable (stroke) = 1, 2 (yes and no, respectively).

The problem is that when I draw the DT (please check the picture), I expect to get a splitting decision where a certain feature equals one of the above-mentioned values (i.e. 1, 2, 3). However, it is giving me other values like 1.5, 0.5, etc.,

I have included the code and a sample dataset for anyone who can help me out. btw, I need to keep the current dataset in the number format as I am using it in conjunction with other classifiers for the soft voting classifier.

Here is the dataset and this is the code for reference, I am using Spyder with Python 3.7
Its all ok.

Exactly because your values are between 1 and 2 does he chooses 1.5. In other words trees will select 1 and 2 as values (integers not real numbers) but 1.5 is there as cut-off point between these classes.