首页 > 解决方案 > sklearn.linear_model.SGDClassifier 如何用于多类分类?

问题描述

我正在研究多类分类(10类)。我正在使用 sklearn.linear_model.SGDClassifier。我看到这个模型使用了一对多的方法。SGDClassifier 有一个参数 class_weight:“与类相关的权重。如果没有给出,所有类都应该有一个权重。

“平衡”模式使用 y 的值来自动调整与输入数据中的类频率成反比的权重,如 n_samples / (n_classes * np.bincount(y))。" 在训练过程中如何使用 class_weight?例如,我们有标签A - 5个样本,标签B - 15个样本,标签C - 100个样本。假设模型A vs B和C正在训练。class_weights是否包含在损失函数的计算中?“得分”怎么样?SGDClassifier将“准确度”作为默认评分选项。是否加权?

标签: machine-learningscikit-learnmulticlass-classification

解决方案


这是我的理解。分类器优化以下目标函数: 在此处输入图像描述

L是损失函数,w是类权重。损失函数是用户定义的参数。


推荐阅读