IPython ImportError:无法导入名称布局
我正在尝试基于 在它的代码中,CatBoost在IPython ImportError:无法导入名称布局,python,plot,ipython,catboost,Python,Plot,Ipython,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=CatBoostRegress
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用户
在此处下载Conda:
将conda添加到$PATH
:
创建Conda虚拟环境Conda Create-n yourenvname python=x.x anaconda
激活conda虚拟环境source激活您的环境名称
在此虚拟环境中安装IPython笔记本(如果您已经使用pythonvirtualenv
并为此安装了IPython,则可以跳过此步骤):
(yourenvname)$pip安装jupyter
(yourenvname)$pip安装ipykernel
(yourenvname)$python-m ipykernel install--user--name testenv--display name“Python2(yourenvname)”
,如果您有多个ipykernel,这里的testenv
也应该更改为另一个名称
安装ipywidgets,(yourenvname)$conda安装ipywidgets--无deps
安装catboost,(yourenvname)$pip安装catboost
打开Jupyter Notebook,Jupyter Notebook
并在Python2(yourenvname)
下创建一个新笔记本,然后它就可以工作了
注意:如果不起作用,请在第8步之前尝试以下操作:
pip安装widgetsnbextension
jupyter nbextension enable--py-widgetsnbextension--sys-prefix
您是将ipython作为笔记本还是外壳运行?你是在虚拟环境中运行它吗?我把它当作笔记本运行。我尝试了虚拟环境和非虚拟环境,都得到了这个错误