xgboost模块没有’DMatrix’属性

我从kaggle(Linux系统)上拉取了一些机器学习代码,并尝试在Windows机器上的Jupyter笔记本中运行它。这里是部分代码:

##### RUN XGBOOSTimport xgboost as xgbprint("\nSetting up data for XGBoost ...")# xgboost paramsxgb_params = {    'eta': 0.037,    'max_depth': 5,    'subsample': 0.80,    'objective': 'reg:linear',    'eval_metric': 'mae',    'lambda': 0.8,       'alpha': 0.4,     'base_score': y_mean,    'silent': 1}#### These lines were causing the folloing error on 9/1/2017:# AttributeError: module 'xgboost' has no attribute 'DMatrix'dtrain = xgb.DMatrix(x_train.values, y_train.values)dtest = xgb.DMatrix(x_test)num_boost_rounds = 250print("num_boost_rounds="+str(num_boost_rounds))# train modelprint( "\nTraining XGBoost ...")model = xgb.train(dict(xgb_params, silent=1), dtrain, num_boost_round=num_boost_rounds)print( "\nPredicting with XGBoost ...")xgb_pred1 = model.predict(dtest)print( "\nFirst XGBoost predictions:" )print(pd.DataFrame(xgb_pred1).head())

收到了以下错误:

---------------------------------------------------------------------------AttributeError                            Traceback (most recent call last)<ipython-input-7-a63b74bc35c6> in <module>()     17 #### These lines were causing the folloing error on 9/1/2017:     18 # AttributeError: module 'xgboost' has no attribute 'DMatrix'---> 19 dtrain = xgb.DMatrix(x_train.values, y_train.values)     20 dtest = xgb.DMatrix(x_test)     21 AttributeError: module 'xgboost' has no attribute 'DMatrix'

这很奇怪,因为我经常从Linux机器上拉取xgboost模型到Windows上。我在网上找不到任何关于如何修复的信息,所以我想知道是否有人知道如何修复这个问题?


回答:

我们可能遇到了相同的问题。

我通过明确告诉Python去哪里找到xgboost库来解决这个问题。

原因是我有多个名为xgboost.py的脚本。Python可能错误地导入其中一个,因此无法找到’DMatrix’的定义。

我使用的命令如下:

export PYTHONPATH=~/xgboost/python-package

您应该将’~/xgboost/python-package’改为您的/xgboost/python-package/setup.py文件所在的文件夹路径。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注