IPython ImportError:无法导入名称布局

时间:2017-08-16 06:59:21

标签: python plot ipython catboost

我根据this article

尝试了CatBoost

在它的代码中,CatBoost在plot中有model.fit(),所以我想在我的IPython上尝试。

这是我的CatBoost代码:

from catboost import CatBoostRegressor

# indicate categorical features for CatBoost
categorical_features_indices = np.where(X.dtypes != np.float)[0]

model=CatBoostRegressor(iterations=50, depth=3, learning_rate=0.1, 
loss_function='RMSE')
model.fit(X_train, y_train, 
cat_features=categorical_features_indices,
          use_best_model=True,
          eval_set=(X_validation, y_validation), plot=True)

但是,它无法显示任何情节,并一直给我错误:

enter image description here

我确实安装了ipywidgets和ipython。 你知道如何处理这个问题吗?

1 个答案:

答案 0 :(得分:1)

最后,我解决了这个问题,现在我可以看到这个情节了

enter image description here

就我而言,解决方案是安装Conda并创建conda虚拟环境,然后通过Conda安装ipywidgets。 让我在这里写下所有细节,希望它会有所帮助。 这可能只会帮助Mac用户

  1. 在此处下载Conda:https://www.continuum.io/downloads
  2. 将conda添加到$PATHHow to run Conda?
  3. 创建Conda虚拟环境conda create -n yourenvname python=x.x anaconda
  4. 激活conda虚拟环境source activate yourenvname
  5. 在此虚拟环境中安装IPython Notebook(如果您已经有用户python virtualenv并为此安装了IPython,则可以跳过此步骤):
    • (yourenvname)$ pip install jupyter
    • (yourenvname)$ pip install ipykernel
    • (yourenvname)$ python -m ipykernel install --user --name testenv --display-name "Python2 (yourenvname)",如果您有多个ipykernel,此处testenv也应更改为其他名称
  6. 安装ipywidgets,(yourenvname)$ conda install ipywidgets --no-deps
  7. 安装catboost,(yourenvname)$ pip install catboost
  8. 打开Jupyter笔记本,jupyter notebook并在Python2 (yourenvname)下创建一个新笔记本,然后它就能正常工作
  9. 注意:如果在步骤8 之前无效,请尝试以下操作:

    • pip install widgetsnbextension
    • jupyter nbextension enable --py widgetsnbextension --sys-prefix