关于sklearn下class_weight参数的一点源码阅读与测试

一直没有很在意过sklearn的class_weight的这个参数的具体作用细节,只大致了解是是用于处理样本不均衡。后来在简书上阅读svm松弛变量的一些推导的时候,看到样本不均衡的带来的问题时候,想更深层次的看一下class_weight的具体作用方式,

svm松弛变量的简书链接:https://www.jianshu.com/p/8a499171baa9

该文中的样本不均衡的描述:

“样本偏斜是指数据集中正负类样本数量不均,比如正类样本有10000个,负类样本只有100个,这就可能使得超平面被“推向”负类(因为负类数量少,分布得不够广),影响结果的准确性。” 

随后翻开sklearn LR的源码:

我们以分类作为说明重点

在输入参数class_weight=‘balanced’的时候:

# compute the class weights for the entire dataset y
    if class_weight == "balanced":
        class_weight = compute_class_weight(class_weight,
                                            np.arange(len(self.classes_)),
                                                y)
        class_weight = dict(enumerate(class_weigh
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值