在 e1071 中,R库有一个内置的tune()函数来优化我们的算法。
tuneop=tune(svm,y~.,data=dat,kernel="radial",ranges=list(cost=c(0.001, 0.01, 0.1, 1,5,10,100),gamma=c(0.001, 0.01, 0.1, 1,5,10)))
我使用tune函数在我的SVM模型中优化我的gamma和cost参数。对于小型数据集 tune()只需要很少的时间来生成 bestmodel 。但是对于非常大的数据集,它需要花费很多时间。因此,可以添加进度条或百分比来监控模型调整的进度。
答案 0 :(得分:2)
不完全是您要查找的内容,但我使用beepr包中的beep()
函数。它在命令完成时发出声音。
答案 1 :(得分:2)
据我所知,e1071在其调整方法中没有包含进度条或详细模式的选项。
但是{-# LANGUAGE GADTs,StandaloneDeriving,DataKinds,ConstraintKinds,KindSignatures #-}
main=putStrLn "hw"
type Length (unit::LengthUnit)= Double
data LengthUnit= Km | Meter
divideByTwo ::Length lu->Length lu
divideByTwo l =l/2
getKm ::Double->Length Km
getKm d = d
getMeter ::Double->Length Meter
getMeter d =d
isKm :: Length Km ->Bool
isKm _ = True
this_should_not_compile_but_it_does=isKm $ divideByTwo $ getMeter 1
this_is_even_stranger_that_it_does_compile = isKm $ getMeter 1
方法是一个简单的网格搜索,来自文档
这个通用函数使用提供的网格搜索来调整统计方法的超参数 参数范围。
因此,编写自己的调整函数会非常简单。