Я пытаюсь реализовать дерево решений с 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 отдельных класса для этих различных целей. :
Если я хочу написать свою собственную реализацию, как она может быть обработана? Является ли это хорошей ссылкой для этого?
Поскольку я вижу проблему, я должен создать базовый класс-классификатор, который наследуют его 2 других класса: ClassificationClassifier и RegressionClassifier, и каждый из них должен будет реализовать метод split на своем по-своему ... Первый использует gini / ontropy, а второй - mse!