Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中处理标称变量的不同方法_Python_Scikit Learn_Decision Tree - Fatal编程技术网

Python中处理标称变量的不同方法

Python中处理标称变量的不同方法,python,scikit-learn,decision-tree,Python,Scikit Learn,Decision Tree,因此,我对Python相当陌生,我正在尝试使用sklearn包中的DecisionTreeClassifier()函数。问题是,我有(大部分)标称变量,DecisionTreeClassifier()无法处理。在R(我很熟悉),通过将变量设置为factors(as.factor())可以很容易地解决这个问题,回归函数会自动创建虚拟变量并删除一个虚拟参考变量。为此,我使用了pandas.get_dummies()函数,该函数不会删除因子变量的“参考”级别 这是否会导致DecisionTreeCla

因此,我对Python相当陌生,我正在尝试使用
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
以避免多重共线变量。这就是我们所知道的