如何自动优化 Weka 中的 classifier 以使给定的 class 包含 100% 确定的数据?
How to automatically optimize a classifier in Weka in order to have a given class to contain 100 % sure data?
我有两个(或三个)classes,每个 classes 只能拥有一个标签。
我想优化(如果可能的话自动)classifier 的参数和阈值,以便我的第一个 class 只包含 100% 确定的数据。即使它包含少量实例。
我不介意剩余的 classes 包含误报或正确拒绝。
我不介意拥有未class化的数据。
我已经在 Whosebug 和 weka 的 wiki 上搜索过,但也许我对 weka 的了解不足导致我错过了一些关键字。
我还尝试使用著名的 "iris" 数据库执行任务,但我认为在这种情况下,任何 class 都可以 100% 确定。
然而,我只成功地测试了多个 classifier 并手动调整它们,但没有为我的第一个 class 执行 100% 正确。 (我在weka的报告给出的混淆矩阵中检查了这个结果。)
不知何故,我知道我的 class 有可能包含 100% 确定的数据,因为我设法在 Matlab 中手动设置了简单的阈值。但是我想尝试更大的数据库,以获得更好的门槛并使用weka的强大功能。
任何建议都会有帮助,谢谢!
您可能需要 "meta" class 编辑器中的 "Cost Sensitive Classifier"。
如果您在资源管理器中工作,这是您得到的对话框。
选择您的 "classifier"(ZeroR 之外的东西 :))。
设置你的"cost matrix"。对于 2-class 问题,这将是 2x2 矩阵。
通过将一个非对角线分量设置得非常大(>>1,假设为 1000),您可以确保 misclassifying one class(您的 "first" class)为 1000比错误 class 误导另一个 class 的成本高出 1 倍。这应该可以完成工作。
我有两个(或三个)classes,每个 classes 只能拥有一个标签。
我想优化(如果可能的话自动)classifier 的参数和阈值,以便我的第一个 class 只包含 100% 确定的数据。即使它包含少量实例。
我不介意剩余的 classes 包含误报或正确拒绝。
我不介意拥有未class化的数据。
我已经在 Whosebug 和 weka 的 wiki 上搜索过,但也许我对 weka 的了解不足导致我错过了一些关键字。
我还尝试使用著名的 "iris" 数据库执行任务,但我认为在这种情况下,任何 class 都可以 100% 确定。
然而,我只成功地测试了多个 classifier 并手动调整它们,但没有为我的第一个 class 执行 100% 正确。 (我在weka的报告给出的混淆矩阵中检查了这个结果。) 不知何故,我知道我的 class 有可能包含 100% 确定的数据,因为我设法在 Matlab 中手动设置了简单的阈值。但是我想尝试更大的数据库,以获得更好的门槛并使用weka的强大功能。
任何建议都会有帮助,谢谢!
您可能需要 "meta" class 编辑器中的 "Cost Sensitive Classifier"。 如果您在资源管理器中工作,这是您得到的对话框。
选择您的 "classifier"(ZeroR 之外的东西 :))。 设置你的"cost matrix"。对于 2-class 问题,这将是 2x2 矩阵。 通过将一个非对角线分量设置得非常大(>>1,假设为 1000),您可以确保 misclassifying one class(您的 "first" class)为 1000比错误 class 误导另一个 class 的成本高出 1 倍。这应该可以完成工作。