L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 2112
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Per y è la partizione della griglia, e per X la deviazione come percentuale della somma dell'obiettivo di ogni classe nell'intero campione. Il filtro è al 5%. Si può vedere che diverse classi dominano in diverse aree, c'è un cambiamento speculare - allora il miglioramento è dovuto a una classe particolare (l'istogramma è meno), e a volte non lo è. Tutto questo dovrebbe essere utilizzato nell'allenamento, ma i metodi di allenamento standard che conosco non ne tengono molto conto. Può essere più efficace eccedere con la genetica (più precisamente sull'eliminazione) - bisogna farlo.
Supponiamo che troviate un buon quantum in cui il 65% degli esempi di 1° grado.
La scissione avviene per esempio nel mezzo, lasciate dividere da questo il vostro quantum.
1) Da dividere nel ramo sinistro tutti gli esempi dal tuo quantum con il 65% degli esempi necessari e da molti altri quanti che sono più piccoli del valore del tuo quantum andranno al ramo sinistro. Come risultato otterrete non il 65%, ma un'altra percentuale - molto più piccola a causa della diluizione con esempi di altri quanti.
2) Secondo - se il tuo quantum non è il primo split nell'albero, allora tutti gli split precedenti hanno rimosso circa il 50% degli esempi dal campione. E al livello 5 dell'albero, rimarrà 1/(2^5)=1/32 parte degli esempi nel vostro quant, che saranno mescolati con gli stessi quanti diluiti come nel primo caso. Cioè, è improbabile che il 65% degli esempi rimanga nel foglio come risultato della formazione.
L'unica opzione è segnare le colonne come caratteristiche categoriche dopo la quantizzazione - allora se è la prima divisione nell'albero, tutto il 65% degli esempi andrà al ramo sinistro senza mescolarsi con altri quanti. Se non è la prima spaccatura dell'albero - allora di nuovo otteniamo un diradamento per spaccature superiori.
Supponiamo che troviate un buon quantum in cui il 65% degli esempi sono di classe 1.
La spaccatura avviene per esempio nel mezzo, che sia spaccata da questo vostro quantum.
1) Dalla divisione, tutti gli esempi del tuo quantum con il 65% degli esempi necessari e di molti altri quantum che sono più piccoli del valore del tuo quantum andranno al ramo sinistro. Come risultato otterrete non il 65%, ma un'altra percentuale - molto più piccola a causa della diluizione con esempi di altri quanti.
2) Secondo - se il tuo quantum non è il primo split nell'albero, allora tutti gli split precedenti hanno rimosso circa il 50% degli esempi dal campione. E al livello 5 dell'albero, rimarrà 1/(2^5)=1/32 parte degli esempi nel vostro quant, che saranno mescolati con gli stessi quanti diluiti come nel primo caso. Cioè, è improbabile che il 65% degli esempi rimanga nel foglio come risultato della formazione.
L'unica opzione è segnare le colonne come caratteristiche categoriche dopo la quantizzazione - allora se è la prima divisione nell'albero, tutto il 65% degli esempi andrà al ramo sinistro senza mescolarsi con altri quanti. Se non è la prima spaccatura dell'albero - allora di nuovo otteniamo un diradamento per spaccature superiori.
1-2 - sì, può succedere, ma non necessariamente, avete bisogno di un approccio che minimizzi questa probabilità.
E riguardo alle caratteristiche categoriche - è vero, ma per MQ non esiste un interprete di modelli con caratteristiche categoriche.
Finora vedo una soluzione nel consolidare i segmenti quantistici sotto un valore e creare un campione separato dove si verificano questi valori - in questo modo avremo la garanzia di lavorare con quel sottoinsieme. Lo farò mentre cerco le foglie, ma all'inizio ho bisogno di quantizzare rapidamente con metodi diversi.
I risultati sono strani - su test e training sample Recall 0.6-0.8 e sull'esame senza trasformazione 0.009 e con trasformazione 0.65 - qualcosa è sbagliato qui :(
Ho la sensazione che CatBoost abbia imparato l'algoritmo di conversione :)
E c'è la possibilità di marcare linee vecchie e nuove? Poi è possibile rimuovere le stringhe trasformate dal campione trasformato e vedere se è un problema di interpretazione o non di formazione qualitativa tutto uguale.
dovrebbe essere, ci sono meno esempi della stessa classe nei nuovi dati. Qui la generalizzabilità dovrebbe essere migliore, dovremmo eseguirlo subito nel tester
Con i miei dati, il ricampionamento non aiuta.
nuove righe vengono aggiunte alla fine, se si sottrae il dataset originale rimane. Questo metodo aggiunge semplicemente degli esempi con il metodo del vicino più vicino alla classe minore. Cioè crea nuove etichette e caratteristiche plausibili
1-2 - sì, potrebbe essere, ma non necessariamente, avete bisogno di un approccio che minimizzi questa probabilità.
E riguardo alle caratteristiche categoriche - questo è vero, ma per MQ non esiste un interprete di modelli con caratteristiche categoriche.
Finora vedo una soluzione nel consolidare i segmenti quantistici sotto un valore e creare un campione separato dove si verificano questi valori - in questo modo avremo la garanzia di lavorare con quel sottoinsieme. Lo farò durante la ricerca delle foglie, ma all'inizio dobbiamo quantizzare rapidamente con metodi diversi.
Questo è l'algoritmo per costruire l'albero. Non si può cambiare. A meno che tu non scriva il tuo Catboost.
dovrebbe essere, ci sono meno esempi della stessa classe nei nuovi dati. Qui la generalizzabilità dovrebbe essere migliore, dovremmo eseguire il tester in una sola volta
con i miei dati, il ricampionamento non aiuta.
nuove righe vengono aggiunte alla fine, se si sottrae il dataset originale rimane. Questo metodo aggiunge semplicemente degli esempi con il metodo del vicino più vicino alla classe minore. Cioè crea nuove etichette e caratteristiche plausibili
Quindi il richiamo deve rimanere alto, altrimenti non ha senso. Non dipende dall'equilibrio del campione.
Capisco il principio di funzionamento, grazie.
C'è qualche metodo con clustering "Cluster Centroids" - o cos'altro provare da qui.
Questo è l'algoritmo per costruire l'albero. Non si può cambiare. A meno che tu non scriva il tuo Catboost.
È di questo che sto parlando: devi creare il tuo algoritmo.
Quindi il richiamo deve rimanere alto o non ha senso. Non dipende dall'equilibrio del campione.
Capisco il principio, grazie.
C'è qualche metodo con clustering "Cluster Centroids" - o qualcos'altro da provare da qui.
Questo rimuove le etichette da una classe importante al contrario.
questo, d'altra parte, rimuove i segni dalla classe maggiore
Quindi rimuoviamo gli zeri in modo intelligente, forse avrà un effetto.
In questo modo cancella gli zeri in modo intelligente, forse avrà un effetto.
nel quaderno, basta sostituire il metodo ed è fatta.
from imblearn.under_sampling import ClusterCentroids cc = ClusterCentroids(random_state=0) X_resampled, y_resampled = cc.fit_resample(X, y)
Ecco un esempio
https://imbalanced-learn.readthedocs.io/en/stable/under_sampling.html
Preferisco Near-Miss (basato sulle immagini)
sul portatile, basta sostituire il metodo ed è fatta
Devo averlo cambiato nel posto sbagliato e sta combattendo.
Per favore, controllate cosa c'è che non va.