網上各種方法搜尋:
svm的主體都是用標準的c/c++寫的,一般給的libsvm的編譯在控制台下進行,所以得到的是在類似dos視窗下執行的程式,使用mfc應該只用做介面部分,把程式主體基本直接搬上去就行!
不過如何在mfc中呼叫外部exe,並能出入引數,這的確是個問題啊,我除錯了好久都沒成功啊!糾結ing!
svm-scale.exe用來實現資料縮放歸一化,svm-train.exe用來訓練資料,生成向量機的model模型,svm-predict.exe用來**.
q: how to build a dynamic library (.dll file) on ms windows?
the easiest way is to use makefile.win. see details in readme. alternatively, you can use visual c++. here is the example using visual studio .net 2008:
create a win32 empty dll project and set (in project->$project_name properties...->configuration) to "release." about how to create a new dynamic link library, please refer to
add svm.cpp, svm.h to your project.
add __win32__ and _crt_secure_no_deprecate to preprocessor definitions (in project->$project_name properties...->c/c++->preprocessor)
set create/use precompiled header to not using precompiled headers (in project->$project_name properties...->c/c++->precompiled headers)
set the path for the modulation definition file svm.def (in project->$project_name properties...->linker->input
build the dll.
rename the dll file to libsvm.dll and move it to the correct path.
svm中引數的選擇方法
支援向量機引數的取值直接影響到分類器的學習能力和推廣能力。通常通過計算分類器的推廣誤差來衡量引數的優劣,常用的方法有k重交叉驗證和留一法。k重交叉驗證法 該方法是最為普遍的計算推廣誤差的方法之一。其過程為 將訓練樣本集隨機分為k個集合,通常分為k等份,對其中的k 1個集合進行訓練,得到乙個決策函式,...
SVM多核學習方法簡介
svm是機器學習有監督學習的一種方法,常用於解決分類問題,其基本原理是 在特徵空間裡尋找乙個超平面,以最小的錯分率把正負樣本分開。因為svm既能達到工業界的要求,機器學習研究者又能知道其背後的原理,所以svm有著舉足輕重的地位。但是我們之前接觸過的svm都是單核的,即它是基於單個特徵空間的。在實際應...
統計學習方法 SVM
在統計學習方法這個板塊中,我們學習了多個分類演算法,比如邏輯斯蒂回歸,在邏輯斯蒂回歸模型中,我們對資料集有預先的假設 資料集滿足邏輯斯蒂分布。今天我們學習另外一種分類模型,這種分類模型對資料集沒有做任何假設,它的適用性更廣,當我們尚不明確資料分布特性時,使用這個模型分類可能更合適。這個模型叫svm,...