2016-10-12 10 views
0

Я пытаюсь запустить xgboost с помощью Spyder питона, но получаю эту ошибку AttributeError: модуль «xgboost» не имеет атрибута «XGBRegressor»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)

Пожалуйста, помогите

+0

Если вы положили 'print (dir (xgb))' после вашего оператора импорта, что вы получаете? –

+0

print (dir (xgb)) ['__doc__', '__loader__', '__name__', '__package__', '__path__', '__spec__'] – Amit

ответ

1

С вашего dir вызова отсутствует в основном все, мои подозрения в том, что везде, где вы начинаете свой скрипт имеет a xgboost вложенной папке с пустым __init__.py в ней, который находится сначала вашим import.

+0

Я проверил структуру папок, где хранится мой .py-файл в нем нет какой-либо xgboost-папки. Есть ли способ проверить это или получить путь от того, откуда вызывается xgboost. – Amit

+0

Я нахожусь на mac, я сделал поиск папки для xgboost на весь диск, и я не вижу папку с именем xgboost. Где хранятся пакеты python на диске? – Amit

+0

Было немного выстрелом в темноте. Если вы используете anaconda, он должен отбрасывать пакеты в '[папке установки anaconda]/lib/python3.5/site-packages' –

1

У нас, вероятно, такая же проблема.

Я решил это, указав Python явно, где найти библиотеку xgboost.

Причина в том, что у меня есть несколько сценариев с именем xgboost.py. Возможно, Python импортировал один из них по ошибке, так что он не может найти определение «XGBRegressor».

Вот команда, которую я использовал:

export PYTHONPATH=PATH_TO_YOUR_setup.py_file 

Для меня PATH_TO_YOUR_setup.py_file это ~/xgboost/питон-пакет

0

У меня была точно такая же проблема с Python 3.6.2 и Anaconda 1.6 +0,8 на Windows 10 64bits (падение обновление творец)

чтобы заставить его работать, вот что я сделал:

1/Uninstall xgboost изнутри анаконды, в выбранном окружа ление.

2/удалить вручную каталог xgboost в C: \ ProgramData \ Anaconda3

3/Загруженные xgboost из This page

4/С Anaconda, запустите командную строку из (из среды, которую xgboost в конечно)

5/CD в директории, которую вы загрузили WHL файла и тип: пип установки xgboost-0,6 + 20171121-cp36-cp36m-win_amd64.whl (или точное имя загруженного файла)

Я сделал все эти шаги, и xgboost работал правильно