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

 
Aleksey Vyazmikin:

Спасибо за помощь.

Точность (Precision) и полнота (Recall) существенно лучше, чем у CatBoost получились.

Я в один файл слил все выборки.

Поэтому, может ещё подумаем в данном направлении?

На новых данных лучше или на обучающих?

Какие цифры и там и там?

 
elibrarius:

На новых данных лучше или на обучающих?

Какие цифры и там и там?

Увы, я ошибся, точность хуже, а не лучше.



Однако, это сложная выборка - толком обучится на ней не удается - завтра попробую другую, где хорошие модели у CatBoost'а получаются. Ну и в параметрах модели я не понимаю, поэтому может сравнение не очень и справедливо.

За счет большого Recall из этой модели можно сделать отдельный предиктор в общем то. Но я не знаю, как выгрузить это дело в файл :)

 
Maxim Dmitrievsky:

Здесь такая парадоксальная ситуация, что даже если нечаянно подскажешь правильно, то никто это не оценит

потому что критерии оценки отсутствуют )

Нет уж, оценка и признание совсем не нужны - ибо тогда уж точно не слезут)

Скорее, воспринимаю это как некоторое упражнение или головоломку, когда пытаюсь найти здравый смысл в любой форумной идее)

В данном конкретном случае - lasso вроде бы вполне применимо, если для классификации используется логистическая регрессия.

 

Попробовал на другой выборке - прикладываю


X <- read.csv2("F:\\FX\\Открытие Брокер_Demo\\MQL5\\Files\\ZZ_Po_Vektoru_TP4_SL4_Si_QMini_02_Bi\\Si_cQq\\Setup\\xxx.csv")
Y <- X$Target_100
X <- as.matrix(within(X, rm("Time","Target_P","Target_100",
                            "Target_100_Buy","Target_100_Sell")))
library(glmnet)
tr <- 1:14112 # train idx
best_lam <- cv.glmnet(x = X[tr,], 
                      y = Y[tr],alpha = 1, 
                      lambda = 10^seq(2, -2, by = -.1), 
                      nfolds = 5)$lambda.min

lasso_best <- glmnet(x = X[tr,], y = Y[tr], alpha = 1, lambda = best_lam)
pred <- predict(lasso_best, s = best_lam, newx = X[-tr,])

sma <- TTR::SMA(pred,20)
pred2 <- c(pred-sma) ; pred2[pred2>0] <- 1 ; pred2[pred2<=0] <- 0

yy <- tail(Y[-tr] ,3528)
pp <- tail(pred2 ,3528)
caret::confusionMatrix(as.factor(yy),as.factor(pp))
    Reference
Prediction    0    1
         0 1063  860
         1  567 1019
Вопрос в том, как получить модель и как, для начала, сохранить в файл классификацию.
Файлы:
xxx.zip  482 kb
 
Aleksey Vyazmikin:

Попробовал на другой выборке - прикладываю


Вопрос в том, как получить модель и как, для начала, сохранить в файл классификацию.

у катбуста довольно сильная регуляризация, тем более, если признаки категориальные, то нужно их так и объявить в бусте

 
Maxim Dmitrievsky:

у катбуста довольно сильная регуляризация, тем более, если признаки категориальные, то нужно их так и объявить в бусте

Для бинарных не имеет значение категориальные они или нет.

Регуляризацию можно попробовать уменьшить - хорошая идея - спасибо.

Пока же Lasso показала лучше результат на экзаменационной части выборки.

 
Maxim Dmitrievsky:

Т.е. сделки разметить по какой-нибдь машке с периодом 5 или разнице цен и посмотреть что будет

признаки при этом тоже получатся сглаженные при обучении


попробуйте таким же макаром. В кастомном тестере получилось хорошо, при экспорте модели проблемка, позже поищу ошибку.

 
Aleksey Vyazmikin:

Для бинарных не имеет значение категориальные они или нет.

Регуляризацию можно попробовать уменьшить - хорошая идея - спасибо.

Пока же Lasso показала лучше результат на экзаменационной части выборки.

Возможно это просто удачный кусок экзаменационной выборки. И вы делаете подгонку под него, выбирая модель с лучшими для нее параметрами.

Я теперь всегда  кроссвалидацией (или валкинг-форвардом) проверяю, подгонки под небольшой участок нету, а сразу под все данные, думаю это и есть лучший вариант обучения.
Док тоже перед исчезновением с форума советовал ей проверять.

 
Maxim Dmitrievsky:

у катбуста довольно сильная регуляризация, тем более, если признаки категориальные, то нужно их так и объявить в бусте

Улучшений не дало снижение L2 регуляризации. Так что Lasso получается лучше.

 
elibrarius:

Возможно это просто удачный кусок экзаменационной выборки. И вы делаете подгонку под него, выбирая модель с лучшими для нее параметрами.

Я теперь всегда  кроссвалидацией (или валкинг-форвардом) проверяю, подгонки под небольшой участок нету, а сразу под все данные, думаю это и есть лучший вариант обучения.
Док тоже перед исчезновением с форума советовал ей проверять.

Во первых, я не умею настраивать Lasso, поэтому подгонки там вообще нет - как стоят параметры так и получается.

Во вторых, это один и тот же участок с CatBoostom - а там вот 800 моделей для выбора и я взял практически лучшие варианты.

Я приложил файл - попробуйте сами разные  модели, Lasso рекомендовали именно для бинарных выборок - в этом фишка.

Причина обращения: