簡體   English   中英

R中的svm kernlab

[英]svm kernlab in R

我想知道當我使用ksvm時如何找出sigma的最佳值(我的數據集具有21個分類和數值變量以及1400個觀測值),這是我的代碼:

rbf <- rbfdot(sigma = 0.05)
model <- ksvm(target~.,data = train,prob.model = TRUE,kernel = rbf)
p <- predict(model,test,type="probabilities")

我同意kpar="automatic"可能會有所幫助,但這僅適用於一些無監督的啟發式方法,並不一定為了分類精度而優化參數。 后者的唯一方法是編寫一個包裝程序,該包裝程序將網格搜索與交叉驗證結合使用。 如果您不想自己寫,那么mlr包(函數tuneParams() )可以為您完成此操作。 e1071軟件包(包括到LIBSVM的接口)還提供了執行相同功能的tune()函數。

干杯,UBod

ksvm為您找到最佳的sigma值。 我通過寫作來工作

訓練svm向量

ksvm_model<- ksvm(x=train,y=y,scaled=TRUE,type="nu-svr",kernel="rbfdot", kpar="automatic", prob.model=TRUE,class.weights=NULL,cache=100,cross=5);
#summary(ksvm_model);
# train and test the model over the test data 
next_y<-predict(ksvm_model,test_mat,type="response");

“ kpar =” automatic“”為您做到了。

強制檢查此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM