首页 > 解决方案 > 如何使用 lightgbm 和 xgboost 框架处理投票分类器中的 'object' dtypes 变量?

问题描述

我正在使用带有两个分类器(lightgbm 和 xgboost)的 sklearn 投票分类器。只要输入数据仅包含数字信息(float 和 int dtype),一切都可以正常工作。但是,只要将 'object' 或 'category' dtypes 变量添加到数据中,它就会引发错误。这是逻辑,因为 lightgbm 框架可以处理“类别”变量,而 xgboost 框架不能。

我想要的是在投票分类器中将两个分类器拟合到相同但本质上已转换的数据上:

代码:

    from sklearn.ensemble import VotingClassifier

    clf = VotingClassifier(estimators = [('xgb', clf_xgb),
                           ('lgb', clf_lgb)], voting = 'soft')

    clf.fit(train[variables],train[target])

标签: machine-learningscikit-learnxgboostlightgbmdtype

解决方案


推荐阅读