【发布时间】:2020-01-29 05:53:10
【问题描述】:
我是 Julia 新手(与 MATLAB 一起使用)。我正在使用 ScikitLearn 中可用的工具对一些数据集进行清理并编码分类变量,然后运行清理数据的 XGBoost。
但是,我无法使用经过训练的 XGBoost 模型进行预测,因为 ScitkitLearn 和 XGBoost 都有一个名为 predict 的函数。参考下面的错误信息:
警告:ScikitLearn 和 XGBoost 都导出“预测”;在模块 Main 中使用它必须是合格的 错误:LoadError:UndefVarError:预测未定义
问题是我无法将 XGBoost 的 predict 函数定义为 XGBoost.predict,因为这不起作用,而且它似乎是我所知道的唯一解决方案。
此外,我无法找到或理解如何在不加载 predict 函数的情况下仅从 ScikitLearn 加载特定模块。例如,import MLDataUtils.splitobs 格式适用于大多数包,但 ScikitLearn.preprocessing 不适用。
【问题讨论】:
-
我相信你可以做到
import name_of_package: name_of_function_you_want, 2nd_function_you_want。有人检查我这个。 -
@logankilpatrick,你可以,但是发布的错误不应该发生。 @ForzaRS,你能给出堆栈跟踪吗?据我所知,您当前的工作模块中似乎定义了一个函数,它使用了
predict。 -
嗨@AnshulSinghvi 感谢您的回复。这是堆栈跟踪错误:LoadError: UndefVarError: predict not defined Stacktrace: [1] top-level scope at none:0 in expression started at /Users/sinkala/Documents/MATLAB/Dream Challenge Breast Cancer Network/rescaleScript.jl:92
-
谢谢@logankilpatrick 我已经尝试过 "import ScikitLearn:Preprocessing,LabelEncoder" ,但我收到以下错误警告:无法将 ScikitLearn.LabelEncoder 导入 Julia 中的 Main,下面的代码使用 ScikitLearn 可以正常工作:适合变换!此外,我发现您建议的格式几乎适用于除 LabelEncoder 之外的任何其他内容。即,使用 ScikitLearn:LabelEncoder 导入 ScikitLearn:LabelEncoder 不起作用。 :( 我错过了什么?
标签: scikit-learn julia xgboost