当我使用 sklearn-decisiontree classifier 时如何处理"None"?



当我使用sklearn构建决策树时,示例:

clf = tree.DecisionTreeClassifier()
clf = clf.fit(X,Y)
result = clf.predict(testdata)

X是训练输入样本,如果X中有"None",怎么办?

决策树和集成方法,如随机森林(基于这样的树)只接受数值数据,因为它在树的每个节点上执行分裂,以最小化给定的不纯函数(熵,基尼指数…)

如果你的数据中有一些分类特征或一些Nan,学习步骤将抛出一个错误。

To 规避 this:

  • 将分类数据转换为数值数据:为此使用例如One Hot Encoder。这里是sklearn的文档链接。

警告:如果您有一个具有许多类别的功能(例如ID功能)OneHotEncoding可能导致内存问题。尽量避免对这些特性进行编码。

  • 为缺失的输入一些值。存在许多策略(平均、中位数、最频繁……)。这是sklearn的文档链接。

一旦你完成了这个预处理,你就可以让你的决策树适合你的数据。

相关内容

  • 没有找到相关文章

最新更新