我试图在Python中训练randomforest
分类器。但是,在我原来的pandas.dataframe
中,有float64,object,datetime64,int64和booldtypes
(熊猫允许的几乎所有类型的dty)。在python中训练randomforest时哪个dtype性能更好?
- 是否有必要转换布尔到浮动或INT?
- 对于二值对象列,我应该把它转换为布尔,INT,或浮动?哪一个表现会更好?或者没有关系?
谢谢!
我试图在Python中训练randomforest
分类器。但是,在我原来的pandas.dataframe
中,有float64,object,datetime64,int64和booldtypes
(熊猫允许的几乎所有类型的dty)。在python中训练randomforest时哪个dtype性能更好?
谢谢!
几乎所有的scikit-learn估计器都会在运行算法之前将输入数据转换为浮点数,而不管数组中的原始类型如何。这适用于随机森林实施。
谢谢@jakevdp!下面的问题:如果我有一个双值(A/B值)对象(字符串)变量,我必须将它转换为浮点型吗?或者没有关系? –
是的 - 在scikit-learn文档中查看[Encoding Categorical Features](http://scikit-learn.org/stable/modules/preprocessing.html#encoding-categorical-features)。请注意,随机森林是少数算法之一,真正的分类特征可以(理论上)很自然地处理,而不需要像单热编码这样的技巧。不幸的是,sklearn实现目前不是用来处理这种形式的数据。 – jakevdp
欣赏! @jakevdp –
你没有尝试过'%timeit'吗? – Alexander