首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么学习GBDT目标值不能浮动?

为什么学习GBDT目标值不能浮动?
EN

Stack Overflow用户
提问于 2017-01-20 03:33:07
回答 1查看 600关注 0票数 1

我的python代码:

代码语言:javascript
复制
y_train = y_train.astype(float)
X_train = X_train.astype(float)
kernel = gbdt()
kernel = gbdt()
kernel.fit(X_train,y_train)

错误是ValueError: Unknown label type: array([ 0.0206, -0.006 , 0.0008, ..., 0.0245, 0.0166, -0.022 ], dtype=float32).

在sklearn gbdt文档中,它说:目标值(分类中的整数,回归中的实数)用于分类,标签必须对应于类。

有人知道发生了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2018-09-21 06:07:14

在sklearn集成中有两种GBDT算法,ensemble.GradientBoostingClassifierensemble.GradientBoostingRegressor,您需要指定哪一种算法最适合您的任务。

回归用GradientBoostingRegressor、GradientBoostingClassifier进行分类。例如,

代码语言:javascript
复制
gbdt=GradientBoostingRegressor(
  loss='ls'
, learning_rate=0.1
, n_estimators=100
, subsample=1
, min_samples_split=2
, min_samples_leaf=1
, max_depth=3
, init=None
, random_state=None
, max_features=None
, alpha=0.9
, verbose=0
, max_leaf_nodes=None
, warm_start=False
)

gbdt.fit(X, y)

似乎您正在进行回归,因为您的响应不喜欢分类值,因此您可以尝试GradientBoostingRegressor()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41755643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档