首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Weka中的成本敏感评价(成本矩阵)

理解Weka中的成本敏感评价(成本矩阵)
EN

Stack Overflow用户
提问于 2014-06-30 22:57:08
回答 1查看 7.1K关注 0票数 2

我用的是Weka 3.7.1

我试图用weka来分析棒球运动的预测。我想使用一个成本矩阵,因为不同结果的成本是不一样的,在一个体育书籍,我赌博的游戏。我的数据集很简单:它是一组具有名义类{WIN,LOSS}的预测。对于这个问题,属性是不关心的。

在WEKA Explorer中,在加载我的arff文件之后,我可以从

分类->更多选项.>成本敏感评估> set .>在我设置类== 2之后,weka成本敏感评估中出现了一个2x2网格。

以下是我想在成本矩阵中输入的值:

  • 正确分类为损失,成本为0(我没有下注)
  • 错误地归类为损失,费用是0(我没有下注)
  • 正确归类为win,成本是-.909 (我赢了.909美元)
  • 错误地归类为胜利,成本是1.0 (我输了一美元)

请注意,如果我将利润设定为负值(这与成本相反,这就是利润),并将损失设置为正数(因为当我输掉赌注时,这会使我付出代价),这是一个真实的“成本矩阵”。

经过一些思考后,我决定使用以下网格,我不知道是否正确,请告诉我是否正确:

代码语言:javascript
复制
 - a   b       <---- "classified as"
 - 0   1.0     a=LOSS
 - 0   -.909   b=WIN

下面是我可能有错误的逻辑:(col,row)

代码语言:javascript
复制
(0,0) of grid=0: classified as LOSS, and was LOSS
(0,1) of grid=0: classified as LOSS, but was WIN
(1,0) of grid=1.0; classified as WIN, but was LOSS
(1,1) of grid=.909; classified as WIN, was WIN

当然,(0,0)和(0,1)表示预测损失的分类器,在这种情况下我不下注,因此没有成本。

另一方面,(1,0)和(1,1)表示预测一场胜利的分类器,在这种情况下,我下注,因此有一个相关的成本。

另一个非常混乱的项目是:在我设置成本矩阵并执行分类器之后,输出报告包含以下内容:

评价成本矩阵:

代码语言:javascript
复制
 0    1   
 0    0.91   <--- notice that this is not a negative value!

正如您所看到的,在报告(1,1)中,当我实际输入-.909时是0.91。我确实找到了关于这个话题的另一篇文章,但它并没有解释为什么负面的价值变得积极。

提前谢谢你。请注意,这些都是可回答的问题;然而,如果您想提供一些指导,我将非常高兴,因为我是一个新手,仍然试图建立一个理解框架。

EN

回答 1

Stack Overflow用户

发布于 2014-09-02 08:49:34

成本矩阵是改变决策边界阈值的一种方法。下面的一篇论文对此作了解释。

http://research.ijcaonline.org/volume44/number13/pxc3878677.pdf

通过查看您的成本矩阵,似乎需要进行一些修正。

例如:

代码语言:javascript
复制
0    cost
cost 0

只想解释一下:考虑以下成本矩阵:

代码语言:javascript
复制
a b
c d

这是我观察到的两类问题的成本矩阵的一般格式。

现在,当你在某一地点对某物进行分类时,就没有必要将成本计算在内。

所以这里的重点是,只有在错误分类的情况下,成本才会出现。即在b或c地点。

但是,当你把负值写成成本时,它会造成混乱。(请解释同样的问题,即负成本是什么意思。)

例如,成本矩阵可以是:

代码语言:javascript
复制
0  1
10 0

这表明,将样本分类为假阳性的成本比将类似的例子错误分类为假阴性的成本高出10倍。此外,当正确分类示例时,不需要任何代价。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24500147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档