XGBoost 多类分类标签编码错误



根据XGBoost文档,不支持分类特征。因此,我正在尝试使用pd.get_dummies()功能对我的分类标签进行单热编码。但是,当我在下面创建一个DMatrix对象时,我收到一个错误,指出我在 DMatrix 中的标签不能有多个列

features = pd.get_dummies(df_features)
labels = pd.get_dummies(df_labels)
train_features, test_features, train_labels, test_labels = train_test_split(features, labels,
          test_size=0.25,
          random_state=42)
dtrain = xgb.DMatrix(train_features,label=train_labels)

错误:

值错误:标签的数据帧不能有多个列

如何解决这个问题?

我也有同样的问题。 我所做的只是

labels = pd.get_dummies(df_labels).values

它将转换为数字数组

array([[1, 0, 0],
[1, 0, 0],
[1, 0, 0]
])

相关内容

  • 没有找到相关文章

最新更新