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
。在本例中,DMatrix
literally runs df.columns
提取feature_names
。请检查test_df
中是否有重复的列名,删除或重命名它们,然后重试DMatrix()
。
相关文章