Python中处理标称变量的不同方法
因此,我对Python相当陌生,我正在尝试使用Python中处理标称变量的不同方法,python,scikit-learn,decision-tree,Python,Scikit Learn,Decision Tree,因此,我对Python相当陌生,我正在尝试使用sklearn包中的DecisionTreeClassifier()函数。问题是,我有(大部分)标称变量,DecisionTreeClassifier()无法处理。在R(我很熟悉),通过将变量设置为factors(as.factor())可以很容易地解决这个问题,回归函数会自动创建虚拟变量并删除一个虚拟参考变量。为此,我使用了pandas.get_dummies()函数,该函数不会删除因子变量的“参考”级别 这是否会导致DecisionTreeCla
sklearn
包中的DecisionTreeClassifier()
函数。问题是,我有(大部分)标称变量,DecisionTreeClassifier()
无法处理。在R
(我很熟悉),通过将变量设置为factors(as.factor()
)可以很容易地解决这个问题,回归函数会自动创建虚拟变量并删除一个虚拟参考变量。为此,我使用了pandas.get_dummies()
函数,该函数不会删除因子变量的“参考”级别
这是否会导致
DecisionTreeClassifier()函数出现任何问题?有更好的方法吗?谢谢。您可以将drop\u first
参数设置为True
pandas.get_dummies(df, drop_first=True) # df is your DataFrame
这将创建k-1
伪变量,而不是k
根据数据的不同,决策树分类器可能仍然使用k
伪变量运行,但通常最好使用k-1
以避免多重共线变量。这就是我们所知道的