Weka、SVM 技术输出
Posted
技术标签:
【中文标题】Weka、SVM 技术输出【英文标题】:Weka, SVM technique output 【发布时间】:2017-10-01 02:20:30 【问题描述】:我正在 Weka 使用 SVM
我有一些数据,我尝试使用 SVM(我尝试了不同的 C 值)技术来分析数据。但是输出完全让我感到困惑,这就是为什么我希望有所帮助。
这是 1 次多项式内核的输出:
Scheme:weka.classifiers.meta.CVParameterSelection -P "C 0.001 10.0 5.0" -X 10 -S 1 -W weka.classifiers.functions.SMO -- -C 0.7 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K "weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0"
Classifier Options: -C 7.5003 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K "weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0"
=== Summary ===
Correctly Classified Instances 83 79.0476 %
Incorrectly Classified Instances 22 20.9524 %
Kappa statistic 0.6555
Mean absolute error 0.0487
Root mean squared error 0.1549
Relative absolute error 91.5633 %
Root relative squared error 100.2828 %
Total Number of Instances 105
这是 2 次多项式内核的输出:
Scheme:weka.classifiers.meta.CVParameterSelection -P "C 0.001 10.0 5.0" -X 10 -S 1 -W weka.classifiers.functions.SMO -- -C 0.7 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K "weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 2.0"
Classifier Options: -C 2.5008 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K "weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 2.0"
=== Summary ===
Correctly Classified Instances 87 82.8571 %
Incorrectly Classified Instances 18 17.1429 %
Kappa statistic 0.7236
Mean absolute error 0.0486
Root mean squared error 0.1547
Relative absolute error 91.4748 %
Root relative squared error 100.1845 %
Total Number of Instances 105
这是高斯核和伽马值 1.0 的输出:
Scheme:weka.classifiers.meta.CVParameterSelection -P "C 0.001 10.0 5.0" -X 10 -S 1 -W weka.classifiers.functions.SMO -- -C 0.7 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K "weka.classifiers.functions.supportVector.RBFKernel -C 250007 -G 1.0"
Classifier Options: -C 2.5008 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K "weka.classifiers.functions.supportVector.RBFKernel -C 250007 -G 1.0"
=== Summary ===
Correctly Classified Instances 87 82.8571 %
Incorrectly Classified Instances 18 17.1429 %
Kappa statistic 0.721
Mean absolute error 0.0486
Root mean squared error 0.1547
Relative absolute error 91.4571 %
Root relative squared error 100.1651 %
Total Number of Instances 105
这些是我的问题:
为什么“分类器选项:-Cxxxxx”中的分类器具有不同的 C 值?我认为这与我用“C 0.001 10.0 5.0”检查的 C 的值有关,但我可能是错的,我可能会得到错误的结论。我认为使用“C 0.001 10.0 5.0”它会尝试值 0.001、0.01、0.1、1.0 和 10.0。如果这是真的,为什么 C 的值是:7.5003 和 2.5008??
正确分类实例的百分比在所有不同的运行中都非常相似,我不明白为什么……这是什么意思?如果是 12%,我会认为 SVM 不是一种合适的技术(它不是线性可分的),但是 80%(更改参数后没有变化或变化很小)我不知道该怎么想……
如果我检查 Weka 的“可视化”中的数据,数据似乎不是线性可分的,但由于在使用 SVM 时转换了更多维度,我认为不可能从可视化中得出结论。
【问题讨论】:
【参考方案1】:1) 是的,您使用 CVParameterSelection 在您的案例中尝试不同的参数,从 0.001 到 10 分 5 步。步数将是 0.001 + k * (10-0.001)/4),因为您的第一步已经定义为 0.001。如果您四舍五入以下值(对于 k= 0/1/2/3/4),您会发现它们合适。
步骤 1) 0.001
步骤 2) 2.50075
步骤 3) 5.005
步骤 4) 7.50025
步骤 5) 10.0
2) 如果你有 12% 的准确率,那会很奇怪。随机分类(假设您有平衡的数据)将导致 50%。我不能告诉你 82% 是否是一个好的结果,因为我不知道你的数据。
3)关于线性可分性的问题。这正是 SVM 如此出色的原因。具有正确内核的 SVM 将您的数据转换为更高的特征空间,以摆脱不可分离性。 RBF 内核甚至可以将您的数据转换为无限维特征空间。这就是为什么完美的线性分离总是是可能的。此时可能会发生过拟合。为了避免这种情况并达到良好的泛化效果,您需要使用复杂度参数 C。
在这里,您可以阅读有关最后一点的好 stackexchange 帖子的更多信息 https://stats.stackexchange.com/questions/80398/how-can-svm-find-an-infinite-feature-space-where-linear-separation-is-always-p
【讨论】:
以上是关于Weka、SVM 技术输出的主要内容,如果未能解决你的问题,请参考以下文章