Python >> Tutoriel Python >  >> Python Tag >> NumPy

Produit numpy dot

Numpy est une bibliothèque Python populaire pour la science des données axée sur les tableaux, les vecteurs et les matrices. Une application importante des tableaux, des matrices et des vecteurs est le produit scalaire. Cet article vous apprendra tout ce que vous devez savoir pour commencer !

Le produit scalaire se comporte différemment pour différents tableaux d'entrée.

Tableau 1D produit scalaire et scalaire

import numpy as np


# 1D array & scalar
a = np.array([1, 2, 3])
res = np.dot(a, 10)
print(res)
# [10 20 30]

Produit scalaire Deux tableaux 1D

# 1D array & 1D array
a = np.array([1, 2, 3])
b = np.array([-1, -2, -3])
res = np.dot(a, b)
print(res)
# -14

Tableaux 1D et 2D de produits scalaires

# 1D array & 2D array
a = np.array([1, -1])
b = np.array([[2, 2, 2],
              [1, 1, 1]])
res = np.dot(a, b)
print(res)
# [1 1 1]

Produit scalaire deux tableaux 2D

# 2D array & 2D array
a = np.array([[2, 2],
              [1, 1]])
b = np.array([[-1, -1],
              [1, 1]])
res = np.dot(a, b)
print(res)
# [[0 0]
#  [0 0]]

Puzzle NumPy :Comment utiliser le produit scalaire pour la régression linéaire

Les puzzles sont un excellent moyen d'améliorer vos compétences et leur plaisir aussi ! L'énigme suivante porte sur une application pertinente du produit scalaire :régression linéaire en apprentissage automatique. Pouvez-vous le résoudre ?

import numpy as np

# simple regression model
W = np.array([0.7, 0.2, 0.1])

# Google stock prices (in US-$)
# [today, yesterday, 2 days ago]
x = np.array([1131, 1142, 1140])

# prediction
y = np.dot(W, x)

# do we expect growing prices?
if y > x[0]:
    print("buy")
else:
    print("sell")

Exercice :Quel est le résultat de ce puzzle ?

Vous pouvez le résoudre de manière interactive sur notre application d'apprentissage basée sur les puzzles Finxter :

Ce puzzle prédit le cours de l'action Google. Nous utilisons des données historiques de trois jours et les stockons dans le tableau NumPy x .

Le tableau W représente notre modèle de prédiction. Plus précisément, W contient les pondérations des trois derniers jours, c'est-à-dire la contribution de chaque jour à la prédiction. Dans l'apprentissage automatique, ce tableau est appelé le vecteur de poids.

Nous prévoyons le cours des actions pour demain sur la base des cours des actions des trois derniers jours. Mais le cours de l'action d'aujourd'hui devrait avoir un impact plus important sur notre prévision que le cours de l'action d'hier. Ainsi, nous pondérons le cours de l'action d'aujourd'hui avec le facteur 0,7.

Dans le puzzle, les cours des actions des trois derniers jours sont de 1132 $, 1142 $ et 1140 $. Le cours de l'action prévu pour le lendemain est y = 0.7 * $1132 + 0.2 * $1142 + 0.1 * $1140 = $1134.8 .

Nous implémentons cette combinaison linéaire des cours boursiers sur trois jours les plus récents en utilisant le produit scalaire des deux vecteurs.

Pour obtenir le résultat du puzzle, vous n'avez pas à calculer le résultat du produit scalaire. Il suffit de voir que le cours de l'action prévu est supérieur au cours de l'action d'aujourd'hui.


Êtes-vous un codeur maître?
Testez vos compétences maintenant !

Vidéo associée

Voulez-vous devenir un maître NumPy ? Découvrez notre livre de puzzle interactif Coffee Break NumPy et boostez vos compétences en data science ! (Le lien Amazon s'ouvre dans un nouvel onglet.)