是否有一种将decisionTreeClassifier中的SKLearn与稀疏元组相匹配的方法?我所拥有的数据是基于大约100个特性,但其中只有少数是用来做决定的。实际上,每一行数据都是稀疏元组。
我的输入数据是30k项,如下所示:
(yes if f1=v1 and f3=v2)
(no if f1=v3 and f5=v4)
...诸若此类。
有数以万计的条目,结论不一定一致。我的目标是找到一种自动化的方法,将其减少到数十个近似于相同行为的节点。我需要访问生成的结构--这就是我考虑使用SKLearn而不是DataRobot的原因。
我对SKLearn decisionTreeClassifier的理解是,我必须将它转换为100个值的元组数组,并将这些特性只给出一个索引号。但是,这意味着我必须为每行100个特性中的每一个提供一个值。这并不能很好地代表我所拥有的数据。
这就像有数据要分类,看起来就像
(yes,v1,__,v2,__,__)
(no ,v3,__,__,__,v4)因此,兴趣在于,例如,能够将数据的值列出为“无”,以表明对该字段没有任何限制。
给定的数据只有等式。但是,预期的产出将存在不平等,因为这似乎是SKLearn提供的。我真的更喜欢有等式和不等式的决策树。
发布于 2022-01-13 00:06:11
我自己对这个论坛以及SKLearn错误报告和论坛的研究是,问题的核心-- SKLearn决策树分类器不处理分类或稀疏数据--多年来一直被抱怨,没有对这方面的代码进行任何重要的更改。
有三种方法提出了自己的看法。首先,将元组扩展到一些缺省值为0的非稀疏元组,例如对于所有不关心的情况,其思想是该值的恒定性将导致SKLearn被迫使用其他值来进行决策。其次,将马戏团转移到R-显然,等价的例程确实处理分类和稀疏数据。或者,第三,自己从头开始编写决策树训练代码。
我打算稍后再来告诉你这件事对我来说是怎么回事。
https://datascience.stackexchange.com/questions/106964
复制相似问题