Дерево решений для непрерывных и категориальных признаков (классификация и регрессия) - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь реализовать дерево решений с python с нуля. Мой набор данных включает в себя как продолжает , так и категориальные функции.

Большинство учебных пособий, которые я видел, реализуют часть классификации CART (с использованием gini или онтропии), но не регрессионная часть (MSE).

Ссылки:

https://towardsdatascience.com/decision-tree-from-scratch-in-python-46e99dfea775

https://medium.com/@penggongting / дерево принятия решений- с нуля python -c732e7c69aea

https://datascience.stackexchange.com/questions/32622/how-to-make-a-decision-tree-when-i-have-both-continous-and-categorical-variables

https://stats.stackexchange.com/questions/330965/decision-tree-categorical-and-continuous-variable

Если я правильно понимаю, мне нужно решить, основываясь на типе столбца / объекта (предположим, я отправлю типы объектов в качестве входных данных в мой классификатор), как реагировать.

Если функция является непрерывной, то с помощью Алгоритм классификации (например, CART с Джини или онтропией) хорош, но когда он категоричен, он должен работать по-другому (и выполнять вычисления для mse - среднеквадратичная ошибка).

В библиотеке sklearn есть 2 отдельных класса для этих различных целей. :

  • sklearn.tree.DecisionTreeClassifier

  • sklearn.tree.DecisionTreeRegressor

Если я хочу написать свою собственную реализацию, как она может быть обработана? Является ли это хорошей ссылкой для этого?

Поскольку я вижу проблему, я должен создать базовый класс-классификатор, который наследуют его 2 других класса: ClassificationClassifier и RegressionClassifier, и каждый из них должен будет реализовать метод split на своем по-своему ... Первый использует gini / ontropy, а второй - mse!

...