xgboost有一个parameter feature_weights,应该会影响为模型 Select 特征的概率,也就是说,我们可以给每个特征赋予或多或少的权重,但看起来参数不起作用还是我做错了什么?

X <- as.matrix(iris[,-5])
Y <- ifelse(iris$Species=="setosa", 1, 0)

library(xgboost)
dm1 <- xgb.DMatrix(X, label = Y)
#I set different probabilities for each feature
dm2 <- xgb.DMatrix(X, label = Y, feature_weights = c(1, 0, 0, 0.01))
params <- list(objective = "binary:logistic", eval_metric = "logloss")

set.seed(1)



xgb1 <- xgboost(data = dm1, params = params, nrounds = 10, print_every_n = 5)

[1] train-logloss:0.448305 
[6] train-logloss:0.090220 
[10]train-logloss:0.033148 



xgb2 <- xgboost(data = dm2, params = params, nrounds = 10, print_every_n = 5)

[1] train-logloss:0.448305 
[6] train-logloss:0.090220 
[10]train-logloss:0.033148 

但模型的表现完全相同,似乎参数feature_weights被简单忽略了

推荐答案

看来,该参数仅在colsample_by*个参数之一小于1(默认情况下均为1)时才有效.

R相关问答推荐

用dDeliverr用第二个表更新一个表

仅在ggplot的每个方面绘制最丰富的物种

从R中的另一个包扩展S3类的正确方法是什么

更新合适的R mgcv::bam模型报告无效类型(关闭).'';错误

从嵌套列表中智能提取线性模型系数

修改用R编写的用户定义函数

在R中将特定列的值向右移动

在R中无法读入具有Readxl和lApply的数据集

条形图和在Ploly中悬停的问题

在R中使用Scale_y_Break后更改y轴标签

如何指定我的函数应该查找哪个引用表?

从多个线性回归模型中提取系数

有没有办法使用ggText,<;Sub>;&;<;sup>;将上标和下标添加到同一元素?

如何将使用rhandsontable呈现的表值格式化为百分比,同时保留并显示完整的小数精度?

调换行/列并将第一行(原始数据帧的第一列)提升为标题的Tidyr类似功能?

WRS2包中带有bwtrim的简单ANOVA抛出错误

如何删除设置大小的曲线图并添加条形图顶部数字的百分比

将列表中的字符串粘贴到R中for循环内的dplyr筛选器中

在不对R中的变量分组的情况下取两行的平均值

带RStatix的Wilcoxon环内检验