针对 WEKA 中的每个实例提取 SVM 分配的值

Posted

技术标签:

【中文标题】针对 WEKA 中的每个实例提取 SVM 分配的值【英文标题】:Extract SVM assigned values against each instance in WEKA 【发布时间】:2018-12-16 06:23:57 【问题描述】:

在对每个实例使用 SVM 训练模型后,有什么方法可以提取值,以查看 SVM 为每个实例分配了什么值,以便将实例分类为正类或负类。我正在寻找一些解决方案来获得所有WEKA 工具中针对每个实例的基于 SVM 的分配值。 我一直在 SVM 下使用 LibSVM 和 LibLinear 分类器。我需要这些值用于排名

【问题讨论】:

【参考方案1】:

点击预处理...过滤...“选择”按钮...

然后选择Weka /Filters / Supervised / Attribute Filter “添加分类”

在其配置对话框中,将“OutputClassification”设置为“True”

单击“LibSVM”标签以调用第二个对话框。配置分类器。

点击应用。

新列“分类”将添加到您的数据集 - 但这不会对您的数据集执行交叉验证。它将使用整个数据集作为训练数据集,因此会导致过度拟合。

替代方案(用于获得交叉验证输出的预测):您也可以转到“分类器”选项卡,单击“更多选项...”按钮,“输出预测”,选择“纯文本”,然后预测将显示在大的“分类器输出”文本面板中。

【讨论】:

感谢指导。但是在我们单击“LibSVM”标签后得到的第二个对话框中没有像“OutputClassification”这样的选项。该 ialog 框在其中具有以下选项 Svm 类型、批量大小、缓存大小、coef()、成本、调试、度、doNotCheckCapabilities、doNotReplaceMissingValues、eps、伽玛、kernelType、损失、模型文件、规范化、nu、numDecimalPlaces、probabilityEstimates、种子、收缩和权重 我在项目符号列表中切换了两行 - 请参阅我的编辑。 “AddClassification”过滤器有自己的配置对话框,在那里你可以找到“OutputClassification”

以上是关于针对 WEKA 中的每个实例提取 SVM 分配的值的主要内容,如果未能解决你的问题,请参考以下文章

如何解释 Weka 中的 SVM 输出?

从我自己的 JAVA 代码中使用 SVM 和 Weka 时的实例权重异常

Weka:如何获取测试实例的每个类的概率

如何在 Weka 中构建 SVM 分类器以仅考虑数据集中的某些特征?

WEKA - 将实例分配给 kmeans.buildClusterer 时出错

如何使用 weka 中保存的模型将类分配给实例