np.outer β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ NumPy Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
Π‘ΡΡΡ: Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π²Π΅ΠΊΡΠΎΡΡ a ΠΈ b, np.outer(a, b) ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°Π²Π΅Π½ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· a ΠΈ b:
C[i, j] = a[i] * b[j]
ΠΡΠΈΠΌΠ΅Ρ:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([10, 20])
C = np.outer(a, b)
print(C)
# [[ 10 20]
# [ 20 40]
# [ 30 60]]
print(C.shape) # (3, 2)ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
(len(a), len(b)) - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ², ΡΠ΅ΡΠΎΠΊ ΠΈ ΠΏΡΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΠ΅ (ΡΠ΅Π½Π·ΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅)
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ, Π³Π΄Π΅ ΡΡΡΠΎΠΊΠΈ β ΠΊΠΎΠΏΠΈΠΈ Π²Π΅ΠΊΡΠΎΡΠ° Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ°
- Π ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΠΈΠ»ΠΈ ML Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ²
ΠΠΎΡΠΎΡΠΊΠΎ: np.outer(a, b) β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β ΠΌΠ°ΡΡΠΈΡΠ°.