我有一个基于libsvm实现的SVM算法的项目 . 最近我决定尝试其他几种分类算法,这就是scikit-learn的图片 .
与scikit的连接非常简单,它通过 load_svmlight_file
例程支持libsvm格式 . Ans它的svm实现基于相同的libsvm .
当一切都完成后,我决定通过直接运行libsvm和scikit-learn来检查结果的一致性,结果是不同的 . 在学习曲线的18个测量中,7个是不同的,差异位于学习曲线的小步骤 . libsvm结果似乎更稳定,但scikit-learn结果有一些剧烈的波动 .
分类器当然具有完全相同的参数 . 我试图在scikit-learn实现中检查libsvm的版本,但我找不到它,我发现的唯一的东西是libsvm.so文件 .
目前我使用的是libsvm 3.21版本,scikit-learn 0.17.1版本 .
我很感激在解决这个问题时提供任何帮助 .
size libsvm scikit-learn
1 0.1336239435355727 0.1336239435355727
2 0.08699516468193455 0.08699516468193455
3 0.32928301642777424 0.2117238289550198 #different
4 0.2835688734876902 0.2835688734876902
5 0.27846766962743097 0.26651875338163966 #different
6 0.2853854654662907 0.18898048915599963 #different
7 0.28196058132165136 0.28196058132165136
8 0.31473956032575623 0.1958710201604552 #different
9 0.33588303670653136 0.2101641630182972 #different
10 0.4075242509025311 0.2997807499800962 #different
15 0.4391771087975972 0.4391771087975972
20 0.3837789445609818 0.2713167833345173 #different
25 0.4252154334940311 0.4252154334940311
30 0.4256407777477492 0.4256407777477492
35 0.45314944605858387 0.45314944605858387
40 0.4278633233755064 0.4278633233755064
45 0.46174762022239796 0.46174762022239796
50 0.45370452524846866 0.45370452524846866