样本权重大小不同时,用什么分类算法比较合适,是用随机森林,还是逻辑斯蒂回归,还是深度学习呢?有没有什么特定的算法是处理样本权重不同的情况的?
1个回答
我一般直接在loss function里加样本权重就可以了,不会特意去选择不同的模型。sklearn的算法一般也都支持配置sample_weights。
比如考虑样本权重$\beta_p$后的logloss,是这样的
$$g\left(\mathbf{w}\right) = \sum_{p=1}^P\beta_p\,\text{log}\left(1 + e^{-y_p\text{model}\left(x_p,\mathbf{w}\right)}\right)$$
神经网络、xgboost之类的也可以设置每个样本的权重,权重不同,最后也会直接影响到模型的结果。下图就是每个样本权重不同(点的大小代表权重)的情况下,分类器的决策边界也可能会发生改变。