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

 
Aleksey Vyazmikin #:

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

У меня версия 3.5 для рабочего скрипта, все остальные менял как раз под код здешних обитателей. Новые версии не работают со старым кодом (пакетами).

Так а в чем смысл этого перебра?? 

отсеять признаки с корреляцией больше 0,9

отсеять признаки с корреляцией больше 0,8

отсеять признаки с корреляцией больше 0,7

отсеять признаки с корреляцией больше 0,6

....

..

Я не понимаю, какой в этом смысл , отсеял раз и все

========================================

К тому же известно что деревяным пофиг  на коррелированые признаки.

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

не занимаешься бредом, не тратишь свое и чужое время

 
Vladimir Perervenko #:


Пришлось поставить ещё пакетов

#install.packages(c("tidyft"), dependencies=TRUE)
#install.packages(c("Rcpp"), dependencies=TRUE)
#install.packages(c("import"), dependencies=TRUE)

Скрипт ушел в долгое раздумье, прихватив 6 гигабайт памяти - сама выборка в приделах гигабайта - кажется избыточное потребление.

Пока жду.

 
mytarmailS #:

Так а в чем смысл этого перебра?? 

отсеять признаки с корреляцией больше 0,9

отсеять признаки с корреляцией больше 0,8

отсеять признаки с корреляцией больше 0,7

отсеять признаки с корреляцией больше 0,6

....

..

Я не понимаю, какой в этом смысл , отсеял раз и все

В каком смысле "раз и всё" - выборок много, поэтому требуется системный подход. Если в этом будет толк, то сделаю на MQL5, что б работало уже из коробки, и, надеюсь, быстрей.

mytarmailS #:

========================================

К тому же известно что деревяным пофиг  на коррелированые признаки.

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

не занимаешься бредом, не тратишь свое и чужое время

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

Сейчас делаю, в том числе, для ветки на форуме, что б посмотреть, есть ли в этом смысл для той выборки.

Как минимум, я ожидаю, что данный подход позволит делать модели разнообразней, что позволит описать (Recall будет больше) больше ситуаций в выборке и в дальнейшем использовать пакет моделей.

 
Aleksey Vyazmikin #:

Сейчас делаю, в том числе, для ветки на форуме, что б посмотреть, есть ли в этом смысл для той выборки.

Смысла нет

 
mytarmailS #:

Смысла нет

Считаете, что та выборка безнадежна?

 
Aleksey Vyazmikin #:

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

Ага, а создатели бустов типа этого не знают...

Так же не знают что что можно признаки отсевать по коррелации)) откуда им знать, методу то всего 50 лет))

неужели ты действительно веришь что ты что то больше знаешь чем они? 

Aleksey Vyazmikin #:

Считаете, что та выборка безнадежна?

Уверен... в бусте это все учтено

и не выкай мне, я младше тебя наверно)

 
Aleksey Vyazmikin #:

Считаете, что та выборка безнадежна?

https://datascience.stackexchange.com/questions/12554/does-xgboost-handle-multicollinearity-by-itself


Деревья решений по своей природе невосприимчивы к мультиколлинеарности.  Например, если у вас есть 2 функции,

которые коррелированы на 99%, при принятии решения о разделении дерево выберет только одну из них.  Другие модели,

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

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

========

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


Что собственно я и говорит тебе ранее

Does XGBoost handle multicollinearity by itself?
Does XGBoost handle multicollinearity by itself?
  • 2016.07.02
  • ope ope 1,653 3 3 gold badges 16 16 silver badges 27 27 bronze badges
  • datascience.stackexchange.com
I'm currently using XGBoost on a data-set with 21 features (selected from list of some 150 features), then one-hot coded them to obtain ~98 features. A few of these 98 features are somewhat redundant, for example: a variable (feature) $A$ also appears as $\frac{B}{A}$ and $\frac{C}{A}$. My questions are : From what I understand, the model is...
 
mytarmailS #:

Ага, а создатели бустов типа этого не знают...

Так же не знают что что можно признаки отсевать по коррелации)) откуда им знать, методу то всего 50 лет))

неужели ты действительно веришь что ты что то больше знаешь чем они? 

Уверен... в бусте это все учтено

и не выкай мне, я младше тебя наверно)

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

Думаю, что они прекрасно всё знают, но так же они не должны рассказывать про банальности, которым уже не один десяток лет...

Про "Вы" или "Ты" - думаю, что лучше каждый будет называть собеседника так, как это ему удобно, если это не несёт оскорбительный посыл и не препятствует конструктивному диалогу.


mytarmailS #:

https://datascience.stackexchange.com/questions/12554/does-xgboost-handle-multicollinearity-by-itself


Деревья решений по своей природе невосприимчивы к мультиколлинеарности.  Например, если у вас есть 2 функции,

которые коррелированы на 99%, при принятии решения о разделении дерево выберет только одну из них.  Другие модели,

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

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

========

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


Что собственно я и говорит тебе ранее

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

К тому же у CatBoost есть некоторые отличия от xgboost, и есть разный результат на разных выборках, в среднем CatBoost быстрей и даже лучше, но не всегда.

 

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

 
Скрипт всё работает - видимо придется оставить на ночь....
Причина обращения: