Различные прогнозы дерева решений (CART / RPART) в Python и R - PullRequest
0 голосов
/ 16 июня 2020

Я создал дерево CART в Python Scikit-Learn и RPART R. Оба используют индекс Джини для разделения. Но я вижу разные результаты.

Данные на Google Диске: данные

Код в Python:

X = dummy2.drop('y', axis = 1)
y = dummy2.y

from sklearn.tree import DecisionTreeClassifier, export_text, plot_tree
tree1 = DecisionTreeClassifier(max_depth = 2, random_state = 1)
tree1.fit(X, y)

fig, ax = plt.subplots(figsize=(30, 10))
plot_tree(tree1, ax = ax, feature_names = X.columns, 
          class_names = y.unique(), filled = True, 
          node_ids= True, proportion=True, fontsize = 20)
plt.show()

Код в R :

library(rpart)
m <- rpart(y~., data = dummy2, method = 'class')

library(rpart.plot)
rpart.plot(m)

Я вставляю древовидные диаграммы Python и R:

enter image description here

In R:

enter image description here

Как ни странно, результат python вообще не показывает класс B. Согласно данным, вывод R правильный. Почему DecisionTreeClassifier в scikit-learn не дает правильного вывода? Или мне что-то не хватает?

Заранее большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...