【问题标题】:DeprecationWarning with xgboost使用 xgboost 的弃用警告
【发布时间】:2017-05-04 17:44:09
【问题描述】:

我已经使用来自http://www.lfd.uci.edu/~gohlke/pythonlibswhl 安装了xgboost

当我尝试过时:

import xgboost

我收到了下一条消息:

d:\程序 文件\python\lib\site-packages\sklearn\cross_validation.py:44: 弃用警告:此模块在 0.18 版中已弃用 支持所有重构的 model_selection 模块 类和函数被移动。还要注意的是界面 新的 CV 迭代器与该模块的不同。这个模块 将在 0.20 中删除。 "此模块将在 0.20 中删除。", 弃用警告)

如果我在import xgboost 之前打印import sklearn,我不会收到任何消息。我假设此消息不会影响结果,但如何避免呢?我还通过 pip 检查了所有软件包是否都是最新的。

【问题讨论】:

    标签: python scikit-learn xgboost


    【解决方案1】:

    第一:

    可以,暂时不会影响结果。

    接下来,如何避免?

    嗯,这不是一个简单的答案。软件不断发展。依赖是不可避免的。 抵抗是徒劳的。由于包和配置管理策略是唯一的方法,如何应对。

    什么最适合类似的需求?

    1. 隔离您的实验,VM 隔离足以构建

    2. 继续使用强大的包管理 - Travis OLIPHANT 的 Anaconda 是一种可行的方法 (+ 3)

    3. 强制配置管理以避免在“新”包在阳光下占据一席之地后流血。 Anaconda 允许“冻结”一个受控的 [environment],您可以在其中定义各个软件包的版本/发布号(并且 Anaconda 可以很好地控制那里的事物的交叉依赖关系,所以我们可以从清晰且易于识别的[environment]-s 中受益,其中的代码用于运行并进一步运行)

    总是更新到“最新版本”的幼稚建议只会破坏当前工作的玩具并将事情搞砸。最好明确定义/配置/识别/强制执行完全受控的[environment]-s 以使用并保持多年。

    如果一个人符合 ISO/EN-9000+、NATO-STANAG AQAP-130+ 等标准,那么就没有比这更好的方法了。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。我根据xgboost安装指南使用了以下命令,而不是pip install,警告消失了:

      git clone --recursive https://github.com/dmlc/xgboost
      cd xgboost
      make -j4
      cd python-package
      python setup.py install
      

      确保通过以下方式删除之前安装的 xgboost:

      pip uninstall xgboost
      

      【讨论】:

        猜你喜欢
        • 2023-03-22
        • 2017-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-07
        • 1970-01-01
        • 2017-03-23
        相关资源
        最近更新 更多