这个错误通常是由于在导入 xgboost 时发生循环导入而引起的。解决办法是在引入 xgboost 时,避免直接导入子模块,而是使用父模块导入。例如,将语句“from xgboost import DMatrix”改为“import xgboost as xgb”(或使用其他名称),然后在代码中使用“xgb.DMatrix”代替“DMatrix”。示例代码如下:
import xgboost as xgb
# 使用 xgb.DMatrix 代替 from xgboost import DMatrix
data = [[0, 0], [1, 1], [0, 1], [1, 0]]
labels = [0, 1, 1, 0]
dtrain = xgb.DMatrix(data, label=labels)