我正在尝试从头开始使用python实现决策树。 我的数据集同时包含继续和分类功能。
我看过的大多数教程都实现了CART的分类部分(使用基尼或熵),而不是回归部分(MSE)。
参考:
https://towardsdatascience.com/decision-tree-from-scratch-in-python-46e99dfea775
https://medium.com/@penggongting/implementing-decision-tree-from-scratch-in-python-c732e7c69aea
https://stats.stackexchange.com/questions/330965/decision-tree-categorical-and-continuous-variable
如果我正确理解,我需要根据列/功能类型(假设我将功能类型作为输入发送到我的分类器)做出决定。
如果特征是连续的,则使用分类算法(例如具有基尼或熵的CART)是好的,但是当分类时,其工作方式应有所不同(并计算mse-均方误差)。
在sklearn库中,有两个单独的类用于这些不同的目的:
sklearn.tree.DecisionTreeClassifier
sklearn.tree.DecisionTreeRegressor
如果我想编写自己的实现,该如何处理?这是很好的参考吗?
我看到了这个问题,我应该创建一个基础分类器类,另外两个类将继承它:ClassificationClassifier和RegressionClassifier,并且每个类都需要以自己的方式实现split方法...第一个使用gini / ontropy第二个使用mse!