我正在尝试比较两个不同的功能集,以将客户分为高价值、中价值和低价值。这是我使用的代码:
ltv_xgb_model = xgb.XGBClassifier(max_depth=5, learning_rate=0.1,objective='multi:softmax',n_jobs=-1).fit(X_train, y_train)
第一个数据集在训练数据中有 11 个客户,在测试数据中有 2 个客户。尽管客户数量有限,分类器仍能够为其中一个特征集实现 50% 的精度。
第二个数据集在训练数据中有 14 个客户,在测试数据中有 2 个客户。虽然我们有一个更大的训练集,但分类器抛出了一个错误:
XGBoostError:参数 num_class 的值 0 应大于等于 1
论坛上之前的帖子都提到过 .fit() 方法会自动设置num_class参数。见这里:XGBClassifier num_class is invalid。因此,问题似乎是由其他原因引起的。
有人知道问题出在哪里吗?任何帮助表示赞赏!