繁体   English   中英

IPython ImportError:无法导入名称布局

[英]IPython ImportError: cannot import name Layout

我正在尝试基于这篇文章的 CatBoost

在它的代码中,CatBoost在model.fit()plot ,所以我想在我的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)

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

在此输入图像描述

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

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

在此输入图像描述

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

  1. 在这里下载Conda: https ://www.continuum.io/downloads
  2. 将conda添加到$PATH如何运行Conda?
  3. 创建Conda虚拟环境conda create -n yourenvname python=xx 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 Notebook, jupyter notebook并在Python2 (yourenvname)下创建一个新的笔记本,然后它应该工作

注意: 如果在步骤8之前不起作用 ,请尝试以下操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM