前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >逻辑回归中的多分类问题

逻辑回归中的多分类问题

作者头像
生信编程日常
发布2020-11-12 11:26:31
6060
发布2020-11-12 11:26:31
举报

一般情况下解决多分类问题有如下两种方式:

1)OvR (One vs Rest) 每次将某个与剩下的所有的分类,n个类别进行n次分类,选择分类得分最高的。

2). OvO (One vs One) 两两组合,比如四个类别有六个组,选择赢数最高的分类。

以下是sklearn中的使用(默认是OVR):

代码语言:javascript
复制
from sklearn.linear_model import LogisticRegression

# 只使用前两种feature,方便可视化

X = iris.data[:,:2]
y = iris.target

X_train, X_test, y_train, y_test = train_test_split(X, y)

scikit_LR = LogisticRegression()

# 默认multi_class='ovr',即OVR
scikit_LR.fit(X_train, y_train)
scikit_LR.score(X_test, y_test)

修改为OVO: 修改 multi_class='multinomial';需要注意的是,solver也需要改变, scikit_learn不仅仅使用梯度下降法,默认是使用liblinear的,但是对于OVO是无效的。

代码语言:javascript
复制
scikit_LR2 = LogisticRegression(multi_class='multinomial', solver='newton-cg')

scikit_LR2.fit(X_train, y_train)
scikit_LR2.score(X_test, y_test)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档