RandomForestClassifier分类/数值变量

时间:2017-02-24 13:31:00

标签: python-2.7

我尝试了解RandomForestClassifier的工作原理。 我在文档中读到它可以接受连续和分类的功能。 我还读到在python中我们不能给出字符串值。

因此,我使用LabelEncoder

将我的字符串特征(分类变量)转换为数字特征

现在我的问题是:python如何知道变量应该被视为连续变量还是分类变量?

例如,如果我想预测我是否有水果或蔬菜。 我的特征向量是:

food= ["apple","eggplant","orange","courgette","banana",....] 

这3种水果和2种蔬菜在特征向量中出现了很多时间

我使用LabelEncoder并获取:

food=[0,1,2,3,4,5,.....]

如果python知道它是一个分类变量,它会尝试使用:

来破坏树
if new_food in [0,2,4]: 
    fruits 
else: 
    vegetable #(and we will have good results)

如果python认为它是一个连续变量,它会尝试使用:

来破坏树
if new_food<3: 
    fruits 
else: 
    vegetable #(and we will have bad results)...

如果我想预测我是否为孩子或成人购买食物(让我们想象孩子喜欢水果而不是蔬菜)关于食物和食物的数量。 我将给出python 2向量的特征:

food=[0,1,2,3,4,5,.....]
quantity=[5,3,2,4,5,1.....]

我如何告诉python食物是一个int列表,应该被视为分类值,但数量是一个应该被视为连续变量的int列表????

我希望我的问题足够明确......

我找不到关于这个问题的任何内容。我想python会将任何变量读为分类变量,但这会失去随机森林的优势之一(能够混合变量类型......)

0 个答案:

没有答案