2012-08-27 20 views
5

jestem optymalizacji kilka różnych modeli, z których jeden jest radialSVM użyciu pakietu caret. Stworzyłem kratkę tuningową w ramach przygotowań do przejścia przez pętlę, aby znaleźć najlepsze parametry do zastosowania w modelu.Kolejność zmieniających się wartości za pomocą R?

Jedną rzeczą, która byłaby niezwykle pomocne jest jakiś różnej sekwencji przyrostu. Na przykład, chciałbym rozpocząć od małych wartości parametrów inkrementowanych małymi krokami. Im większy, tym większe kroki mogę zrobić. Odkryłem, że małe parametry zmieniają model całkiem sporo, więc chciałbym je dokładniej zbadać.

To byłoby fantastyczne mieć kolejny przyrost o około mnożnik obecnym etapie powiedzieć x <- x+5*x. Czy jest to możliwe dzięki czemuś, co już istnieje (jak kreatywne użycie seq()), czy też muszę użyć pętli?

Odpowiedz

5

Jak o coś takiego:

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

Elegancki i prosty -- dzięki! – Hendy

2

Można wykorzystać rozkład wykładniczy:

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 

dostosować go mieć różnice, które spełniają Twoje potrzeby:

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 
Powiązane problemy