You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quantile Forest调用predict()时遇'quantiles'参数错误求助

解决quantile-forest中predict()不支持quantiles参数的问题

问题原因

你安装的quantile-forest 1.1.2版本中,RandomForestQuantileRegressor的predict()方法没有quantiles参数。分位数是在模型初始化阶段通过q参数指定的,这也是你提供的代码能正常运行的原因——你在初始化时已经定义了q=[0.05, 0.50, 0.95],predict直接返回对应分位数的结果。

解决方案

方案1:升级到2.x版本(支持预测时动态指定分位数)

quantile-forest 2.x版本重构了API,允许在predict()方法中传入quantiles参数。执行以下命令升级:

pip install --upgrade quantile-forest

升级后的使用示例:

X_train, X_test, y_train, y_test = train_test_split(features, labels, train_size=0.5, random_state=0)
# 初始化时无需指定q
qrf = RandomForestQuantileRegressor()
qrf.fit(X_train, y_train)
# 预测时动态指定分位数
y_pred = qrf.predict(X_test, quantiles=[0.05, 0.5, 0.95])
# 结果为形状(n_samples, n_quantiles)的数组
y_pred_5 = y_pred[:, 0]
y_pred_median = y_pred[:, 1]
y_pred_95 = y_pred[:, 2]

方案2:保持1.1.2版本(按初始化时的q参数预测)

如果不想升级版本,就遵循1.x版本的设计逻辑:每次需要不同分位数时,重新初始化模型并指定对应的q参数后训练:

# 示例:预测0.1、0.5、0.9分位数
qrf_new = RandomForestQuantileRegressor(q=[0.1, 0.5, 0.9])
qrf_new.fit(X_train, y_train)
y_pred_10, y_pred_median, y_pred_90 = qrf_new.predict(X_test)

验证当前版本

执行以下命令确认已安装的quantile-forest版本,避免版本混淆:

pip show quantile-forest

内容的提问来源于stack exchange,提问作者Tina B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:48:14