tctcab 哈哈确实,我再想想,的确想要返回一个标签列表才是真实目的
多标签分类怎么做
nan.xiao 照着敲了一遍才来写买家秀,真不错!的确是R的多标签分类,但不晓得这个mlr机器学习包和caret有什么区别,感觉也很强大,谢谢您!!!
都是框架,所以没什么本质区别。如果有的话,那么 MLR 的设计更多地直接对标了 scikit-learn,在 API 的设计上更灵活,更好地支持了类似于以上多标签这种回归和分类以外的特殊问题。
可能是因为出现较早的缘故,caret 在以上方面有所局限。当然,他们后来又自己另立山头搞了一套 tidymodels。
- 已编辑
nan.xiao 请问做出来的每个标签的概率是什么意思?我看到它单个标签其实分对了,为什么概率也是0.3左右,而且也不一定,这个单个标签的概率怎么理解他的意思?
比如:
truth.r truth.t truth.w prob.r prob.t prob.w response.r response.t response.w
FALSE FALSE TRUE 0.15 0.524 0.494 FALSE TRUE FALSE
FALSE FALSE TRUE 0.334 0.41 0.672 FALSE FALSE TRUE
TRUE TRUE FALSE 0.714 0.186 0.284 TRUE FALSE FALSE
nan.xiao
函数帮助里没有吗?
- 已编辑
tctcab 这个真没有,他只说这个是什么,可以怎么获得,mlr官方文档也没有提它的意义是什么
- 已编辑
Susannalsy 我懂了,这个概率的意思就是单纯的算法认为这个东西是什么的概率,不论预测对了还是错了,刚在看mlr3包的书,书中举了这个例子,茅塞顿开。
row_id truth response prob.M prob.R
1: 9 R R 0.04651 0.9535
2: 11 R R 0.04651 0.9535
3: 15 R R 0.15385 0.8462
4: 19 R R 0.15385 0.8462
5: 21 R M 0.89474 0.1053
6: 27 R R 0.04651 0.9535
比如,第一行,算法预测对了,就是R类型,它认为是R的概率是0.95,很高的概率确信它是R,而不是M,这个很好理解;看第5行,算法预测错了,算法预测是M,但其实是R,这里给出觉得是M的概率是0.89,很高,所以答案是M。
因此,就是简单解释算法为什么给出这个结果的概率大小。所以,多标签想必道理是类似的,它的概率虽然很低,但是它结果是对的,只是说有较小的概率认为它是这个,能理解吗,意会一下
Susannalsy 另外,这个概率是针对每一个标签是01的概率,并不是三个标签加起来是01的概率,用啥能求这样的概率结果呢??
- 已编辑
Susannalsy 算法根据模型预测该object属于某一个类别的概率是多少,通过根据属于各个类别的概率判断属于哪个类别,这与它真实属于哪个类别没有关系。然后根据预测情况与真实情况的差异判断该模型的好与坏,类似统计假设检验中的第一类、第二类错误。
CMCai0104 你说的这个我现在理解了,这的确是算法呈现出来的意思,但关键是如何让这几个标签的概率加起来等于1?他们加起来不等于1
Susannalsy 我悟了!!!!以默认阈值为0.5为例,对每一个标签而言给出一个概率,如果大于0.5,就是TRUE,小于0.5就是FALSE,所以他们加起来当然不会等于1