AttributeError:模块'xgboost'没有属性'XGBRegressor'

时间:2016-10-12 17:45:13

标签: python machine-learning regression spyder xgboost

我正在尝试使用spyder和python运行xgboost,但我一直收到此错误:

AttributeError:模块'xgboost'没有属性'XGBRegressor'

以下是代码:

import xgboost as xgb 

xgb.XGBRegressor(max_depth=3, learning_rate=0.1, n_estimators=100, silent=True, 
                 objective='reg:linear', gamma=0, min_child_weight=1, 
                 max_delta_step=0, subsample=1, colsample_bytree=1, 
                 seed=0, missing=None)

错误

Traceback (most recent call last):

  File "<ipython-input-33-d257a9a2a5d8>", line 1, in <module>
    xgb.XGBRegressor(max_depth=3, learning_rate=0.1, n_estimators=100, silent=True,

AttributeError: module 'xgboost' has no attribute 'XGBRegressor'
我有 Python 3.5.2 :: Anaconda 4.2.0(x86_64)

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

我们可能遇到同样的问题。

我通过告诉Python明确在哪里找到xgboost库来解决它。

原因是我有多个名为xgboost.py的脚本。 Python可能错误地导入了其中一个,因此无法找到&#39; XGBRegressor&#39;的定义。

这是我使用的命令:

export PYTHONPATH=PATH_TO_YOUR_setup.py_file

对我来说,PATH_TO_YOUR_setup.py_file是〜/ xgboost / python-package

答案 1 :(得分:1)

由于您的dir电话基本上缺少所有内容,我怀疑无论您从哪里开始编写脚本都有一个xgboost子文件夹,其中包含空__init__.py个首先是您的import

答案 2 :(得分:0)

我在Windows10 64位上有Python 3.6.2和Anaconda 1.6.8的完全相同的问题(秋季创建者更新)

为了让它发挥作用,这就是我所做的:

1 /在anaconda内,在选定的环境中卸载xgboost。

2 /手动删除C:\ ProgramData \ Anaconda3

中的xgboost目录

3 /从This page下载xgboost

4 /从Anaconda,从(当然是xgboost环境)启动命令提示符

5 / CD到你下载whl文件的目录并输入:pip install xgboost-0.6 + 20171121-cp36-cp36m-win_amd64.whl(或你下载的文件的确切名称)

我做了所有这些步骤并且xgboost正常工作

答案 3 :(得分:-1)

我必须确保遵循xgboost网站上的所有下载说明。安装和编译后,我忘了运行这些。 https://xgboost.readthedocs.io/en/latest/build.html#python-package-installation