Cos'è un iperplano?
Un iperplano nello spazio N-dimensionale è un sottospazio (N-1)-dimensionale; Se lo spazio è tridimensionale, i suoi iperplani sono i piani bidimensionali. Uno spazio n-dimensionale è sempre attraversato da un insieme di vettori N linearmente indipendenti ed è sempre possibile trovare vettori reciprocamente ortogonali che abbracciano lo spazio. Che può o meno essere nella definizione di uno spazio vettoriale dimensionale, ma è un fatto per il quale la prova può essere trovata in quasi tutti i libri di testo di algebra lineare universitaria.
Di conseguenza, un iperplano nello spazio N è attraversato da vettori N-1 linearmente indipendenti e ha un anne vettore (non nel piano) ortogonale ad esso.
Cos'è una macchina vettoriale di supporto?
La macchina vettoriale di supporto (SVM) è un algoritmo di classificazione binaria di apprendimento automatico supervisionato. Dato un insieme di due tipi di punti in N Dimensioni, SVM genera un iperplano dimensionale (N-1) per dividere quei punti in due gruppi come mostrato di seguito:
Nella figura sopra, SVM sceglierà la linea rossa come il miglior iperplano che separa le classi blu e verdi.
Supponiamo che tu abbia due tipi di punti in un piano che sono linearmente separabili. SVM troverà una linea retta che divide quei punti in due tipi ed è il più lontano possibile da tutti loro. Questa linea è conosciuta come un iperplano ed è stata scelta in modo che i valori anomali non vengano ignorati e i punti di classi diverse sono il più distanti possibile. Se i punti non possono essere separati, SVM utilizza una trasformazione del kernel per aumentare le dimensioni dei punti.
Il caso discusso sopra era piuttosto semplice perché i dati erano separabili linearmente - come abbiamo visto, potevamo tracciare una linea retta per separare i tipi di punti rossi e blu.
Cosa succede se i dati non sono linearmente separabili? Non saremo in grado di separare le classi disegnando un iperplano dritto. Per affrontare questa sfida, aggiungeremo una terza dimensione al set di dati. Fino ad ora avevamo due dimensioni: xe y. Creiamo una nuova dimensione e un mandato che sia calcolata in un modo conveniente per noi: z = x2 + y2.
Questo creerà uno spazio tridimensionale dai punti precedenti. Dalla figura di seguito possiamo dedurre che inizialmente i punti non erano linearmente separabili, ma dopo aver applicato la funzione del kernel, abbiamo facilmente separato i punti dati. Ci sono molte funzioni del kernel disponibili che puoi scegliere in base al tuo caso d'uso.
Vantaggi di SVM
Svantaggi di SVM
Previsione delle indicazioni sui prezzi delle azioni utilizzando SVM
Le previsioni del mercato azionario vengono fatte prevedendo il valore futuro delle azioni di una società o di un altro strumento finanziario scambiato su uno scambio utilizzando analisi fondamentali o tecniche.
Il vantaggio della previsione del mercato azionario è che ti consente di investire saggiamente e proficuamente.
La prima attività per questa implementazione è importare tutte le librerie e i moduli nel nostro script. Sklearn verrà utilizzato per costruire il modello, i panda verranno utilizzati per gestire i frame di dati e Numpy è per l'algebra lineare. Di seguito sono riportate le importazioni richieste che facciamo:
da Sklearn.SVM Import SVCLa prossima attività è leggere il set di dati dal file. Il file sarà in archiviazione esterna e puoi scaricare il set di dati da qui.
# Leggendo il file CSV dalla memoria esternaAssegna il DateTime come indice del frame di dati e rilascia la colonna "Data"
# Realizzare la data di indice come colonnaAssegna le funzionalità di input a una variabile
# Crea variabili predittiveAssegna la colonna di destinazione a un'altra variabile
# Variabili targetDividi il set di dati in treni e test campioni. I campioni del treno costruiranno il modello, mentre i campioni di test identificheranno l'accuratezza del modello.
split = int (0.9*len (df))Crea ora il modello SVM
# Support Vector ClassifierPuoi trovare l'accuratezza di questo modello usando varie metriche.
Per prevedere il segnale dello stock, utilizzare il metodo seguente.
df ['sig'] = modello.prevedere (x)Conclusione
Questo articolo ha esaminato la discussione, i vantaggi e i casi d'uso delle macchine vettoriali di supporto. È un algoritmo popolare ed efficiente in termini di spazio per le attività di classificazione e regressione e utilizza principi geometrici per risolvere i nostri problemi. Successivamente, abbiamo anche implementato la previsione della direzione del prezzo delle azioni utilizzando l'algoritmo SVM. La previsione del prezzo delle azioni è estremamente utile nel mondo degli affari e quando utilizziamo l'automazione per questo, crea più clamore per questo problema.