python - 使用新的 xgboost-distribution 时导入错误
问题描述
我正在使用新的xgboost-distribution 模块
我将以下内容输入到我的文件中
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from xgboost_distribution import XGBDistribution
if __name__ == '__main__':
data = load_boston()
X, y = data.data, data.target
X_train, X_test, y_train, y_test = train_test_split(X, y)
model = XGBDistribution(
distribution="normal",
n_estimators=500
)
model.fit(
X_train, y_train,
eval_set=[(X_test, y_test)],
early_stopping_rounds=10
)
但是,当我运行此代码时,它会在 xgboost/sklearn.py 模块文件中生成一个导入错误:
from xgboost_distribution import XGBDistribution
File "/Users/timgundersen/opt/anaconda3/lib/python3.8/site-packages/xgboost_distribution/__init__.py", line 18, in <module>
from xgboost_distribution.model import XGBDistribution # noqa
File "/Users/timgundersen/opt/anaconda3/lib/python3.8/site-packages/xgboost_distribution/model.py", line 7, in <module>
from xgboost.sklearn import XGBModel, _wrap_evaluation_matrices, xgboost_model_doc
ImportError: cannot import name '_wrap_evaluation_matrices' from 'xgboost.sklearn' (/Users/timgundersen/opt/anaconda3/lib/python3.8/site-packages/xgboost/sklearn.py)
我尝试更新sklearn
, 以及xgboost
sklearn 需要的其他模块。
如果我的计算机更新了所有正确的版本,为什么这会给我一个导入错误?
解决方案
您使用哪个python
版本?
在这种情况下python 3.8
,它应该与scikit-learn 0.24.1
pip install scikit-learn==0.24.1
推荐阅读
- botframework - 传出 webhook 为 msteams 提供的 Adaptive Card 的 messageBack 操作失败,并显示“资源 URL 格式错误”。
- node.js - NodeJS + MongoDB - 想要添加更多嵌套值
- flutter - 错误状态:调用来自 FirebaseAuth.veryfyPhone 的 phoneCodeAutoRetrievalTimeout 回调后无法添加新事件。富特
- javascript - jcrop-holder 在我的实时页面上重复
- java - XSD 元素命名空间验证失败
- arduino - 如果不再移动,Arduino停止过程如何解决
- c# - 分块内存流为空
- assembly - grub 似乎没有正确加载我的内核
- wso2 - WSO2碳中的蛮力
- r - 使用双方括号的输出问题