我尝试了解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会将任何变量读为分类变量,但这会失去随机森林的优势之一(能够混合变量类型......)