scikit learn中的DecisionTree类需要进行一些重构,以有效地处理高基数分类特征(甚至可能处理自然稀疏的数据,如文本TF-IDF向量)。
我知道scikit learn中的计算是基于NumPy的,所以一切都是矩阵或数组。
此软件包如何处理混合数据(数值和标称值)?
例如,产品可以具有属性"color"one_answers"price",其中color是名义的,price是数字的。我注意到有一个叫做"DictVectorizer"的模型来计算标称数据。例如,有两种产品是:
products = [{'color':'black','price':10}, {'color':'green','price':5}]
"DictVectorizer"的结果可能是:
[[1,0,10],
[0,1,5]]
如果属性"color"有很多不同的值,则矩阵将非常稀疏。长特征会降低一些算法的性能,例如决策树。
是否有任何方法可以在不需要创建伪代码的情况下使用标称值
目前还没有人对此进行研究。