2016-03-04 68 views
0

我试图在Python中训练randomforest分类器。但是,在我原来的pandas.dataframe中,有float64,object,datetime64,int64和booldtypes(熊猫允许的几乎所有类型的dty)。在python中训练randomforest时哪个dtype性能更好?

  • 是否有必要转换布尔浮动INT
  • 对于二值对象列,我应该把它转换为布尔INT,或浮动?哪一个表现会更好?或者没有关系?

谢谢!

+0

你没有尝试过'%timeit'吗? – Alexander

回答

1

几乎所有的scikit-learn估计器都会在运行算法之前将输入数据转换为浮点数,而不管数组中的原始类型如何。这适用于随机森林实施。

+0

谢谢@jakevdp!下面的问题:如果我有一个双值(A/B值)对象(字符串)变量,我必须将它转换为浮点型吗?或者没有关系? –

+0

是的 - 在scikit-learn文档中查看[Encoding Categorical Features](http://scikit-learn.org/stable/modules/preprocessing.html#encoding-categorical-features)。请注意,随机森林是少数算法之一,真正的分类特征可以(理论上)很自然地处理,而不需要像单热编码这样的技巧。不幸的是,sklearn实现目前不是用来处理这种形式的数据。 – jakevdp

+0

欣赏! @jakevdp –

相关问题