我现在对XGBoost
. 这是我感到困惑的方式:
objective
,这是需要最小化的损失函数;eval_metric
:用于表示学习结果的度量。这两者完全无关(如果我们不考虑仅用于分类logloss
,mlogloss
可以用作eval_metric
)。这样对吗?如果是,那么对于分类问题,您如何将其rmse
用作性能指标?objective
为例,reg:logistic
和binary:logistic
。对于 0/1 分类,通常应将二元逻辑损失或交叉熵视为损失函数,对吗?那么这两个选项中的哪一个是针对这个损失函数的,另一个的值是多少?说,如果binary:logistic
代表交叉熵损失函数,那么什么reg:logistic
呢?multi:softmax
和multi:softprob
?他们是否使用相同的损失函数,只是输出格式不同?如果是的话,那应该是相同的reg:logistic
,并binary:logistic
为好,对不对?第二个问题的补充
比如说,0/1 分类问题的损失函数应该是
L = sum(y_i*log(P_i)+(1-y_i)*log(P_i))
。所以如果我需要在binary:logistic
这里选择,或者reg:logistic
让xgboost分类器使用L
损失函数。如果是binary:logistic
,那么损失函数reg:logistic
使用什么?
我有两个矩阵A
和B
,有啥最快的方法只是计算diag(A%*%B)
,即内积第i的行A
和第i列B
,以及其他方面的产品内部并不关心.
补充:A
并分别B
有大的行号和列号.
我是emacs的新手,我不确定是否允许这样的操作.例如,如果我输入Cc,我可以在实现它之前取消它(比如之后键入Cw).谢谢.
最初,我会filter
在 bool 查询中添加一个。然而,当我转向 时terms filter
,文件表明它terms query
现在应该被替换。所以,我理解这一点为我们需要构建既具有复合查询terms query
和bool query
。如果我是正确的,我应该如何编写查询?
注意:我使用 elasticsearch 的 Python API。