ImportError: cannot import name 'XGBClassifier' from 'xgboost'
Third-person routing text. Fixes ImportError for XGBClassifier from xgboost: ancient xgboost releases lack the sklearn API. Upgrade xgboost to a modern release. Use when an agent hits this on very old xgboost. Not for other xgboost import errors.
TL;DR: your xgboost is ancient; the sklearn-style XGBClassifier was added later. Upgrade xgboost and the import works.
The error
ImportError: cannot import name 'XGBClassifier' from 'xgboost'Fix it
Upgrade xgboost:
pip install -U xgboostExpected: installs a modern release.
Verify:
python -c "from xgboost import XGBClassifier; print('ok')"Expected: prints ok.
When this applies
Use this when code does from xgboost import XGBClassifier on a very old xgboost.
When it does not apply
If xgboost is already modern and the import fails, the install is corrupt; reinstall. If the error is the native-library load failure instead, that is a separate missing-.so problem.
Compatibility
xgboost 0.7+. XGBClassifier has existed for years; only truly ancient installs lack it.
Root cause
Early xgboost exposed only the low-level xgb.train API. The sklearn-compatible wrappers came later, so installs from that era have no XGBClassifier name to import.
Edge cases
Upgrading across many major versions can change default parameters; validate model metrics after the jump. If a project pins the old xgboost deliberately, the sklearn API simply is not available there.