Article directory
foreword
There are 2 computers for Catboost training. The training on the new computer has been normal. When I switch to the old computer, I always report an error. Various Baidus still haven’t solved the problem. I suddenly thought that it might be a version environment problem.
1. Running error
Run to:
train_pool = Pool(X_train, y_train, cat_features=cat_features)
error:
AttributeError: 'DataFrame' object has no attribute 'iteritems'
Two, the solution
Upgrade the Catboost library
pip install catboost -U -i https://pypi.tuna.tsinghua.edu.cn/simple
After the upgrade, upgrade from catboost-1.0.6 to catboost-1.2, and then run the program, everything is OK.
(base) C:\Users\Administrator>pip install catboost -U -i https://pypi.tuna.tsinghua.edu.cn/simple
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: catboost in d:\programdata\anaconda3\lib\site-packages (1.0.6)
Collecting catboost
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/94/d5/9ba3dd322006a4b6d9d07d759baa8956081cfca512031adcbef67bf8bcbe/catboost-1.2-cp310-cp310-win_amd64.whl (101.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.0/101.0 MB 7.5 MB/s eta 0:00:00
Requirement already satisfied: matplotlib in d:\programdata\anaconda3\lib\site-packages (from catboost) (3.7.1)
Requirement already satisfied: numpy>=1.16.0 in d:\programdata\anaconda3\lib\site-packages (from catboost) (1.23.5)
Requirement already satisfied: pandas>=0.24 in d:\programdata\anaconda3\lib\site-packages (from catboost) (2.0.1)
Requirement already satisfied: six in d:\programdata\anaconda3\lib\site-packages (from catboost) (1.16.0)
Requirement already satisfied: graphviz in d:\programdata\anaconda3\lib\site-packages (from catboost) (0.20.1)
Requirement already satisfied: plotly in d:\programdata\anaconda3\lib\site-packages (from catboost) (5.9.0)
Requirement already satisfied: scipy in d:\programdata\anaconda3\lib\site-packages (from catboost) (1.10.0)
Requirement already satisfied: tzdata>=2022.1 in d:\programdata\anaconda3\lib\site-packages (from pandas>=0.24->catboost) (2023.3)
Requirement already satisfied: pytz>=2020.1 in d:\programdata\anaconda3\lib\site-packages (from pandas>=0.24->catboost) (2022.7)
Requirement already satisfied: python-dateutil>=2.8.2 in d:\programdata\anaconda3\lib\site-packages (from pandas>=0.24->catboost) (2.8.2)
Requirement already satisfied: contourpy>=1.0.1 in d:\programdata\anaconda3\lib\site-packages (from matplotlib->catboost) (1.0.5)
Requirement already satisfied: fonttools>=4.22.0 in d:\programdata\anaconda3\lib\site-packages (from matplotlib->catboost) (4.25.0)
Requirement already satisfied: pillow>=6.2.0 in d:\programdata\anaconda3\lib\site-packages (from matplotlib->catboost) (9.4.0)
Requirement already satisfied: kiwisolver>=1.0.1 in d:\programdata\anaconda3\lib\site-packages (from matplotlib->catboost) (1.4.4)
Requirement already satisfied: pyparsing>=2.3.1 in d:\programdata\anaconda3\lib\site-packages (from matplotlib->catboost) (3.0.9)
Requirement already satisfied: packaging>=20.0 in d:\programdata\anaconda3\lib\site-packages (from matplotlib->catboost) (22.0)
Requirement already satisfied: cycler>=0.10 in d:\programdata\anaconda3\lib\site-packages (from matplotlib->catboost) (0.11.0)
Requirement already satisfied: tenacity>=6.2.0 in d:\programdata\anaconda3\lib\site-packages (from plotly->catboost) (8.0.1)
Installing collected packages: catboost
Attempting uninstall: catboost
Found existing installation: catboost 1.0.6
Uninstalling catboost-1.0.6:
Successfully uninstalled catboost-1.0.6
Successfully installed catboost-1.2
(base) C:\Users\Administrator>
Summarize
There is no place to find when you break through the iron shoes, and it takes no effort to get it.
If an error is reported in the future, first check the library file version, even the Python version. The production system and the test system should maintain a consistent environment to avoid unnecessary trouble.