新版本scikit-learn中,关于OvR与OvO的相关问题
来源:9-8 OvR与OvO
kongba
2021-01-27
老师您好,我的scikit-learn是0.23版本的,在处理多分类问题时,创建LogisticRegression对象时用的默认值auto与
使用OvO指定的multi_class=“multinomial”, solver=“newton-cg” 创建的两个对象,调用score方法的结果是一样的,当初您录制视频时用的那个版本,默认是使用OVR,而最新版本的既不是OvR也不是OvO,而是auto,想问下这个auto是不是指的就是OvO呢?
1回答
-
根据 sklearn 文档的解释,现在当 multi_class = "auto" 的时候,如果你的数据只有两个类别,或者 solver 是 liblinear 的话,相当于是 ovr,否则的话,是 multinomial:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
下面的问题就是,multinomial 是什么?
这个概念在课程中没有介绍。简单来说,此时,整个模型是一个新的模型,这种模型被称为 softmax。softmax 可以解决多分类问题,但是,当分类数量为 2 时,softmax 会退化为和逻辑回归一样。所以,可以当做 softmax 是逻辑回归在多分类问题上的拓展和泛化;逻辑回归是 softmax 在二分类问题上的特例。
具体 softmax 在这个课程里没有介绍,因为这个概念和神经网络,深度学习等连在了一起,不在这个课程的范围里了。可以参考这里的讨论:http://coding.imooc.com/learn/questiondetail/117668.html
如果有兴趣,可以找相关资料再学习一下。
继续加油!:)
032021-01-28
相似问题