简单地说,我有一个不平衡的数据集,因为大小,我必须使用partial_fit
进行训练。我使用的一些方法无法自然地处理多类问题,所以我用OneVsRestClassifier
包装它们。但是,这会导致调整class_weights
时出现问题。
因为我使用partial_fit
,所以无法设置class_weight='balanced'
或'auto'
。
是否有一个简单的解决方案,我可以使用OneVsRestClassifier
并仍然加权我的课程?
示例代码:
model = OneVsRestClassifier(SGDClassifier(loss='log', alpha=1e-4, penalty='elasticnet', class_weight=weights))
model.partial_fit(features, labels_i, classes=np.unique(labels_i))
其中weights
是包含每个类权重的字典。