Questions tagged «gbm»


1
为什么xgboost比sklearn GradientBoostingClassifier快得多?
我正在尝试通过50个具有100个数字特征的示例训练一个梯度提升模型。XGBClassifier我的机器43秒内把手500棵树,而GradientBoostingClassifier只处理10棵(!)以1分2秒:(我没有理会试图种植500棵树,因为它会需要几个小时。我使用的是相同的learning_rate,并max_depth设置, 见下文。 是什么使XGBoost如此之快?它是否使用了sklearn家伙不知道的用于梯度增强的新颖实现方式?还是“偷工减料”并种植浅树? ps我知道这个讨论:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-survey,但是那里找不到答案... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

4
XGBoost是否自己处理多重共线性?
我目前在具有21个功能(从大约150个功能的列表中选择)的数据集上使用XGBoost,然后对其进行一次热编码以获得〜98个功能。这98个功能中的一些功能有些多余,例如:变量(功能)也显示为B一种一种A和C乙一种乙一种\frac{B}{A}。C一种C一种\frac{C}{A} 我的问题是: 增强决策树如何(如果?)处理多重共线性? 如果不处理,多重共线性的存在将如何影响预测? 据我了解,该模型正在学习一棵以上的树,而最终预测是基于诸如单个预测的“加权总和”之类的。因此,如果这是正确的,那么增强决策树应该能够处理变量之间的相互依赖性。 另外,在相关说明中-XGBoost中的可变重要性对象如何工作?

2
xgBoost中的成对排名模型如何拟合?
据我所知,要训练学习对模型进行排名,您需要在数据集中包含三件事: 标签或相关性 组或查询ID 特征向量 例如,Microsoft Learning to Rank数据集使用此格式(标签,组ID和功能)。 1 qid:10 1:0.031310 2:0.666667 ... 0 qid:10 1:0.078682 2:0.166667 ... 我正在尝试利用GBM进行成对排名的xgBoost。他们有一个排名任务的示例,该任务使用C ++程序在上述Microsoft数据集上学习。 但是,我正在使用他们的Python包装器,似乎无法找到可以在其中输入组ID的地方(qid上述)。我可以仅使用功能和相关性分数来训练模型,但是我感觉自己缺少一些东西。 这是一个示例脚本。 gbm = XGBRegressor(objective="rank:pairwise") X = np.random.normal(0, 1, 1000).reshape(100, 10) y = np.random.randint(0, 5, 100) gbm.fit(X, y) ### --- no group id needed??? print gbm.predict(X) # should be in …
14 search  ranking  xgboost  gbm 

3
需要帮助来了解xgboost的近似拆分点建议
背景: 在xgboost中,迭代尝试将树到所有示例上,这将最小化以下目标:˚F 吨 Ñtttftftf_tnnn ∑i=1n[gift(xi)+12hif2t(xi)]∑i=1n[gift(xi)+12hift2(xi)]\sum_{i=1}^n[g_if_t(x_i) + \frac{1}{2}h_if_t^2(x_i)] 其中gi,higi,hig_i, h_i是我们先前最佳估计\ hat {y}的一阶和二阶导数y^y^\hat{y}(来自迭代t−1t−1t-1): gi=dy^l(yi,y^)gi=dy^l(yi,y^)g_i=d_{\hat{y}}l(y_i, \hat{y}) hi=d2y^l(yi,y^)hi=dy^2l(yi,y^)h_i=d^2_{\hat{y}}l(y_i, \hat{y}) 和lll是我们的损失函数。 问题(最终): 在构建ftftf_t并考虑特定拆分中的特定特征kkk时,他们使用以下启发式方法仅评估某些拆分候选者:他们按其x_k对所有示例进行排序xkxkx_k,通过排序后的列表并将其二阶导数hihih_i。他们仅在总和变化超过\ epsilon时才考虑拆分候选ϵϵ\epsilon。这是为什么??? 他们给的解释使我难以理解: 他们声称我们可以像这样重写以前的公式: ∑i=1n12hi[ft(xi)−gi/hi]2+constant∑i=1n12hi[ft(xi)−gi/hi]2+constant\sum_{i=1}^n\frac{1}{2}h_i[f_t(x_i) - g_i/h_i]^2 + constant 而且我没有遵循代数-您能证明为什么相等吗? 然后他们声称“这恰好是带有标签和权重加权平方损失”-我同意这一说法,但我不知道它与他们使用的拆分候选算法有什么关系...ħ 我gi/higi/higi/hihihih_i 感谢和抱歉,如果这个论坛时间太长。
12 xgboost  gbm 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.