2012-08-27 12 views
5

Estoy optimizando algunos modelos diferentes, uno de los cuales es radialSVM usando el paquete caret. Estoy creando una cuadrícula de ajuste en preparación para recorrer un ciclo para encontrar los mejores parámetros para usar en el modelo.Secuencia de incrementos variables con R?

Una cosa que sería extremadamente útil es algún tipo de secuencia de incremento variable. Por ejemplo, me gustaría comenzar con pequeños valores de parámetros incrementados en pequeños pasos. Cuanto más grande voy, más pasos puedo dar. Descubrí que los parámetros pequeños cambian un poco el modelo, por lo que me gustaría explorarlos con más cuidado.

Sería fantástico tener el incremento de secuencia por algún multiplicador del paso actual, digamos x <- x+5*x. ¿Es posible con algo que ya existe (como el uso creativo de seq()) o necesito usar un bucle?

Respuesta

5

¿Qué tal algo como esto:

0.0001 * 6^(0:10) 
# [1] 0.0001 0.0006 0.0036 0.0216 0.1296 0.7776 4.6656 
# [8] 27.9936 167.9616 1007.7696 6046.6176 
+0

elegante y sencillo -- ¡Gracias! – Hendy

2

podría utilizar la distribución exponencial:

qexp((1:100)/100) 

> qexp((1:100)/100) 
    [1] 0.01005034 0.02020271 0.03045921 0.04082199 0.05129329 0.06187540 0.07257069 0.08338161 
    [9] 0.09431068 0.10536052 0.11653382 0.12783337 0.13926207 0.15082289 0.16251893 0.17435339 

ajustarlo a tener diferencias que cumplan con ustedes necesita:

diff(20* qexp((1:100)/100)) 
[1] 0.2030474 0.2051300 0.2072557 0.2094260 0.2116422 0.2139058 0.2162183 0.2185814 
[9] 0.2209967 0.2234660 0.2259911 0.2285739 0.2312164 0.2339208 0.2366892 0.2395238