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

 
Aleksey Vyazmikin #:

Для CatBoost нужно подать список предикторов, которые подлежат исключению, т.е. те, что не выбраны. Уменьшение значения на -1 нужно так как индекс в том же CatBoost считается от нудя, как и во многих других языках.


Так допустимо?

В общем результат идентичный, что и без нормализации.

Да, допустимо. 

Значит проблема в другом,  мне не понятен тот код что я выделил, но без компа не раз шифруюю, завтра посмотрю.. 

Блин выпил кофе в 18:30,  сейчас уже почти 3:40 ночи, а я лежу и смотрю в потолок
 
mytarmailS #:

Блин выпил кофе в 18:30,  сейчас уже почти 3:40 ночи, а я лежу и смотрю в потолок
Это не кофе, тебя МО не отпускает, это уже болезнь
 
mytarmailS #:
Да, допустимо. 

Значит проблема в другом,  мне не понятен тот код что я выделил, но без компа не раз шифруюю, завтра посмотрю.. 

Блин выпил кофе в 18:30,  сейчас уже почти 3:40 ночи, а я лежу и смотрю в потолок

Значит кофе был не поддельный...

 
Maxim Dmitrievsky #:
Это не кофе, тебя МО не отпускает, это уже болезнь

Хмм... может и болезнь, в палате было троя...

 
Aleksey Vyazmikin #:

Хмм... может и болезнь, в палате было троя...

Это хорошая болезнь, доброкачественная 
 
Три психа)))) 
 
Алексей, скинь мне свои данные чтобы я мог нормально понять в чем проблема, и написать нормальный код. Вариантов непоняток слишком много
 
mytarmailS #:
Алексей, скинь мне свои данные чтобы я мог нормально понять в чем проблема, и написать нормальный код. Вариантов непоняток слишком много

Выборка будет загружена в течении часа

Ссылка для скачивания: https://transfiles.ru/5fgge

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

 
Aleksey Vyazmikin #:

Выборка будет загружена в течении часа

Ссылка для скачивания: https://transfiles.ru/5fgge

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

Ок, попрбую когда типа проснусь
 
mytarmailS #:
Ок, попрбую когда типа проснусь

Переписал код, код был с ошибками, не доверяй ГПТ это лажа!

Попробовал с нормализацией и без , попробовал с балансировкой классов и без.

Больше всего признаков находит с нормализацией и балансировкой классов, но из за рандомной балансировки могут результаты отличаться. Находит в среднем 15-20 признаков

data <- data.table::fread("D:\\train.csv", sep = ";") |> as.data.frame()
original_colum_names <- colnames(data)
target <- data$Target_100
data <- data[, !(names(data) %in% c("Time", "Target_P", "Target_100", "Target_100_Buy", "Target_100_Sell"))]
data <- scale(data)

# table(target) # баланс целевой


#################################################
### без балансировки классов в большую сторону ##
#################################################

library(abess)
model <- abess(y = target, x = data, tune.path = "gsection", early.stop = TRUE) 
ex <- extract(model)
ex$support.vars

#  сохранение имен колонок 
# write.csv(ex$support.vars, "E:\\FX\\MT5_CB\\MQL5\\Files\\00_Standart_50\\Setup\\Pred.csv", row.names = FALSE)
best_colums_idx <- which(original_colum_names %in% ex$support.vars)
# Сохранение индексов в CSV файл
#write.csv(best_colums_idx, "E:\\FX\\MT5_CB\\MQL5\\Files\\00_Standart_50\\Setup\\Оставшиеся_предикторы.csv", row.names = FALSE)





################################################
### с балансировкой классов в большую сторону ##
################################################

x <- caret::upSample(x = data, y = as.factor(target), list = TRUE)
x$y <- as.numeric(as.character(x$y))

# table(x$y) # баланс целевой

model <- abess(y = x$y, x = x$x, tune.path = "gsection", early.stop = TRUE) 
ex <- extract(model)
ex$support.vars

#  сохранение имен колонок 
# write.csv(ex$support.vars, "E:\\FX\\MT5_CB\\MQL5\\Files\\00_Standart_50\\Setup\\Pred.csv", row.names = FALSE)
best_colums_idx <- which(original_colum_names %in% ex$support.vars)
# Сохранение индексов в CSV файл
#write.csv(best_colums_idx, "E:\\FX\\MT5_CB\\MQL5\\Files\\00_Standart_50\\Setup\\Оставшиеся_предикторы.csv", row.names = FALSE)




Вот напрмер

ex$support.vars
 [1] "iATR_B0_S1_M1"         "iStdDev_B0_S1_M1"      "iVolumes_B0_S1_M1"     "iStdDev_B0_S1_M2"     
 [5] "iATR_B0_S1_M3"         "iATR_B0_S1_M4"         "iATR_B0_S1_M5"         "iATR_B0_S1_M6"        
 [9] "iATR_B0_S2_M1"         "iStdDev_B0_S2_M1"      "iATR_B0_S2_M2"         "iATR_B0_S2_M3"        
[13] "iATR_B0_S2_M5"         "iATR_B0_S2_M6"         "iATR_B0_S15_M1"        "iATR_B0_S15_M2"       
[17] "iADX_B2_S15_M12"       "iADXWilder_B2_S15_M20" "iVolumes_B0_S15_H4"   
Причина обращения: