L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 2112

 
Aleksey Vyazmikin:

Par y est la partition de la grille, et par X l'écart en pourcentage de la somme de la cible de chaque classe dans l'ensemble de l'échantillon. Le filtre est de 5%. Vous pouvez voir que différentes classes dominent dans différentes zones, il y a un changement de miroir - alors l'amélioration est due à une classe particulière (l'histogramme est négatif), et parfois non. Tout cela devrait être utilisé dans la formation, mais les méthodes de formation standard que je connais n'en tiennent pas beaucoup compte. Il peut être plus efficace de dépasser les limites de la génétique (plus précisément de l'élimination) - il faut le faire.

Supposons que vous trouviez un bon quantum dans lequel 65% des exemples de la 1ère année.
La division se produit par exemple au milieu, laissez diviser par ceci votre quantum.

1)De la division en branche gauche tous les exemples de votre quantum avec 65% des exemples nécessaires et de beaucoup d'autres quanta qui sont plus petits par la valeur de votre quantum iront à la branche gauche. Par conséquent, vous n'obtiendrez pas 65 %, mais un autre pourcentage - beaucoup plus faible en raison de la dilution avec des exemples provenant d'autres quanta.

2) Deuxièmement, si votre quantum n'est pas la première division de l'arbre, alors toutes les divisions précédentes ont retiré environ 50 % des exemples de l'échantillon. Et au niveau 5 de l'arbre, il restera 1/(2^5)=1/32 partie des exemples de votre quanta, qui seront mélangés avec les mêmes quanta dilués que dans le premier cas. En d'autres termes, 65% des exemples ont peu de chances de rester dans la feuille à la suite de la formation.

La seule option est de marquer les colonnes comme des caractéristiques catégorielles après la quantification - alors, s'il s'agit de la première division de l'arbre, tous les 65% des exemples iront vers la branche gauche sans se mélanger avec d'autres quanta. S'il ne s'agit pas de la première fente de l'arbre - alors nous avons à nouveau un éclaircissement par les fentes supérieures.

 
elibrarius:

Supposons que vous trouviez un bon quantum dans lequel 65% des exemples sont de classe 1.
Le partage se fait par exemple au milieu, qu'il soit partagé par ce quantum qui est le vôtre.

1)A partir de la division, tous les exemples de votre quantum avec 65% des exemples nécessaires et de beaucoup d'autres quanta qui sont plus petits par la valeur de votre quantum iront à la branche gauche. Par conséquent, vous n'obtiendrez pas 65 %, mais un autre pourcentage - beaucoup plus faible en raison de la dilution avec des exemples provenant d'autres quanta.

2) Deuxièmement, si votre quantum n'est pas la première division de l'arbre, alors toutes les divisions précédentes ont retiré environ 50 % des exemples de l'échantillon. Et au niveau 5 de l'arbre, il restera 1/(2^5)=1/32 partie des exemples de votre quanta, qui seront mélangés avec les mêmes quanta dilués que dans le premier cas. En d'autres termes, 65% des exemples ont peu de chances de rester dans la feuille à la suite de la formation.

La seule option est de marquer les colonnes comme des caractéristiques catégorielles après la quantification - alors, s'il s'agit de la première division de l'arbre, tous les 65% des exemples iront vers la branche gauche sans se mélanger avec d'autres quanta. S'il ne s'agit pas de la première fente de l'arbre, on assiste à un éclaircissement par les fentes supérieures.

1-2 - oui, cela peut arriver, mais pas nécessairement, vous avez besoin d'une approche qui minimise cette probabilité.

Et à propos des caractéristiques catégorielles - c'est vrai, mais pour MQ il n'y a pas d'interprète de modèle avec des caractéristiques catégorielles.

Jusqu'à présent, je vois une solution dans la consolidation des segments quantiques sous une seule valeur et la création d'un échantillon séparé où ces valeurs apparaissent - de cette façon, nous aurons la garantie de travailler avec ce sous-ensemble. Je le ferai en cherchant des feuilles, mais au début, je dois quantifier rapidement en utilisant différentes méthodes.

 
Aleksey Vyazmikin:

