Qu'est-ce qu'un hyperplan?
Un hyperplan dans l'espace N dimensionnel est un sous-espace (N-1)-Dimensional; Si l'espace est tridimensionnel, alors ses hyperplanes sont les plans bidimensionnels. Un espace à n dimensions est toujours étendu par un ensemble de n vecteurs linéairement indépendants, et il est toujours possible de trouver n vecteurs mutuellement orthogonaux qui s'étendent sur l'espace. Cela peut être ou non dans la définition d'un espace vectoriel de dimension finie, mais c'est un fait pour lequel une preuve peut être trouvée dans presque tous les manuels d'algèbre linéaire de premier cycle.
En conséquence, un hyperplan dans l'espace n est couvert par des vecteurs n-1 linéairement indépendants et a un nème vecteur (pas dans le plan) orthogonal.
Qu'est-ce qu'une machine vectorielle de support?
La machine à vecteur de support (SVM) est un algorithme de classification binaire d'apprentissage automatique supervisé. Étant donné un ensemble de deux types de points en n dimensions, SVM génère un hyperplan dimensionnel (n-1) pour diviser ces points en deux groupes comme indiqué ci-dessous:
Dans la figure ci-dessus, SVM choisira la ligne rouge comme la meilleure hyperplan séparant les classes bleues et vertes.
Supposons que vous ayez deux types de points dans un plan qui sont linéairement séparables. SVM trouvera une ligne droite qui divise ces points en deux types et est aussi loin que possible de tous que possible. Cette ligne est connue sous le nom d'hyperplane, et elle a été choisie afin que les valeurs aberrantes ne soient pas ignorées et que les points de classes différentes sont aussi éloignés que possible. Si les points ne peuvent pas être séparés, SVM utilise une transformation du noyau pour augmenter les dimensions des points.
L'affaire discutée ci-dessus était assez simple car les données étaient séparables linéairement - comme nous l'avons vu, nous avons pu tracer une ligne droite pour séparer les types de points rouges et bleus.
Et si les données ne sont pas linéairement séparables? Nous ne pourrons pas séparer les classes en dessinant un hyperplan droit. Pour relever ce défi, nous allons ajouter une troisième dimension à l'ensemble de données. Nous avions deux dimensions jusqu'à présent: x et y. Nous créons une nouvelle dimension et mandat qu'il est calculé d'une manière qui nous convient: z = x2 + y2.
Cela créera un espace tridimensionnel à partir des points précédents. Nous pouvons déduire de la figure ci-dessous que, initialement, les points n'étaient pas linéairement séparables, mais après avoir appliqué la fonction du noyau, nous avons facilement séparé les points de données. Il existe de nombreuses fonctions de noyau disponibles que vous pouvez choisir en fonction de votre cas d'utilisation.
Avantages de SVM
Inconvénients de SVM
Instruction du cours de l'action Prédiction à l'aide de SVM
Des prévisions boursières sont faites en prédisant la valeur future des actions d'une entreprise ou d'un autre instrument financier négocié sur une bourse en utilisant une analyse fondamentale ou technique.
L'avantage de la prédiction boursière est qu'il vous permet d'investir judicieusement et rentable.
La première tâche pour cette implémentation consiste à importer toutes les bibliothèques et modules de notre script. Sklearn sera utilisé pour construire le modèle, les pandas seront utilisés pour gérer les trames de données, et Numpy est pour l'algèbre linéaire. Vous trouverez ci-dessous les importations requises que nous faisons:
de Sklearn.SVM IMPORT SVCLa tâche suivante consiste à lire l'ensemble de données à partir du fichier. Le fichier sera en stockage externe et vous pouvez télécharger l'ensemble de données à partir d'ici.
# Lecture du fichier CSV à partir du stockage externeAttribuez le DateTime comme index de la trame de données et supprimez la colonne «Date»
# Faire la date de la colonne d'indexAttribuer les fonctionnalités d'entrée à une variable
# Créer des variables prédictivesAttribuer une colonne cible à une autre variable
# Variables ciblesDivisez l'ensemble de données en échantillons de train et tester. Les échantillons de train accumuleront le modèle, tandis que les échantillons de test identifieront la précision du modèle.
Split = int (0.9 * Len (DF))Créez le modèle SVM maintenant
# Classificateur de vecteur de supportVous pouvez trouver la précision de ce modèle en utilisant diverses mesures.
Pour prédire le signal du stock, utilisez la méthode ci-dessous.
df ['sig'] = modèle.prédire (x)Conclusion
Cet article a connu la discussion, les avantages et les cas d'utilisation des machines vectorielles de support. Il s'agit d'un algorithme populaire et économe en espace pour les tâches de classification et de régression, et il utilise des principes géométriques pour résoudre nos problèmes. Plus tard, nous avons également mis en œuvre la prévision de direction du cours de l'action en utilisant l'algorithme SVM. La prévision des cours des actions est extrêmement utile dans le monde des affaires, et lorsque nous utilisons l'automatisation pour cela, cela crée plus de battage médiatique pour ce problème.