添加进度条或百分比以调整R中的函数

时间:2016-01-02 06:19:28

标签: r machine-learning progress-bar svm

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 。但是对于非常大的数据集,它需要花费很多时间。因此,可以添加进度条或百分比来监控模型调整的进度。

2 个答案:

答案 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 方法是一个简单的网格搜索,来自文档

  

这个通用函数使用提供的网格搜索来调整统计方法的超参数   参数范围。

因此,编写自己的调整函数会非常简单。

否则你可以使用一个封装e1071的包并实现它自己的调优方法,具有更好的详细程度,例如mlrcaret