FEATURE_NAMES必须唯一-XgBoost

feature_names must be unique - Xgboost(FEATURE_NAMES必须唯一-XgBoost)

本文介绍了FEATURE_NAMES必须唯一-XgBoost的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为一个非常稀疏的矩阵运行xgBoost模型。

我收到此错误。ValueError:FEATURE_NAMES必须唯一

我如何处理此问题?

这是我的代码。

  yprob = bst.predict(xgb.DMatrix(test_df))[:,1]

推荐答案

根据xgboost source code documentation,该错误只出现在one place-在DMatrix内部函数中。以下是源代码摘录:

if len(feature_names) != len(set(feature_names)):
    raise ValueError('feature_names must be unique')
因此,这里的错误文本是非常直白的;您的test_df至少有一个重复的特性/列名。

您在此帖子上标记了pandas;这表明test_df是一只 pandas DataFrame。在本例中,DMatrixliterally runs df.columns提取feature_names。请检查test_df中是否有重复的列名,删除或重命名它们,然后重试DMatrix()

这篇关于FEATURE_NAMES必须唯一-XgBoost的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:FEATURE_NAMES必须唯一-XgBoost