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

 
Aleksey Vyazmikin #:

Верно. Взять десяток выборок и проверить эффективность построения моделей на отобранных предикторах для каждой выборки.

Это конечно очевидно. Поэтому и интересна эвристика.

Запустил на выборке - часов пять уже минуло - устал ждать. Вообще, я так понял он подходит для регрессии больше (в том числе логистической для классификации), и не является универсальным.

GPT предлагает такой код на R для отбора и сохранения исключенных предикторов. Я тут ограничил число предикторов 50 штуками - и решил снова подождать.

Исключил все столбцы :) Либо метод таков, либо ошибка в коде... А может предикторы так плохи - добавлю ещё.

сколько столбцов в данных?

 
mytarmailS #:

сколько столбцов в данных?

Чуть больше 2000

 
Aleksey Vyazmikin #:

Запустил на выборке - часов пять уже минуло - устал ждать

неужели так сложно прочитать пример с кодом на странице с методом, зачем говнокодить с GPT и не понимать что делаеться?

он за минуту дожен считать а не за 5 часов

 
Aleksey Vyazmikin #:

Чуть больше 2000

скинь мне пример данных я посмотрю

 и подходит он и для регресии и для классификации, ТАМ ЖЕ написано, и примеры есть.. что за люди


все же написано показа разжовано


 
mytarmailS #:

неужели так сложно прочитать пример с кодом на странице с методом, зачем говнокодить с GPT и не понимать что делаеться?

он за минуту дожен считать а не за 5 часов

Что не так с кодом? На хэлпе в студио он у меня зависает :)


mytarmailS #:

скинь мне пример данных я посмотрю

 и подходит он и для регресии и для классификации, ТАМ ЖЕ написано, и примеры есть.. что за люди


все же написано показа разжовано


Там же написано даже на скрине "логистическая регрессия" - естественно я смотрел примеры, которые почему то уже на питоне у них

 
Aleksey Vyazmikin #:

Что не так с кодом? На хэлпе в студио он у меня зависает :)


Там же написано даже на скрине "логистическая регрессия" - естественно я смотрел примеры, которые почему то уже на питоне у них

library(abess)
set.seed(1)
n <- 1000

target <- sample(0:1, size = n, replace = T) 

col <- 50000

X <- cbind(matrix(rnorm(n*col), ncol = col, dimnames = list(NULL, paste0("noise",1:col))),
          good_0.2 = target+rnorm(n, sd = 0.2),
          good_0.3 = target+rnorm(n, sd = 0.3),
          good_0.4 = target+rnorm(n, sd = 0.4),
          good_0.5 = target+rnorm(n, sd = 0.5))



ab <- abess(x = X, y = target, tune.path = "gsection", early.stop = TRUE)
ex <- extract(ab) тут исправил
ex$support.vars

вот ето попробуй

бинарная классификация

1000 строк

50 тысяч признаков / колонок

поднабор лучшых признаков нашло меньше чем за 3 секунды


все признаки которые имеют отношение к целевой нашло и ниодной шумовой из 50-ти тысяч

 
 ex$support.vars
[1]  "good_0.2"   "good_0.3"   "good_0.4"   "good_0.5"  
 
Aleksey Vyazmikin #:

1) Что не так с кодом? На хэлпе в студио он у меня зависает :)

2) Там же написано даже на скрине "логистическая регрессия" - естественно я смотрел примеры, которые почему то уже на питоне у них

1) ВСЕ не так, какое нафиг лассо это же регресия , а данные ты всунул для классификации

2) Там написано КЛАССиФИКАЦИЯ : .....  , данные по титанику , целевая бинарная выжил/не выжил

А логистическая регрессия это алгоритм классификации, нпример тексты ею классифицируют
 
[Удален]  
mytarmailS #:
https://youtu.be/Ipw_2A2T_wg?si=U03oigHFfaFxwjbs

Вот это МО герои

Навеяло..


 
mytarmailS #:

вот ето попробуй

бинарная классификация

Спасибо. Вот теперь работает быстро!

GPT не заменит человека конечно, но вполне хорошо помогает.

mytarmailS #:

50 тысяч признаков / колонок

поднабор лучшых признаков нашло меньше чем за 3 секунды


все признаки которые имеют отношение к целевой нашло и ниодной шумовой из 50-ти тысяч

Такс, нашел он мне значит 6 предикторов из всего списка. Хм, сейчас на них обучу 100 моделей CatBoost и посмотрим средний результат.


mytarmailS #:
А логистическая регрессия это алгоритм классификации, нпример тексты ею классифицируют

Да, конечно, это алгоритм классификации. Я чего то не увидел противоречий во всех там Ваших доводах и моих ранее сказанных слов. В общем - какое то недопонимание.

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

# Установка и загрузка пакета abess
#install.packages("abess")
library(abess)

# Загрузка данных из CSV
data <- read.csv("E:\\FX\\MT5_CB\\MQL5\\Files\\00_Standart_50\\Setup\\train.csv", sep = ";")

# Указание столбца целевой переменной
target_column <- "Target_100"
target <- data[, target_column]

# Исключение столбцов по их именам
столбцы_исключения <- c("Time","Target_P","Target_100","Target_100_Buy","Target_100_Sell")
data_without_excluded <- data[, !names(data) %in% столбцы_исключения]

# Выбор только первых 50 столбцов
#data_without_excluded <- data[, 1:500]

# Применение метода abess
# Здесь вам нужно указать вашу модель и настройки метода abess
# Например:
#model <- abess(y = target, x = data_without_excluded, method = "lasso")
model <- abess(y = target, x = data_without_excluded, tune.path = "gsection", early.stop = TRUE)

# Копирование результатов модели - разные показатели
ex <- extract(model)

# Получение имен отобранных предикторов (столбцов)
Pred <- ex$support.vars

# Сохранение информации в CSV файл
write.csv(Pred, "E:\\FX\\MT5_CB\\MQL5\\Files\\00_Standart_50\\Setup\\Pred.csv", row.names = FALSE)

# Получение индексов всех предикторов в наборе данных
все_предикторы <- colnames(data_without_excluded)
индексы_всех_предикторов <- seq_along(все_предикторы)

# Получение индексов предикторов, которые не входят в список для исключения
индексы_оставшихся_предикторов <- setdiff(индексы_всех_предикторов, match(Pred, все_предикторы))

# Уменьшение индексов на 1
индексы_оставшихся_предикторов <- индексы_оставшихся_предикторов - 1

# Сохранение индексов в CSV файл
write.csv(индексы_оставшихся_предикторов, "E:\\FX\\MT5_CB\\MQL5\\Files\\00_Standart_50\\Setup\\Оставшиеся_предикторы.csv", row.names = FALSE)