样本不均衡问题
一、引入
对于分类问题,永远都逃不过的一个痛点就是样本不均衡问题。样本不均衡是指在一组数据集中,标签的其中一类天生占有很大的比例,当我们想要对某一样本进行分类时,分类模型天生就会倾向于选择样本量较多的类,而此时即使使用准确率来衡量模型也是毫无意义的。
二、举例说明
例如,现在要对潜在犯罪者和普通人进行分类,潜在犯罪者占总人口的比例是相当低的,也许只有2%左右,而98%的人都是普通人,而我们的目标是要捕获潜在犯罪者。这种分类状况下,即便模型什么也不做,全把所有人都当成不会犯罪的人,准确率也能非常高,这就使得模型评估指标accuracy变得毫无意义。
三、参数class_weight
针对上述问题,决策树模型使用参数class_weight来进行调节,该参数主要包含以下几种模式:
(1)默认None。该模式表示假设数据集中的所有标签都是均衡的,即自动认为标签的比例是1:1。所以当样本不均衡的时候,我们可以使用形如{"标签的值1":权重1,"标签的值2":权重2}的字典来表示真实输入的样本标签比例,让算法意识到样本是不平衡的。
(2)使用”balanced“模式,该模式直接使用n_samples/(n_classes * np.bincount(y))作为权重,可以很好地修正我们的样本不均衡情况。