使用 sklearn 同时使用数字和分类变量来拟合决策树

Posted

技术标签:

【中文标题】使用 sklearn 同时使用数字和分类变量来拟合决策树【英文标题】:Using both numeric and categorical variables to fit a decision tree using sklearn 【发布时间】:2018-03-14 23:16:02 【问题描述】:

在 sklearn 中对分类变量使用 onehotencoding 时,如何使用稀疏矩阵生成以及其他数值变量来拟合决策树? 如果我使用 OneHotEncoding 将分类变量转换为稀疏矩阵,那么如何将这个稀疏矩阵与原始数据集中的数值变量结合起来?

【问题讨论】:

【参考方案1】:

任意使用:

OneHotEncoder 带有参数 categorical_features 索引您的功能以进行编码(自动组合您的所有功能) 如果你没有改变sparse=True,结果默认是稀疏的(使用transform) 或者:仅在变量子集上使用 OneHotEncoder 时,将这些值叠加到原始值上: scipy.sparse.hstack((onehot, original)) onehot 的形状为 (n_samples, ?(取决于您的功能),original 的形状为 (n_samples, ?

【讨论】:

以上是关于使用 sklearn 同时使用数字和分类变量来拟合决策树的主要内容,如果未能解决你的问题,请参考以下文章

sklearn中的随机森林

在 sklearn 中使用 DictVectorizer 后如何获得分类特征的重要性

sklearn - 模型一直过拟合

用 pandas DataFrame 中的数据拟合 sklearn 的 SVM 分类器

如何将不同的输入拟合到 sklearn 管道中?

使用 sklearn 和随机森林显示过度拟合