全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1053 2
2021-06-06
最近在做一个3分类问题,选用了glmnet函数,下面是具体代码:
fit1=glmnet(x_train,y_train,family="multinomial",type.multinomial = "grouped")
prefit.t<-predict(fit1,newx = x_test,type = "response",s=0)

最后输出了每一个样本对应的三类概率,如下所示:
1                          2            3
0.171590254 0.30420565 0.5242040981
0.072778138 0.15887890 0.7683429653
0.163690540 0.22120834 0.6151011165

但是不太清楚,每一类的概率是通过什么公式所得到的呢,上网查了一下贝叶斯分类公式是这样,其中theta0是截距项,theta是每个变量对应的系数。
微信截图_20210606122559.png
感谢各位大佬~~~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-6-7 06:18:35
你的理解大致是对的,你列的公式,实际上是相当于多项逻辑回归(Multinomial logistic regression)
https://en.wikipedia.org/wiki/Multinomial_logistic_regression
不过glmnet还涉及到了正则化,所以和这个情况还有一些不同,你可以通过修改type = "coefficients"看到,不同的分类,有不同的结局和斜率,而且是稀疏的,具体的计算,你可以参看原始代码,
https://github.com/cran/glmnet/blob/master/R/predict.glmnet.R
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-6-7 11:00:34
owenqi 发表于 2021-6-7 06:18
你的理解大致是对的,你列的公式,实际上是相当于多项逻辑回归(Multinomial logistic regression)

不 ...
感谢大佬的解答和资料~,我去您给的网址中再学习一下相关内容
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群