首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于树的方法如何处理缺少的特征列?

基于树的方法如何处理缺少的特征列?
EN

Data Science用户
提问于 2020-11-02 13:17:16
回答 1查看 49关注 0票数 0

全,

我已经培训了一个使用xgboost的模型。其中一些特征是一种热编码的货币,例如,它要么是英镑,要么是美元。似乎当我输出特征重要性时,英镑和美元分别排在第7位。

现在我想用这个模型来预测澳大利亚国家是否有违约者,但是这些国家的货币是澳元。因此,当我应用我的特性工程时,它将创建一个列和一次热编码。

由于我的模型没有AUD作为一个功能,它如何处理的功能,已经看不见?我对此不太清楚

EN

回答 1

Data Science用户

发布于 2020-11-02 14:37:29

You可以使用参数来处理sklearn.preProcessing中名为handle_unknown的未知类。

任何类型编码的<#>Best实践:

您应该只在训练数据上训练一次编码的估计器,而在编码测试数据时,您应该使用与训练数据相同的估计器。

OneHotEn编码器这样做,它有一个名为handle_unknown的参数。

Handle_unknown{“错误”,“忽略”},缺省=“错误”

如果在转换过程中存在未知的分类特征,则是否引发错误或忽略(默认为引发)。当此参数设置为“忽略”,并且在转换过程中遇到未知类别时,该功能的一个热编码列将为零。在逆变换中,未知范畴将表示为无。

Optimal选项是:您可以使用此参数并将其设置为忽略,以便忽略未知的特征值并避免错误,直到您最终重新训练模型并将新的特性值添加到模型中为止。

代码语言:javascript
复制
from sklearn.preprocessing import OneHotEncoder

ohe=OneHotEncoder(handle_unknown='ignore')

train=ohe.fit_transform(train)

test=ohe.transform(test)
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/84836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档