Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 38

 
Yury Reshetov:

Судя по тому, что Dr.Trader уже обломался при попытке портировать старую версию libVMR в R и у него памяти не хватило для большой ядерной машины, а также полноценной производительности для маленькой (количество циклов сократил в 100 раз), то желающие наступать на те же самые грабли вряд ли найдутся?


Так что, лучше пока не заикаться о портировании под R  подобных задач - эта кляча не потянет.

Только очень поверхностное знакомство с R позволит говорить о "клячах".

Конечно, ставим R и видим интерпретатор символьных строк. Если углубиться, то можно увидеть байт-код, но это никаких проблем интерпретатора в смысле эффективности не решает. Даже обсуждать нечего - кляча.

 

А вот если чуть-чуть вникнуть в пакеты R, то быстро выяснится, что то что мы видим код на R- это обращение к другому коду. И если начать разбираться, то выяснится, что для вычислительно емких алгоритмов  R всегда использует сторонние пакеты, которые выбирались по принципу максимально возможной эффективности. Обычно это библиотеки С или Фортрана. 

Или, например, матричные операции. Если учесть, что в R отсутствует понятие "скаляр", а все начинается с векторов и матричная арифметика является совершенно естественной для R, то вопрос использования соответствующей библиотеки, которая написана НЕ на R, является принципиальным. Используется Intel Math Kernel Library.

К этому следует добавить, что распараллеливание вычислений не только на все ядра собственного компьютера, но и на соседние компьютеры - это рядовая операция в R.

 

Так, что является "клячей" а что нет - большой вопрос.

 

ПС.

Ничего портировать в R не надо, а надо просто изучить матчасть.  В R есть все, что нужно и очень много чего сверх этого. 

 
здесь что платят за посты? :)
 
mytarmailS:

вопрос : как мне дать новым полученным колонкам имена типа "a_minus_b" , "a_minus_c" 

a <- 1:5
b <- 6:10
c <- 11:15
d <- 16:20
dt <- data.frame(a,b,c,d)

res.dt <- data.frame(matrix(nrow=nrow(dt), ncol=0))

for(i in 1:(ncol(dt)-1)){
        for(j in (i+1):ncol(dt)){
                colname <- paste0(colnames(dt)[i], "_minus_", colnames(dt)[j])
                res.dt[, colname] <- dt[, i] - dt[,j]
        }
}
res.dt

Нам за посты заплатит сам форекс :) Каждый умеет и знает что-то своё, и если прочитать все 38 страниц и попробовать на деле, и объединить все знания - то думаю можно сделать рабочий советник.

 
СанСаныч Фоменко:
Вы не могли бы опровергнуть ПРЕДМЕТНО содержание статьи, на которую я дал ссылку. На данный момент Dr.Trader: предпринял попытку использовать этот материала. Использовать совершенно конкретно. Результат отрицательный. Может быть в также предметно выскажитесь? 

Извиняюсь, что не по теме.
СанСаныч, Вы на каком языке думаете?
Ваш пост похож на гугл-транслятор. Уважайте Русский язык, пожалуйста.

 PS если хотите, что бы Вас понимали... 

 
Event:

Извиняюсь, что не по теме.
СанСаныч, Вы на каком языке думаете?
Ваш пост похож на гугл-транслятор. Уважайте Русский язык, пожалуйста.

 PS если хотите, что бы Вас понимали... 

Всю жизнь так высказываюсь... Вы первый...

Если что не понятно, готов объяснить. 

 
СанСаныч Фоменко:

Всю жизнь так высказываюсь... Вы первый...

Если что не понятно, готов объяснить.

 Объяснять не надо. Кто то должен быть первым))

 
Dr.Trader:

Нам за посты заплатит сам форекс :) Каждый умеет и знает что-то своё, и если прочитать все 38 страниц и попробовать на деле, и объединить все знания - то думаю можно сделать рабочий советник.

Большое, Человеческое, Спасибо!!!

пс. правда эту изящную идею с двойным циклом нужно еще прокурить) 

 

Cделал описание для бинарного классификатора jPrediction, выложил исходники.

Оглавление:

  1. Основные характеристики
  2. Запуск jPrediction
  3. Как создать математическую модель бинарного классификатора в jPrediction
  4. Сохранение модели в файл
  5. Редукция - удаление неинформативных признаков из модели
  6. Загрузка и использование модели для классификации объектов
  7. Приложение
    1. Дополнительные выборки для бинарной классификации
    2. Формат CSV файлов для jPrediction

Полный текст в прикреплённом архиве (формат PDF)

jPrediction - бинарный классификатор для машинного обучения | Reshetov & Co
jPrediction - бинарный классификатор для машинного обучения | Reshetov & Co
  • yury-reshetov.com
Основные характеристики Запуск jPrediction Как создать математическую модель бинарного классификатора в jPrediction Сохранение модели в файл Редукция - удаление неинформативных признаков из модели Загрузка и использование модели для классификации объектов Приложение Дополнительные выборки для бинарной классификации Формат CSV файлов для...
Файлы:
Reshetov_150.zip  2217 kb
 
Yury Reshetov:

Cделал описание для бинарного классификатора jPrediction, выложил исходники.


Здравствуйте Юрий! Спасибо за труд! 

1) можете пояснить поподробней что это все таки значит

  • Sensitivity - это чувствительность модели в процентах
  • Specificity - специфичность модели в процентах

 2) если у меня комп слабый то сколько времени модель будет обучаться модель скажем  на выборке из 300  предикторов и 100 000 наблюдений

(не плохо было бы надпись "please wait"  заменить на расчет прогресса обучения в % или что то типа того чтоб не ждать 100 лет до окончания) 

 3) А что с "R" ? не будет? 

 
mytarmailS:

Здравствуйте Юрий! Спасибо за труд! 

1) можете пояснить поподробней что это все таки значит

  • Sensitivity - это чувствительность модели в процентах
  • Specificity - специфичность модели в процентах

Sensitivity of generalization abiliy - правильно предсказаны положительные исходы на тестовой выборке: 100% * TP / (TP + FP)

Specificity of generalization ability - правильно предсказаны отрицательные исходы на тестовой выборке: 100% * TN / (TN + FN)

где:

TP - количество истинно положительных исходов

TN - количество истинно отрицательных исходов

FP - количество ложно положительных исходов

FN - количество ложно отрицательных исходов

mytarmailS:

 2) если у меня комп слабый то сколько времени модель будет обучаться модель скажем  на выборке из 300  предикторов и 100 000 наблюдений

 3) А что с "R" ? не будет?

Нисколько не будет обучаться, а выдаст сообщение об ошибке, если количество предикторов в выборке превышает 10 шт.

mytarmailS:

 3) А что с "R" ? не будет? 


Если так неймётся, то устанавливайте пакет rJavа. см. Calling Java code from R

Calling Java code from R
Calling Java code from R
  • 2011.01.01
  • View all posts by darrenjw
  • darrenjw.wordpress.com
In the previous post I looked at some simple methods for calling C code from R using a simple Gibbs sampler as the motivating example. In this post we will look again at the same Gibbs sampler, but now implemented in Java, and look at a couple of options for calling that code from an R session. Stand-alone Java code Below is some Java code for...
Причина обращения: