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

Maxim Dmitrievsky:

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

на моих данных не помогает ресемплинг

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

Так Recall должен оставаться высоким иначе нет смысла же. Он не зависит от сбалансированности выборки.

Принцип работы я понял, спасибо.

Есть какой то метод с кластеризацией  "Cluster Centroids" - или ещё что попробовать отсюда.

5 главных алгоритмов сэмплинга
5 главных алгоритмов сэмплинга
  • habr.com
Работа с данными — работа с алгоритмами обработки данных. И мне приходилось работать с самыми разнообразными на ежедневной основе, так что я решил составить список наиболее востребованных в серии публикаций. Эта статья посвящена наиболее распространённым способам сэмплинга при работе с данными.
elibrarius:

Это алгоритм построения дерева. Вы его не можете изменить. Если только написать собственный Catboost

Об этом и речь - надо делать свой алгоритм.

[Удален]
Aleksey Vyazmikin:

Так Recall должен оставаться высоким иначе нет смысла же. Он не зависит от сбалансированности выборки.

Принцип работы я понял, спасибо.

Есть какой то метод с кластеризацией  "Cluster Centroids" - или ещё что попробовать отсюда.

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

Maxim Dmitrievsky:

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

Так и удалим нули по умному, может это даст эффект.

[Удален]
Aleksey Vyazmikin:

Так и удалим нули по умному, может это даст эффект.

в ноутбуке просто замените метод и все

from imblearn.under_sampling import ClusterCentroids
cc = ClusterCentroids(random_state=0)
X_resampled, y_resampled = cc.fit_resample(X, y)

отсюда пример

https://imbalanced-learn.readthedocs.io/en/stable/under_sampling.html

мне больше нраявятся Near-Miss (по картинкам)

3. Under-sampling — imbalanced-learn 0.5.0 documentation
  • imbalanced-learn.readthedocs.io
On the contrary to prototype generation algorithms, prototype selection algorithms will select samples from the original set . Therefore, is defined such as and . In addition, these algorithms can be divided into two groups: (i) the controlled under-sampling techniques and (ii) the cleaning under-sampling techniques. The first group of methods...
Maxim Dmitrievsky:

в ноутбуке просто замените метод и все

Чет я не там заменил видать - ругается

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-e8cb95eddaea> in <module>()
      1 cc = ClusterCentroids(random_state=0)
----> 2 X_resampled, y_resampled = cc.fit_resample(X, y)

NameError: name 'X' is not defined

Посмотрите, пожалуйста что там не так.

Maxim Dmitrievsky:


мне больше нраявятся Near-Miss (по картинкам)

Картинки красивые - но нужно пробовать.

[Удален]
Aleksey Vyazmikin:

Чет я не там заменил видать - ругается

Посмотрите, пожалуйста что там не так.

там не X, y а data_X, data_y

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

Maxim Dmitrievsky:

там не X, y а data_X, data_y

cc = ClusterCentroids(random_state=0)
x_resampled, y_resampled = cc.fit_resample(data_X, data_y)
NameError                                 Traceback (most recent call last)
<ipython-input-7-29177f78bed3> in <module>()
      1 cc = ClusterCentroids(random_state=0)
----> 2 x_resampled, y_resampled = cc.fit_resample(data_X, data_y)

NameError: name 'data_X' is not defined
[Удален]
Aleksey Vyazmikin:

Алексей... )))

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