微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 lightgbm 和 xgboost 框架处理投票分类器中的“对象”dtypes 变量?

如何解决如何使用 lightgbm 和 xgboost 框架处理投票分类器中的“对象”dtypes 变量?

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

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

  • 对于 xgboost 算法,我想将所有“对象”或“类别”数据转换为虚拟数据。 (pd.get_dummies())

  • 对于 lightgbm 算法,我想将所有“对象”数据转换为“类别”类型。

代码

    from sklearn.ensemble import VotingClassifier

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。