我有一个基于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