当我使用sklearn-decisiontreeclassifier时如何处理“无”?

时间:2016-11-08 08:23:02

标签: python scikit-learn

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

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

X是训练输入样本,如果X中有“无”,该怎么办?

1 个答案:

答案 0 :(得分:0)

决策树随机森林等集合方法(基于此类树)只接受数值数据,因为它在树的每个节点上执行拆分,以便最小化a给定杂质函数(熵,基尼指数......)

如果您的数据中有某些分类功能或某些Nan,则学习步骤会出错。

规避

  • 将分类数据转换为数字数据:使用例如 One Hot Encoder Heresklearn文档的链接。

警告:如果您的功能包含许多类别(例如ID功能),OneHotEncoding可能会导致内存问题。尽量避免对这些功能进行编码。

  • 对缺失的值进行某些值。存在许多策略(平均值,中位数,最常见...)。 Heresklearn文档的链接。

完成预处理后,您可以将决策树放入数据中。

相关问题