Les résultats sont étranges - sur les échantillons de test et de formation, le rappel est de 0,6-0,8 et sur l'examen sans transformation de 0,009 et avec transformation de 0,65 - quelque chose ne va pas ici :(

J'ai l'impression que CatBoost a appris l'algorithme de conversion :)

Et y a-t-il une possibilité de marquer les anciennes et les nouvelles lignes ? Il est alors possible de retirer les chaînes transformées de l'échantillon transformé et de voir s'il s'agit d'un problème d'interprétation ou non de formation qualitative tout de même.

il devrait l'être, il y a moins d'exemples de la même classe sur les nouvelles données. Ici, la généralisation devrait être meilleure, nous devrions l'exécuter dans le testeur en une seule fois.

avec mes données, le rééchantillonnage n'aide pas.

de nouvelles lignes sont ajoutées à la fin, si vous soustrayez les restes de l'ensemble de données original. Cette méthode ajoute simplement des exemples par la méthode du plus proche voisin à la classe mineure. C'est-à-dire qu'il crée de nouvelles étiquettes et caractéristiques plausibles.

 
Aleksey Vyazmikin:

1-2 - oui, cela pourrait être le cas, mais pas nécessairement, vous avez besoin d'une approche qui minimise cette probabilité.

Et à propos des caractéristiques catégorielles - c'est vrai, mais pour MQ il n'y a pas d'interprète de modèle avec des caractéristiques catégorielles.

Jusqu'à présent, je vois une solution dans la consolidation des segments quantiques sous une seule valeur et la création d'un échantillon séparé où ces valeurs apparaissent - de cette façon, nous aurons la garantie de travailler avec ce sous-ensemble. Je le ferai pendant la recherche des feuilles, mais au début, nous devons quantifier rapidement en utilisant différentes méthodes.

Il s'agit de l'algorithme de construction de l'arbre. Vous ne pouvez pas le changer. A moins que vous n'écriviez votre propre Catboost.

 
Maxim Dmitrievsky:

il devrait l'être, il y a moins d'exemples de la même classe sur les nouvelles données. Ici, la généralisation devrait être meilleure, nous devrions utiliser le testeur en même temps.

avec mes données, le rééchantillonnage n'aide pas.

de nouvelles lignes sont ajoutées à la fin, si vous soustrayez les restes de l'ensemble de données original. Cette méthode ajoute simplement des exemples par la méthode du plus proche voisin à la classe mineure. C'est-à-dire qu'il crée de nouvelles étiquettes et caractéristiques plausibles.

Le rappel doit donc rester élevé, sinon cela ne sert à rien. Cela ne dépend pas de l'équilibre de l'échantillon.

Je comprends le principe de fonctionnement, merci.

Existe-t-il une méthode de clustering "Cluster Centroids" - ou quoi d'autre à essayer à partir d'ici.

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

Il s'agit de l'algorithme de construction de l'arbre. Vous ne pouvez pas le changer. A moins que vous n'écriviez votre propre Catboost.

C'est ce que je dis - vous devez créer votre propre algorithme.

 
Aleksey Vyazmikin:

Le rappel doit donc rester élevé, sinon cela ne sert à rien. Cela ne dépend pas de l'équilibre de l'échantillon.

Je comprends le principe, merci.

Il existe une méthode de clustering "Cluster Centroids" - ou autre chose à essayer à partir d'ici.

Celle-ci supprime au contraire les étiquettes d'une classe majeure.

 
Maxim Dmitrievsky:

celui-ci, par contre, enlève les marques de la classe principale

Supprimons donc les zéros d'une manière astucieuse, cela aura peut-être un effet.

 
Aleksey Vyazmikin:

De cette façon, supprimez les zéros d'une manière astucieuse, cela aura peut-être un effet.

dans le carnet de notes, il suffit de remplacer la méthode et c'est tout.

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

voici un exemple

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

Je préfère "Near-Miss" (sur la base de photos).

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:

sur l'ordinateur portable, il suffit de remplacer la méthode et c'est tout.

J'ai dû le changer au mauvais endroit et il se bat.

---------------------------------------------------------------------------
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

Vérifiez ce qui ne va pas.