Рубрики
Без рубрики

Numpy Dot Product

Numpy – популярная библиотека Python для науки о данных, ориентируясь на массивы, векторы и матрицы. Важным применением массивов, матриц и векторов является точечный продукт. Эта статья научит вам все, что вам нужно знать, чтобы начать! Точечный продукт ведет себя по-разному для различных входных массивов. Точечный продукт 1D массив и скалярные … Numpy Dot Product Подробнее »

Автор оригинала: Chris.

Numpy – популярная библиотека Python для науки о данных, ориентируясь на массивы, векторы и матрицы. Важным применением массивов, матриц и векторов является точечный продукт. Эта статья научит вам все, что вам нужно знать, чтобы начать!

Точечный продукт ведет себя по-разному для различных входных массивов.

Точка продукта 1D массив и скаляр

import numpy as np


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

Точечный продукт два 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

Точечный продукт 1D и 2D массивы

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

Точечный продукт два 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]]

Numpy Puzzle: Как использовать точечный продукт для линейной регрессии

Пазлы – отличный способ улучшить свои навыки – и их веселье тоже! Следующая головоломка спрашивает о соответствующем применении точечного продукта: Линейная регрессия в машинном обучении. Можете ли вы решить это?

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

Упражнение : Что такое выход этой головоломки?

Вы можете решить это интерактивно на нашем приложении обучения на основе головоломки Finxter:

Эта головоломка предсказывает цену акций Google Stock. Мы используем трехдневные исторические данные и храните его в Numpy Array х Отказ

Массив W представляет нашу модель прогнозирования. Точнее, W Содержит вес в течение трех прошедших дней, то есть, насколько каждый день вносит вклад в прогноз. В машинном обучении этот массив называется Вес веса.

Мы предсказываем цену акций на завтра на основе цен на акции самых последних трех дней. Но сегодняшняя цена акций должна оказать более высокое влияние на наш прогноз, чем вчерашняя цена акций. Таким образом, мы весим сегодняшнюю цену акций с фактором 0,7.

В загадке цены на акции за последние три дня составляют 1132 долл., 1142 долл. США и 1140 долларов. Предсказанная цена акций на следующий день – Y.7 * $ 1132 + 0,2 * $ 1142 + 0,1 * $ 1140 = $ 1134,8 Отказ

Мы реализуем это линейная комбинация Из последних трех дней цен на акции с использованием точечного продукта двух векторов.

Чтобы получить результат головоломки, вам не нужно вычислять результат точечного продукта. Достаточно увидеть, что предсказанная цена акций выше, чем сегодняшняя цена акций.

Вы мастер-кодер? Проверьте свои навыки сейчас!

Связанное видео.

Вы хотите стать Numpy Master? Проверьте нашу интерактивную книгу головоломки Coffe Break Numpy И повысить свои навыки науки о данных! (Ссылка Amazon открывается на новой вкладке.)

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.