ΠΠ·ΡΡΠ°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ Π² ΠΏΠΈΡΠΎΠ½Π΅ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ NumPy Π² Python
ΠΠ°ΡΡΠΈΡΠ° β ΡΡΠΎ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΈΡΠ»Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΡΡΠΈ Π½Π° ΡΠ΅ΡΡΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 3 ΡΡΡΠΎΠΊ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠΎΠ².
Python Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΡ. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
A = [[1, 4, 5], [-5, 8, 9]]
ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ Π½Π° 2 ΡΡΡΠΎΠΊΠΈ ΠΈ 3 ΡΡΠΎΠ»Π±ΡΠ°.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌ Python, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠΈΡΠ°ΡΡ ΡΡΡ ΡΡΠ°ΡΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ.
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] print("A =", A) print("A[1] =", A[1]) # Π²ΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΊΠ° print("A[1][2] =", A[1][2]) # ΡΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ print("A[0][-1] =", A[0][-1]) # ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ column = []; # ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ for row in A: column.append(row[2]) print("3rd column =", column)
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A [1] = [-5, 8, 9, 0] A [1] [2] = 9 A [0] [- 1] = 12 3-ΠΉ ΡΡΠΎΠ»Π±Π΅Ρ = [5, 9, 11]
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠΎ Π² Python Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ β NumPy .
NumPy β ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°ΡΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ N-ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NumPy, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ,
- ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ: ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ NumPy Python?
- ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² Windows, ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² anaconda Python. ΠΠ½ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ NumPy ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ NumPy ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π» (ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ). ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ:
import numpy as np a = np.array([1, 2, 3]) print(a) # ΠΡΠ²ΠΎΠ΄: [1, 2, 3] print(type(a)) # ΠΡΠ²ΠΎΠ΄: <class 'numpy.ndarray'>
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ»Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ndarray.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² NumPy.
import numpy as np A = np.array([[1, 2, 3], [3, 4, 5]]) print(A) A = np.array([[1.1, 2, 3], [3, 4, 5]]) # ΠΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ print(A) A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # ΠΠ°ΡΡΠΈΠ² ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠΈΡΠ΅Π» print(A)
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
[[1 2 3] [3 4 5]] [[1.1 2. 3.] [3. 4. 5.]] [[1. + 0.j 2. + 0.j 3. + 0.j] [3. + 0.j 4. + 0.j 5. + 0.j]]
import numpy as np zeors_array = np.zeros( (2, 3) ) print(zeors_array) ''' ΠΡΠ²ΠΎΠ΄: [[0. 0. 0.] [0. 0. 0.]] ''' ones_array = np.ones( (1, 5), dtype=np.int32 ) // ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ dtype print(ones_array) # ΠΡΠ²ΠΎΠ΄: [[1 1 1 1 1]]
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ dtype β 32 Π±ΠΈΡΠ° (4 Π±Π°ΠΉΡΠ°). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ -2-31 Π΄ΠΎ 2-31-1.
import numpy as np A = np.arange(4) print('A =', A) B = np.arange(12).reshape(2, 6) print('B =', B) ''' ΠΡΠ²ΠΎΠ΄: A = [0 1 2 3] B = [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]] '''
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy .
ΠΡΡΠ΅ ΠΌΡ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ ΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡ ΠΆΠ΅ Π·Π°Π΄Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°ΡΡΠΈΠ² NumPy.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ +, ΡΡΠΎΠ±Ρ ΡΠ»ΠΎΠΆΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΡ NumPy.
import numpy as np A = np.array([[2, 4], [5, -6]]) B = np.array([[9, -3], [3, 6]]) C = A + B # ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² print(C) ''' ΠΡΠ²ΠΎΠ΄: [[11 1] [ 8 0]] '''
Π§ΡΠΎΠ±Ρ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ dot(). Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ numpy.dot .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: * ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²), Π° Π½Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ.
import numpy as np A = np.array([[3, 6, 7], [5, -3, 0]]) B = np.array([[1, 1], [2, 1], [3, -3]]) C = a.dot(B) print(C) ''' ΠΡΠ²ΠΎΠ΄: [[ 36 -12] [ -1 2]] '''
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ numpy.transpose Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ.
import numpy as np A = np. array([[1, 1], [2, 1], [3, -3]]) print(A.transpose()) ''' ΠΡΠ²ΠΎΠ΄: [[ 1 2 3] [ 1 1 -3]] '''
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, NumPy Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΠ» Π½Π°ΡΡ Π·Π°Π΄Π°ΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy.
import numpy as np A = np.array([2, 4, 6, 8, 10]) print("A[0] =", A[0]) # ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ print("A[2] =", A[2]) # Π’ΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ print("A[-1] =", A[-1]) # ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [0] = 2 A [2] = 6 A [-1] = 10
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΡΡΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ).
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) # ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ print("A[0][0] =", A[0][0]) # Π’ΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ print("A[1][2] =", A[1][2]) # ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ print("A[-1][-1] =", A[-1][-1])
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [0] [0] = 1 A [1] [2] = 9 A [-1] [- 1] = 19
import numpy as np A = np. array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) print("A[0] =", A[0]) # ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° print("A[2] =", A[2]) # Π’ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° print("A[-1] =", A[-1]) # ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° (ΡΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅)
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [0] = [1, 4, 5, 12] A [2] = [-6, 7, 11, 19] A [-1] = [-6, 7, 11, 19]
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) print("A[:,0] =",A[:,0]) # ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ print("A[:,3] =", A[:,3]) # Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ print("A[:,-1] =", A[:,-1]) # ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠΎΠ»Π±Π΅Ρ (ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅)
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [:, 0] = [1 -5 -6] A [:, 3] = [12 0 19] A [:, - 1] = [12 0 19]
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Β«Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡΒ».
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
import numpy as np letters = np. array([1, 3, 5, 7, 9, 7, 5]) # Ρ 3-Π³ΠΎ ΠΏΠΎ 5-ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ print(letters[2:5]) # ΠΡΠ²ΠΎΠ΄: [5, 7, 9] # Ρ 1-Π³ΠΎ ΠΏΠΎ 4-ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ print(letters[:-5]) # ΠΡΠ²ΠΎΠ΄: [1, 3] # Ρ 6-Π³ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° print(letters[5:]) # ΠΡΠ²ΠΎΠ΄:[7, 5] # Ρ 1-Π³ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° print(letters[:]) # ΠΡΠ²ΠΎΠ΄:[1, 3, 5, 7, 9, 7, 5] # ΡΠΏΠΈΡΠΎΠΊ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ print(letters[::-1]) # ΠΡΠ²ΠΎΠ΄:[5, 7, 9, 7, 5, 3, 1]
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ.
import numpy as np A = np.array([[1, 4, 5, 12, 14], [-5, 8, 9, 0, 17], [-6, 7, 11, 19, 21]]) print(A[:2, :4]) # Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ, ΡΠ΅ΡΡΡΠ΅ ΡΡΠΎΠ»Π±ΡΠ° ''' ΠΡΠ²ΠΎΠ΄: [[ 1 4 5 12] [-5 8 9 0]] ''' print(A[:1,]) # ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°, Π²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ''' ΠΡΠ²ΠΎΠ΄: [[ 1 4 5 12 14]] ''' print(A[:,2]) # Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Π²ΡΠΎΡΠΎΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ''' ΠΡΠ²ΠΎΠ΄: [ 5 9 11] ''' print(A[:, 2:5]) # Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΠΏΠΎ ΠΏΡΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ''' ΠΡΠ²ΠΎΠ΄: [[ 5 12 14] [ 9 0 17] [11 19 21]] '''
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ NumPy Π²ΠΌΠ΅ΡΡΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ NumPy, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΡΡΠ°ΡΡΠΈ Β«Python Matrices and NumPy ArraysΒ» , ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
100 NumPy Π·Π°Π΄Π°Ρ | Python 3 Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²
100 (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΏΠΎΠΊΠ° ΠΌΠ΅Π½ΡΡΠ΅) Π·Π°Π΄Π°Ρ Π΄Π»Ρ NumPy, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° https://github.com/rougier/numpy-100
ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ NumPy ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ np
ΠΠ°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
print(np.__version__) np.show_config()
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ (ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²) ΡΠ°Π·ΠΌΠ΅ΡΠ° 10, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π½ΡΠ»ΡΠΌΠΈ
Z = np.zeros(10) print(Z)
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° 10, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° 10, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΡΠΈΡΠ»ΠΎΠΌ 2.5
Z = np.full(10, 2.5) print(Z)
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ numpy.add ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ?
python3 -c "import numpy; numpy.info(numpy.add)"
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° 10, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π½ΡΠ»ΡΠΌΠΈ, Π½ΠΎ ΠΏΡΡΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°Π²Π΅Π½ 1
Z = np. zeros(10) Z[4] = 1 print(Z)
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΡ 10 Π΄ΠΎ 49
Z = np.arange(10,50) print(Z)
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ Π²Π΅ΠΊΡΠΎΡ (ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ)
Z = np.arange(50) Z = Z[::-1]
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ (Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²) 3×3 ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΡ 0 Π΄ΠΎ 8
Z = np.arange(9).reshape(3,3) print(Z)
ΠΠ°ΠΉΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² [1,2,0,0,4,0]
nz = np.nonzero([1,2,0,0,4,0]) print(nz)
Π‘ΠΎΠ·Π΄Π°ΡΡ 3×3 Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² 3x3x3 ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ
Z = np.random.random((3,3,3)) print(Z)
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² 10×10 ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ
Z = np.random.random((10,10)) Zmin, Zmax = Z.min(), Z.max() print(Zmin, Zmax)
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° 30 ΠΈ Π½Π°ΠΉΡΠΈ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Z = np.random.random(30) m = Z.mean() print(m)
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Ρ 0 Π²Π½ΡΡΡΠΈ, ΠΈ 1 Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°Ρ
Z = np. ones((10,10)) Z[1:-1,1:-1] = 0
ΠΡΡΡΠ½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
0 * np.nan np.nan == np.nan np.inf > np.nan np.nan - np.nan 0.3 == 3 * 0.1
Π‘ΠΎΠ·Π΄Π°ΡΡ 5×5 ΠΌΠ°ΡΡΠΈΡΡ Ρ 1,2,3,4 ΠΏΠΎΠ΄ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΡ
Z = np.diag(np.arange(1, 5), k=-1) print(Z)
Π‘ΠΎΠ·Π΄Π°ΡΡ 8×8 ΠΌΠ°ΡΡΠΈΡΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Ρ Π² ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
Z = np.zeros((8,8), dtype=int) Z[1::2,::2] = 1 Z[::2,1::2] = 1 print(Z)
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ (6,7,8). ΠΠ°ΠΊΠΎΠ² ΠΈΠ½Π΄Π΅ΠΊΡ (x,y,z) ΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°?
print(np.unravel_index(100, (6,7,8)))
Π‘ΠΎΠ·Π΄Π°ΡΡ 8×8 ΠΌΠ°ΡΡΠΈΡΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Ρ Π² ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ tile
Z = np.tile(np.array([[0,1],[1,0]]), (4,4)) print(Z)
ΠΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ 5×3 ΠΈ 3×2
Z = np.dot(np.ones((5,3)), np.ones((3,2))) print(Z)
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ², ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΠΊ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ 3 ΠΈ 8
Z = np.arange(11) Z[(3 < Z) & (Z <= 8)] *= -1
Π‘ΠΎΠ·Π΄Π°ΡΡ 5×5 ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΡΡΡΠΎΠΊΠ°Ρ ΠΎΡ 0 Π΄ΠΎ 4
Z = np. zeros((5,5)) Z += np.arange(5) print(Z)
ΠΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²
def generate(): for x in xrange(10): yield x Z = np.fromiter(generate(),dtype=float,count=-1) print(Z)
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° 10 ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΡ 0 Π΄ΠΎ 1, Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ Π½ΠΈ ΡΠΎ, Π½ΠΈ Π΄ΡΡΠ³ΠΎΠ΅
Z = np.linspace(0,1,12)[1:-1] print(Z)
ΠΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ
Z = np.random.random(10) Z.sort() print(Z)
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ Π»ΠΈ 2 numpy ΠΌΠ°ΡΡΠΈΠ²Π°
A = np.random.randint(0,2,5) B = np.random.randint(0,2,5) equal = np.allclose(A,B) print(equal)
Π‘Π΄Π΅Π»Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ
Z = np.zeros(10) Z.flags.writeable = False Z[0] = 1
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ² 10×2 (ΡΠΎΡΠΊΠΈ Π² Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ), ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΠΏΠΎΠ»ΡΡΠ½ΡΡ
Z = np.random.random((10,2)) X,Y = Z[:,0], Z[:,1] R = np.hypot(X, Y) T = np.arctan2(Y,X) print(R) print(T)
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° Π½ΠΎΠ»Ρ
Z = np. random.random(10) Z[Z.argmax()] = 0 print(Z)
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ x, y Π½Π° ΡΠ΅ΡΠΊΠ΅ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ΅ [0,1]x[0,1]
Z = np.zeros((10,10), [('x',float),('y',float)]) Z['x'], Z['y'] = np.meshgrid(np.linspace(0,1,10), np.linspace(0,1,10)) print(Z)
ΠΠ· Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΠΎΡΠΈ C (Cij = 1/(xi — yj))
X = np.arange(8) Y = X + 0.5 C = 1.0 / np.subtract.outer(X, Y) print(np.linalg.det(C))
ΠΠ°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ ΡΠΈΠΏΠΎΠΌ numpy
for dtype in [np.int8, np.int32, np.int64]: print(np.iinfo(dtype).min) print(np.iinfo(dtype).max) for dtype in [np.float32, np.float64]: print(np.finfo(dtype).min) print(np.finfo(dtype).max) print(np.finfo(dtype).eps)
ΠΠ°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
np.set_printoptions(threshold=np.nan) Z = np.zeros((25,25)) print(Z)
ΠΠ°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»ΠΎ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅
Z = np. arange(100) v = np.random.uniform(0,100) index = (np.abs(Z-v)).argmin() print(Z[index])
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (x,y) ΠΈ ΡΠ²Π΅Ρ (r,g,b)
Z = np.zeros(10, [ ('position', [ ('x', float, 1), ('y', float, 1)]), ('color', [ ('r', float, 1), ('g', float, 1), ('b', float, 1)])]) print(Z)
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ² (100,2) ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, Π½Π°ΠΉΡΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ
import scipy.spatial Z = np.random.random((10,2)) D = scipy.spatial.distance.cdist(Z,Z) print(D)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· float Π² int
Z = np.arange(10, dtype=np.int32) Z = Z.astype(np.float32, copy=False)
ΠΠ°Π½ ΡΠ°ΠΉΠ»:
1,2,3,4,5 6,,,7,8 ,,9,10,11
ΠΠ°ΠΊ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ?
Z = np.genfromtxt("missing.dat", delimiter=",")
ΠΠ°ΠΊΠΎΠ² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ enumerate Π΄Π»Ρ numpy ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²?
Z = np. arange(9).reshape(3,3) for index, value in np.ndenumerate(Z): print(index, value) for index in np.ndindex(Z.shape): print(index, Z[index])
Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ 2D ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΠ°ΡΡΡΠ°
X, Y = np.meshgrid(np.linspace(-1,1,10), np.linspace(-1,1,10)) D = np.hypot(X, Y) sigma, mu = 1.0, 0.0 G = np.exp(-((D - mu) ** 2 / (2.0 * sigma ** 2))) print(G)
Π‘Π»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ p ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² 2D ΠΌΠ°ΡΡΠΈΠ²
n = 10 p = 3 Z = np.zeros((n,n)) np.put(Z, np.random.choice(range(n*n), p, replace=False), 1)
ΠΡΠ½ΡΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΡΠ΅
X = np.random.rand(5, 10) Y = X - X.mean(axis=1, keepdims=True)
ΠΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ n-ΠΎΠΌΡ ΡΡΠΎΠ»Π±ΡΡ
Z = np.random.randint(0,10,(3,3)) n = 1 # ΠΡΠΌΠ΅ΡΠ°ΡΠΈΡ Ρ Π½ΡΠ»Ρ print(Z) print(Z[Z[:,n].argsort()])
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ Π² 2D ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½ΡΠ»Π΅Π²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ
Z = np.random.randint(0,3,(3,10)) print((~Z.any(axis=0)).any())
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ², Π΄ΠΎΠ±Π°Π²ΠΈΡΡ 1 ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ (ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠ²ΡΠΎΡΠ°ΠΌΠΈ)
Z = np. ones(10) I = np.random.randint(0,len(Z),20) Z += np.bincount(I, minlength=len(Z)) print(Z)
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ² (w,h,3) (ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°) dtype=ubyte, ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ²Π΅ΡΠΎΠ²
w,h = 16,16 I = np.random.randint(0, 2, (h,w,3)).astype(np.ubyte) F = I[...,0] * 256 * 256 + I[...,1] * 256 + I[...,2] n = len(np.unique(F)) print(np.unique(I))
ΠΠ°Π½ ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠΌΡ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π΄Π²ΡΠΌ ΠΎΡΡΠΌ
A = np.random.randint(0,10, (3,4,3,4)) sum = A.reshape(A.shape[:-2] + (-1,)).sum(axis=-1) print(sum)
ΠΠ°ΠΉΡΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ
# Slow version np.diag(np.dot(A, B)) # Fast version np.sum(A * B.T, axis=1) # Faster version np.einsum("ij,ji->i", A, B).
ΠΠ°Π½ Π²Π΅ΠΊΡΠΎΡ [1, 2, 3, 4, 5], ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠΉ Π²Π΅ΠΊΡΠΎΡ Ρ ΡΡΠ΅ΠΌΡ Π½ΡΠ»ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ
Z = np.array([1,2,3,4,5]) nz = 3 Z0 = np.zeros(len(Z) + (len(Z)-1)*(nz)) Z0[::nz+1] = Z print(Z0)
ΠΠΎΠΌΠ΅Π½ΡΡΡ 2 ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΡΠ΅
A = np. arange(25).reshape(5,5) A[[0,1]] = A[[1,0]] print(A)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°Π±ΠΎΡ ΠΈΠ· 10 ΡΡΠΎΠ΅ΠΊ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ 10 ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² (Ρ ΠΎΠ±ΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ), Π½Π°ΠΉΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΡΡΠ΅Π·ΠΊΠΎΠ², ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π²ΡΠ΅ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ
faces = np.random.randint(0,100,(10,3)) F = np.roll(faces.repeat(2,axis=1),-1,axis=1) F = F.reshape(len(F)*3,2) F = np.sort(F,axis=1) G = F.view( dtype=[('p0',F.dtype),('p1',F.dtype)] ) G = np.unique(G) print(G)
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ² C; ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² A, ΡΡΠΎ np.bincount(A) == C
C = np.bincount([1,1,2,3,4,4,6]) A = np.repeat(np.arange(len(C)), C) print(A)
ΠΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ»Π°Π²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ
def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n print(moving_average(np.arange(20), 3))
ΠΠ°Π½ Π²Π΅ΠΊΡΠΎΡ Z, ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ (Z[0],Z[1],Z[2]), ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ΄Π²ΠΈΠ½ΡΡΠ° Π½Π° 1 (ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ (Z[-3],Z[-2],Z[-1]))
from numpy. lib import stride_tricks def rolling(a, window): shape = (a.size - window + 1, window) strides = (a.itemsize, a.itemsize) return stride_tricks.as_strided(a, shape=shape, strides=strides) Z = rolling(np.arange(10), 3) print(Z)
ΠΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΠ»Π΅Π²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΠΊ Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ
Z = np.random.randint(0,2,100) np.logical_not(arr, out=arr) Z = np.random.uniform(-1.0,1.0,100) np.negative(arr, out=arr)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ 2 Π½Π°Π±ΠΎΡΠ° ΡΠΎΡΠ΅ΠΊ P0, P1 ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ (2D) ΠΈ ΡΠΎΡΠΊΡ Ρ, ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ Ρ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ i (P0[i],P1[i])
def distance(P0, P1, p): T = P1 - P0 L = (T**2).sum(axis=1) U = -((P0[:,0] - p[...,0]) * T[:,0] + (P0[:,1] - p[...,1]) * T[:,1]) / L U = U.reshape(len(U),1) D = P0 + U * T - p return np.sqrt((D**2).sum(axis=1)) P0 = np.random.uniform(-10,10,(10,2)) P1 = np.random.uniform(-10,10,(10,2)) p = np.random.uniform(-10,10,( 1,2)) print(distance(P0, P1, p))
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ². ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Ρ ΡΠ΅Π½ΡΡΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ (Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ fill Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ)
Z = np.random.randint(0,10, (10,10)) shape = (5,5) fill = 0 position = (1,1) R = np.ones(shape, dtype=Z.dtype)*fill P = np.array(list(position)).astype(int) Rs = np.array(list(R.shape)).astype(int) Zs = np.array(list(Z.shape)).astype(int) R_start = np.zeros((len(shape),)).astype(int) R_stop = np.array(list(shape)).astype(int) Z_start = (P - Rs//2) Z_stop = (P + Rs//2)+Rs%2 R_start = (R_start - np.minimum(Z_start, 0)).tolist() Z_start = (np.maximum(Z_start, 0)).tolist() R_stop = np.maximum(R_start, (R_stop - np.maximum(Z_stop-Zs,0))).tolist() Z_stop = (np.minimum(Z_stop,Zs)).tolist() r = [slice(start,stop) for start,stop in zip(R_start,R_stop)] z = [slice(start,stop) for start,stop in zip(Z_start,Z_stop)] R[r] = Z[z] print(Z) print(R)
ΠΠΎΡΡΠΈΡΠ°ΡΡ ΡΠ°Π½Π³ ΠΌΠ°ΡΡΠΈΡΡ
Z = np.random.uniform(0,1,(10,10)) rank = np.linalg.matrix_rank(Z)
ΠΠ°ΠΉΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
Z = np. random.randint(0,10,50) print(np.bincount(Z).argmax())
ΠΠ·Π²Π»Π΅ΡΡ Π²ΡΠ΅ ΡΠΌΠ΅ΠΆΠ½ΡΠ΅ 3×3 Π±Π»ΠΎΠΊΠΈ ΠΈΠ· 10×10 ΠΌΠ°ΡΡΠΈΡΡ
Z = np.random.randint(0,5,(10,10)) n = 3 i = 1 + (Z.shape[0] - n) j = 1 + (Z.shape[1] - n) C = stride_tricks.as_strided(Z, shape=(i, j, n, n), strides=Z.strides + Z.strides) print(C)
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ 2D ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (Z[i,j] == Z[j,i])
# Note: only works for 2d array and value setting using indices class Symetric(np.ndarray): def __setitem__(self, (i,j), value): super(Symetric, self).__setitem__((i,j), value) super(Symetric, self).__setitem__((j,i), value) def symetric(Z): return np.asarray(Z + Z.T - np.diag(Z.diagonal())).view(Symetric) S = symetric(np.random.randint(0,10,(5,5))) S[2,3] = 42 print(S)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΡΠΈΡ (n,n) ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ· p Π²Π΅ΠΊΡΠΎΡΠΎΠ² (n,1). ΠΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠΌΡ p ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΡ (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ (n,1))
p, n = 10, 20 M = np.ones((p,n,n)) V = np. ones((p,n,1)) S = np.tensordot(M, V, axes=[[0, 2], [0, 1]]) print(S) # It works, because: # M is (p,n,n) # V is (p,n,1) # Thus, summing over the paired axes 0 and 0 (of M and V independently), # and 2 and 1, to remain with a (n,1) vector.
ΠΠ°Π½ ΠΌΠ°ΡΡΠΈΠ² 16×16, ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠΌΡ ΠΏΠΎ Π±Π»ΠΎΠΊΠ°ΠΌ 4×4
Z = np.ones((16,16)) k = 4 S = np.add.reduceat(np.add.reduceat(Z, np.arange(0, Z.shape[0], k), axis=0), np.arange(0, Z.shape[1], k), axis=1)
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ³ΡΡ «ΠΆΠΈΠ·Π½Ρ»
def iterate(Z): # Count neighbours N = (Z[0:-2,0:-2] + Z[0:-2,1:-1] + Z[0:-2,2:] + Z[1:-1,0:-2] + Z[1:-1,2:] + Z[2: ,0:-2] + Z[2: ,1:-1] + Z[2: ,2:]) # Apply rules birth = (N == 3) & (Z[1:-1,1:-1]==0) survive = ((N == 2) | (N == 3)) & (Z[1:-1,1:-1] == 1) Z[...] = 0 Z[1:-1,1:-1][birth | survive] = 1 return Z Z = np.random.randint(0,2,(50,50)) for i in range(100): print(Z) Z = iterate(Z)
ΠΠ°ΠΉΡΠΈ n Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
Z = np. arange(10000) np.random.shuffle(Z) n = 5 print (Z[np.argpartition(-Z,n)[:n]])
ΠΠΎΡΡΡΠΎΠΈΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (Π²ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ)
def cartesian(arrays): arrays = [np.asarray(a) for a in arrays] shape = map(len, arrays) ix = np.indices(shape, dtype=int) ix = ix.reshape(len(arrays), -1).T for n, arr in enumerate(arrays): ix[:, n] = arrays[n][ix[:, n]] return ix print(cartesian(([1, 2, 3], [4, 5], [6, 7])))
ΠΠ°Π½Ρ 2 ΠΌΠ°ΡΡΠΈΠ²Π° A (8×3) ΠΈ B (2×2). ΠΠ°ΠΉΡΠΈ ΡΡΡΠΎΠΊΠΈ Π² A, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² B, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² B
A = np.random.randint(0,5,(8,3)) B = np.random.randint(0,5,(2,2)) C = (A[..., np.newaxis, np.newaxis] == B) rows = (C.sum(axis=(1,2,3)) >= B.shape[1]).nonzero()[0] print(rows)
ΠΠ°Π½Π° 10×3 ΠΌΠ°ΡΡΠΈΡΠ°, Π½Π°ΠΉΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π½Π΅ΡΠ°Π²Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ [2,2,3])
Z = np.random.randint(0,5,(10,3)) E = np.logical_and.reduce(Z[:,1:] == Z[:,:-1], axis=1) U = Z[~E] print(Z) print(U)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠΈΡΠ΅Π» Π² ΠΌΠ°ΡΡΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ
I = np. array([0, 1, 2, 3, 15, 16, 32, 64, 128], dtype=np.uint8) print(np.unpackbits(I[:, np.newaxis], axis=1))
ΠΠ°Π½ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². ΠΠ°ΠΉΡΠΈ Π²ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
Z = np.random.randint(0, 2, (6,3)) T = np.ascontiguousarray(Z).view(np.dtype((np.void, Z.dtype.itemsize * Z.shape[1]))) _, idx = np.unique(T, return_index=True) uZ = Z[idx] print(uZ)
ΠΠ°Π½Ρ Π²Π΅ΠΊΡΠΎΡΡ A ΠΈ B, Π½Π°ΠΏΠΈΡΠ°ΡΡ einsum ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ inner, outer, sum ΠΈ mul
# Make sure to read: http://ajcr.net/Basic-guide-to-einsum/ np.einsum('i->', A) # np.sum(A) np.einsum('i,i->i', A, B) # A * B np.einsum('i,i', A, B) # np.inner(A, B) np.einsum('i,j', A, B) # np.outer(A, B)
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° NumPy Π² Python ΠΌΠ°ΡΡΠΈΡΡ Π² ΠΏΠΈΡΠΎΠ½
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ NumPy Π² Python ΠΠΈΡΠΎΠ½.
NumPy ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Python, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π½Π°ΡΡΠ½ΡΡ
ΡΠ°ΡΡΡΡΠΎΠ². NumPy ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΠΈΡΠΎΠ½Π΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, Π²Π΅ΠΊΡΠΎΡΠ°ΠΌΠΈ,Β Π²ΡΠ΅ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠ°ΠΌΠΈ. NumPy Π² ΠΠΈΡΠΎΠ½Β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ NumPy ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΒ ΠΏΠΎΡΡΡΠΈΠΊΡΒ as np.
import numpy as np
as np ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· NumPy Π² Python, ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΌΠ΅ΡΡΠΎ numpy ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ np. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ numpy.array([1, 2]) ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ np.array([1, 2]).
ΠΠ°ΡΡΠΈΡΡ Π² NumPy Π² ΠΠΈΡΠΎΠ½Π΅ Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ np.array([]). Π ΠΊΡΡΠ³Π»ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ², Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² python
import numpy as np
arr = np.array([1, 2])
ΠΠ°ΡΡΠΈΡΠ° Π² Python Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΡΡΠΈΡΠ° ΡΡΠΎ ΡΠ°Π±Π»ΠΈΡΠ°Β ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ².Β Β ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎ ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ².
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡΒ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½ Π² python
import numpy as np
matrix = np.array([ [‘first’, ‘second’], [‘third’, ‘fourth’] ])
print(matrix[0, 0])
print(matrix[1, 1])
print(matrix[0, 0]) Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π²Π½ΡΡΡΠΈ β first. print(matrix[1, 1]) Π²ΡΠ²Π΅Π΄Π΅Ρ Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° β fourth.
NumPy Π² ΠΠΈΡΠΎΠ½Π΅Β ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ.
ΠΠ»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ Π² ΠΠΈΡΠΎΠ½Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΌΠ°ΡΡΠΈΡΡ Π² PythonΒ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠΈΡΠ»Π°.
ΠΡΠΈΠΌΠ΅Ρ. Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ.
import numpy as np
matrix1 = np.array([ [3, 5, 1], [8, 7, 2] ])
matrix2 = np.array([ [5, 3, 4], [1, 10, 9] ])
total = matrix1 + matrix2
print(total)
NumPy Π² ΠΠΈΡΠΎΠ½Π΅Β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
ΠΠ°ΡΡΠΈΡΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ°ΡΡΠΈΡΠ° Ρ ΡΡΠΌΠΌΠ°ΠΌΠΈ ΡΡΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Β
Β
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° Π²Π΅ΠΊΡΠΎΡ Π² PythonΒ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ A.dot(B), Π³Π΄Π΅ A ΠΈ B ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΠΈΡΠΎΠ½Π΅Β Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ A Π±ΡΠ»ΠΎ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠΎΠΊ ΠΌΠ°ΡΡΠΈΡΡ B.
ΠΡΠΈΠΌΠ΅Ρ. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° Π²Π΅ΠΊΡΠΎΡ Π² python
import numpy as np
a = np.array([ [2, 1], [2, 2], [4, 3] ])
b = np.array([ [1], [3] ])
total = a.dot(b)
print(total)
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΠΌΠ°ΡΡΠΈΡΡΒ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΠ»ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ ΡΠ°Π²Π½ΠΎ ΡΠΈΡΠ»ΡΒ ΡΡΡΠΎΠΊ Π²Π΅ΠΊΡΠΎΡΠ°. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 3Γ2 ΠΈ Π²Π΅ΠΊΡΠΎΡ-ΡΡΡΠΎΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2Γ1. Π§ΠΈΡΠ»ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ (2) ΡΠ°Π²Π½ΠΎ ΡΠΈΡΠ»Ρ ΡΡΡΠΎΠΊ Π²Π΅ΠΊΡΠΎΡΠ° (2). Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° Π²Π΅ΠΊΡΠΎΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π²Π΅ΠΊΡΠΎΡ, Ρ ΠΊΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ ΡΠ°Π²Π½ΠΎ ΡΠΈΡΠ»Ρ ΡΡΡΠΎΠΊ ΠΌΠ°ΡΡΠΈΡΡ
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ Π²Β PythonΒ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡΒ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
np.linalg.det(A), Π³Π΄Π΅ AΒ ΡΡΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°. Π£ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ Π² python
import numpy as np
a = np.array([ [2, 1], [4, 3] ])
print(np.linalg.det(a))
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² β ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ
ΠΌΠ°ΡΡΠΈΡ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ 2Γ2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ°Π²Π΅Π½ ΡΠ°Π·Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ (2 * 3 β 1 * 4 = 2.0)
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΠΌΠ°ΡΡΠΈΡΡ Π² ΠΠΈΡΠΎΠ½Π΅Β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ A.dot(B), Π³Π΄Π΅ A ΠΈ B ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΡ. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² A ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠΎΠΊ B.
ΠΡΠΈΠΌΠ΅Ρ. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΠΌΠ°ΡΡΠΈΡΡ Π² python
import numpy as np
a = np.array([ [2, 1, 3], [2, 2, 4] ])
b = np.array([ [1, 1], [3, 2], [2, 4] ])
total = a.dot(b)
print(total)
Π§ΡΠΎΠ±Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠΎΠΊ Π²ΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ 2Γ3 ΠΈ 3Γ2, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2Γ2.
ΠΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ Π² ΠΠΈΡΠΎΠ½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ np.linalg.matrix_power(A, P), Π³Π΄Π΅ A β ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°, P β ΡΡΠ΅ΠΏΠ΅Π½Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ. ΠΠΎΠ·Π²ΠΎΠ΄ΠΈΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ Π² python
import numpy as np
a = np.array([[1, 3], [2, 1]])
result = np.linalg.matrix_power(a, 2)
print(result)
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π²ΡΡ
Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ
ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉΒ Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π΄Π»Ρ x ΠΈ y Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ, Π²ΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠ°Π²ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ
ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² PythonΒ Β np.linalg.solve(ΠΌΠ°ΡΡΠΈΡΠ° Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ, Π²Π΅ΠΊΡΠΎΡ ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ)
Π Π΅ΡΠ΅Π½ΠΈΠ΅Β ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ
ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π² python
import numpy as np
a = np.array([[1, 2], [3, 2]])
b = np.array([5, 6])
result = np.linalg.solve(a, b)
print(result)
ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Python ΡΠ΅ΡΠ°Π΅Ρ Π΄Π²Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ
ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
1x + 2y = 5
3x + 2y = 6
ΠΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΒ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΡΠ»Π° ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΠΈΡΠΎΠ½Π΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° np.5], Π³Π΄Π΅ eΒ ΡΡΠΎΒ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠ°.
ΠΠ΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡΒ Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ΅ΠΌΠ°Β ΠΡΠ°ΡΠΈΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ Π² Python
ΠΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² python:
ΠΠ°ΡΡΠΈΡΡ Π² python
ΠΠ°ΡΡΠΈΠ²Ρ Π² python
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ:
Β
Β
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ python Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ numpy ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ²
Π₯ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅ Π² python
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Π½ΠΎ Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΎΠ½ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅
[[y+x for y in range(4)] for x in range(4)]
ΡΡΠΎ Π΄Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅
[[0, 1, 2, 3], [1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6]]
Π° ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΡ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ ΠΈ ΡΡΠΎΠ»Π±ΡΡ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ.
ΠΠ°ΡΠ°Π½Π΅Π΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ
python matrixΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΡΡΠΎΡΠ½ΠΈΠΊ Chethu Β Β 31 Π°Π²Π³ΡΡΡΠ° 2016 Π² 12:57
4 ΠΎΡΠ²Π΅ΡΠ°
- ΠΠ°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΡΡΡΠΎΠΊ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ
ΠΠΎΡ ΠΌΠ°ΡΡΠΈΡΠ° 10 Ρ 12: mat <- matrix(runif(120, 0, 1), 10) Π― ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² ΠΌΠ°ΡΡΠΈΡΡ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΌΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² Ρ 1 ΠΏΠΎ 4, Ρ 5 ΠΏΠΎ 8 ΠΈ Ρ 9 ΠΏΠΎ 12) ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ. ΠΠ΅Π»Π°Π΅ΠΌΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΠΈΡΠ° 10 Ρ 3. Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ…
- Numpy ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΡΠΎΠΊ/ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ
Numpy nd-ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠ΅ 1-d ΠΌΠ°ΡΡΠΈΠ²Ρ. ΠΡΠΎΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ stack overflow ( ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°ΠΉΡΠΎΠ² Π² Python ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° Numpy Π² ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ bytearray ) ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΌΠ°ΡΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ‘views’ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ…
4
[[x * 4 + y + 1 for y in range(4)] for x in range(4)]
ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ:
[[(x << 2) + y for y in range(1, 5)] for x in range(4)]
ΠΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΡΠΈΠ΅Π½ΡΠΈΡ:
import timeit
def f1():
return [[x * 4 + y + 1 for y in range(4)] for x in range(4)]
def f2():
return [[(x << 2) + y for y in range(1, 5)] for x in range(4)]
def f3():
a = range(1, 5)
return [[(x << 2) + y for y in a] for x in range(4)]
N = 5000000
print timeit.timeit('f1()', setup='from __main__ import f1', number=N)
print timeit.timeit('f2()', setup='from __main__ import f2', number=N)
print timeit.timeit('f3()', setup='from __main__ import f3', number=N)
# 13.683984791
# 13.4605276559
# 9.65608339037
# [Finished in 36.9s]
ΠΠ΄Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ±Π° ΠΌΠ΅ΡΠΎΠ΄Π° f1 & f2 Π΄Π°ΡΡ ΠΏΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. Π’Π°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Ρ
ΠΎΡΠΎΡΠΈΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ range(1,5)
ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΊΠ°ΠΊ f3
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ BPL Β Β 31 Π°Π²Π³ΡΡΡΠ° 2016 Π² 13:00
3
Π€ΡΠ½ΠΊΡΠΈΡ range ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ 3 Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° start
, end
ΠΈ step
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ ΡΠ°Π³ΠΎΠΌ 4, Π° Π΄ΡΡΠ³ΠΎΠΉ — Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΡΠΏΠΈΡΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
>>> [[i for i in range(i, i+4)] for i in range(1, 17, 4)]
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Π²ΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Ρ ΠΎΠ΄Π½ΠΈΠΌ range
:
>>> main_range = range(1, 5)
>>> [[i*j + (i-1)*(4-j) for j in main_range] for i in main_range]
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Π Π²ΠΎΡ ΠΈ Numpythonic ΠΏΠΎΠ΄Ρ ΠΎΠ΄:
>>> n = 4
>>> np.split(np.arange(1, n*n + 1), np.arange(n ,n*n, n))
[array([1, 2, 3, 4]), array([5, 6, 7, 8]), array([ 9, 10, 11, 12]), array([13, 14, 15, 16])]
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Kasravnd Β Β 31 Π°Π²Π³ΡΡΡΠ° 2016 Π² 13:00
1
ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎ,
In [1]: [range(1,17)[n:n+4] for n in range(0, len(range(1,17)), 4)]
Out[1]: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Rahul K P Β Β 31 Π°Π²Π³ΡΡΡΠ° 2016 Π² 13:08
0
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΡΡΡΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ
[([x-3,x-2,x-1,x]) for x in range(1,17) if x%4 ==0]
ΠΠΎ ΡΡΠΎ Π²Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΡΡΡΠΎΠΊ
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ kunal_mehta_the_great Β Β 31 Π°Π²Π³ΡΡΡΠ° 2016 Π² 13:31
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
Numpy: ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ
ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ numPy (ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ python) ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ: A = np.array(…
ΠΡΠ΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ NXN Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ numpy Π² python
ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ NXN Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ numpy, ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Get diagonal Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ numpy Π² Python ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΠΊΠ°ΠΊ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ. ΠΠΎΡ ΠΌΠΎΠΉ…
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π΄Π»ΠΈΠ½Ρ (ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ, Π Π°Π·ΠΌΠ΅Ρ) ΠΌΠ°ΡΡΠΈΡΡ numpy Π² python?
ΠΠ»Ρ ΠΌΠ°ΡΡΠΈΡΡ numpy Π² python from numpy import matrix A = matrix([[1,2],[3,4]]) ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ (ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠ°) ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ? ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ²?…
ΠΠ°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΡΡΡΠΎΠΊ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ
ΠΠΎΡ ΠΌΠ°ΡΡΠΈΡΠ° 10 Ρ 12: mat <- matrix(runif(120, 0, 1), 10) Π― ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² ΠΌΠ°ΡΡΠΈΡΡ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΌΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² Ρ 1 ΠΏΠΎ 4, Ρ 5 ΠΏΠΎ 8 ΠΈ Ρ 9 ΠΏΠΎ 12) ΠΏΠΎ…
Numpy ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΡΠΎΠΊ/ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ
Numpy nd-ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠ΅ 1-d ΠΌΠ°ΡΡΠΈΠ²Ρ. ΠΡΠΎΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ stack overflow ( ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°ΠΉΡΠΎΠ² Π² Python ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° Numpy Π² ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ bytearray ) ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ…
ΠΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠΈ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ²? (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ»ΡΠΊΠΎ numpy)
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ numpy. ΠΡΠΎ Π΄Π°Π΅Ρ…
numpy python — ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ΅Π·Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ²
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ° numpy Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 130 X 13. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Ρ ΠΎΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΡΠΎΠΊ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΈ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² — trainx[trainy==label,[0,6]] ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄…
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΌΠ°ΡΡΠΈΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² Π² numpy ΠΈΠ»ΠΈ tensorflow?
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°, ΠΈ Ρ Ρ ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ tf.nn.top_k, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²Π΅ΡΡ Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ k Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΊ Π±Ρ Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ ΠΌΠ°ΡΡΠΈΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ…
Numpy 1D ΠΌΠ°ΡΡΠΈΠ²: ΠΠ°ΡΡΠΈΡΠ° ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ?
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Ρ ΡΠΎΠ·Π΄Π°Ρ ΠΌΠ°ΡΡΠΈΠ² 2 numpy. ΠΠ΄ΠΈΠ½ — 1D, Π° Π΄ΡΡΠ³ΠΎΠΉ-2D. ΠΠΎΠ³Π΄Π° Ρ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΠ² 1D, ΠΎΠ½ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ. ΠΠ½ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΡΡΠΎΠΊ ΠΊ ΠΌΠ°ΡΡΠΈΡΠ΅ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠΎΠ³Π΄Π° Ρ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΠ²…
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΌΠΌΡ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΌΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ² Π² python
Π― Ρ ΠΎΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΡΠΌΠΌΡ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΌΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ Π² python; ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·-Π·Π° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ infosec Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»…
ΠΠ΅ΠΊΡΠΎΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΡΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Numpy
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
ΠΠ΅ΠΊΡΠΎΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΡΡ
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅ ΠΈ Π²Π½ΠΎΠ²Ρ Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π½Π° Π·Π°Π½ΡΡΠΈΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Β«ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Numpy Π½Π° ΡΠ·ΡΠΊΠ΅ PythonΒ».
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π΅ΠΊΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠ°ΡΡΠΈΡΠ°Ρ .
ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Numpy ΠΏΠΎΡ ΠΎΠΆ Π½Π° Π²Π΅ΠΊΡΠΎΡΡ: ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠ°Π»ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΎΠ΄Π΅ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ. Π ΡΡΠΎ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ? ΠΠ°ΡΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°ΠΊ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠ°ΠΊ, ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ 1 ΠΈ 2, Π²ΡΠΎΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ β ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ 3 ΠΈ 4. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΏΠΈΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π΄Π»ΠΈΠ½Ρ.
M = np.array([ [1,2], [3,4] ])
Π‘ΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ°, Π²ΡΠΎΡΠΎΠΉ β ΡΡΠΎΠ»Π±Π΅Ρ. ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ²:
L = [ [1,2], [3,4] ]
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π ΡΠΏΠΈΡΠΊΠ΅ Python ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°, ΡΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ 1 ΠΈ 2:
L[0]
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ 1 ΠΈ 2. ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ
L[0][0]
ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 1. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Numpy:
M[0][0]
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄Π°ΡΡ Π½Π°ΠΌ 1. ΠΠΎ Π΅ΡΡΡ ΠΈ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ, ΠΏΠΎΡ ΠΎΠΆΠ°Ρ Π½Π° MATLAB, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΡΠΎΠΉ:
M[0,0]
Π ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄Π°ΡΡ Π½Π°ΠΌ 1. Π’Π°ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½ΡΠΆΠ½ΠΎ Π½Π°Π±ΡΠ°ΡΡ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» ΠΌΠ΅Π½ΡΡΠ΅.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Numpy Π΅ΡΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊ ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ β ΠΌΠ°ΡΡΠΈΡΠ°:
M2 = np.matrix([ [1,2], [3,4] ])
ΠΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΠ°. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΌΠ°ΡΡΠΈΡΠ° ΡΡ ΠΎΠΆΠ° Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Numpy, Π½ΠΎ Π΅ΡΡΡ ΠΈ ΠΎΡΠ»ΠΈΡΠΈΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Numpy; Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΡΡΡΠ΅ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΠΎΡΡΡΡΡΡ Π½Π° Π½ΠΈΡ ΡΠ²ΠΎΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π£Π²ΠΈΠ΄Π΅Π² ΠΌΠ°ΡΡΠΈΡΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ². ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
A = np.array(M2)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΡΡ, Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, Ρ ΠΎΡΡ ΡΡΠΎ ΠΈ ΠΌΠ°ΡΡΠΈΠ², ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΡΠ½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ:
A.T
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° A.
Π Π΅Π·ΡΠΌΠΈΡΡΠ΅ΠΌ. ΠΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Numpy, Π° Π²Π΅ΠΊΡΠΎΡ β ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Numpy. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠ°ΡΡΠΈΡΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ. ΠΠ±ΠΎΠ±ΡΠ°Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΡΠΈΡΠ»Π°, Π° Π²Π΅ΠΊΡΠΎΡ β ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΡΠΈΡΠ»Π°. ΠΠ½ΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠ΅Π±Π½ΠΈΠΊΠ°Ρ ΠΏΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π²Π΅ΠΊΡΠΎΡ-ΡΡΠΎΠ»Π±Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 3Γ1 ΠΈ Π²Π΅ΠΊΡΠΎΡ-ΡΡΡΠΎΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 1Γ3. ΠΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Numpy, Π½ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄Π²ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° ΠΌΠ°ΡΡΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π»ΠΈΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΈ β ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΄Π°Π½Π½ΡΡ .
ΠΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΡΠΎΡΡΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ β ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΌ ΠΊΡΡΡΠ΅. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π²Ρ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Numpy Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
np.array([1,2,3])
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΡΠ½ΡΡ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ΅Π½ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠΎΡΠ½Π΅ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²? Π Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°? ΠΠΎΡΡΠΎΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΡΡΠΎΡΡΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ Π½ΡΠ»Π΅ΠΉ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ zeros Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΄Π»ΠΈΠ½Ρ:
Z = np.zeros(10)
ΠΡΠΎ Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ Ρ 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Π½ΡΠ»Π΅ΠΉ. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 10Γ10, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ Π½ΡΠ»Π΅ΠΉ:
Z = np.zeros((10, 10))
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 100 Π½ΡΠ»Π΅ΠΉ Π² ΠΌΠ°ΡΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 10Γ10. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β ΠΊΠΎΡΡΠ΅ΠΆ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ. ΠΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎΠ·Π΄Π°ΡΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ,
O = np.ones((10, 10))
ΠΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 10Γ10, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΡΠ΄ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ»Π΅Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ np.random.random. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΌΠ°ΡΡΠΈΠ² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 10Γ10:
R = np.random.random((10,10))
ΠΠΎΠ»ΡΡΠΈΠ»ΡΡ Π½Π°Π±ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π² ΠΌΠ°ΡΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ 10Γ10. ΠΡΠΎΡΠ°Π΅ΡΡΡ Π² Π³Π»Π°Π·Π°, ΡΡΠΎ Π²ΡΠ΅ ΡΠΈΡΠ»Π° Π±ΠΎΠ»ΡΡΠ΅ 0 ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ 1. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ»Π°Ρ , ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΡΠΊΡΠ΄Π° ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°. ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π΄Π°ΡΡ Π½Π°ΠΌ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ 1. Π Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΈΡΠ»Π° Ρ Π³Π°ΡΡΡΠΎΠ²ΡΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ? Π Numpy Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ. ΠΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ½Π° random.randn. ΠΠ½ΠΎΠ²Ρ-ΡΠ°ΠΊΠΈ, Π²ΠΎΠ·ΡΠΌΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ 10Γ10:
G = np.random.randn((10Γ10))
Π Ρ Π½Π°Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ β ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°. Π‘Π°ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°, Π½ΠΎ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ, ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, ΡΡΠ½ΠΊΡΠΈΡ randn Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Numpy Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π²ΡΠΈΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ β ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ randn! β ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ:
G = np.random.randn(10,10)
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡ ΠΈΠΌΠ΅Π΅ΠΌ ΡΠΈΡΠ»Π° Ρ Π³Π°ΡΡΡΠΎΠ²ΡΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ, ΡΡΠ΅Π΄Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 0 ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠ΅ΠΉ 1. ΠΠ°ΡΡΠΈΠ²Ρ Numpy ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½. Π’Π°ΠΊ, ΠΊΠΎΠΌΠ°Π½Π΄Π°
G.mean()
Π΄Π°ΡΡ Π½Π°ΠΌ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
G.var()
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΡ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° Π²Π΅ΡΡΠΌΠ° Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΠΈΡΡΠΈΠ½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.
ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ
Π§ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π² ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ, β ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡ. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅: Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ Π΄Π²ΡΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌΡΡ ΠΌΠ°ΡΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. Π’Π°ΠΊ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ° A ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 2Γ3 ΠΈ ΠΌΠ°ΡΡΠΈΡΠ° B ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 3Γ3, ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ A Π½Π° B, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΡΠ°Π²Π½Π° 3. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ B Π½Π° A, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ ΡΠ°Π²Π½Π° 3, Π° Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΡΠ°Π²Π½Π° 2.
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΡ? Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ:
Π’ΠΎ Π΅ΡΡΡ ij-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ C ΡΠ°Π²Π΅Π½ ΡΡΠΌΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π²ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· i-ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠ°ΡΡΠΈΡΡ A ΠΈ j-Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ B. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ij-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ C ΡΠ°Π²Π΅Π½ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ i-ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠ°ΡΡΠΈΡΡ A ΠΈ j-Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ B. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ dot Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Numpy:
C = A.dot(B)
ΠΡΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡ.
ΠΠ°ΠΊ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅, ΡΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΌΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° (*). ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, Π² ΡΠ»ΡΡΠ°Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΎΠ±Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, Π²Π΅Π΄Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ. ΠΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ Numpy Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΡΡΠ½ΠΊΡΠΈΡ dot β ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΡΡΠΎ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π½Π΅Ρ Π΄Π°ΠΆΠ΅ ΡΡΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΡΡΠΆΠΊΠΎΠΌ Ρ ΡΠΎΡΠΊΠΎΠΉ Π²Π½ΡΡΡΠΈ, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ β ΠΊΡΡΠΆΠΊΠΎΠΌ Ρ ΠΊΡΠ΅ΡΡΠΈΠΊΠΎΠΌ Π²Π½ΡΡΡΠΈ. ΠΠΎΡ ΠΎΠΆΠ΅, Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Ρ ΠΎΡΡ ΠΎΠ½Π° ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ Π² ΡΠ²ΡΠ·ΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΡ.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅, Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Numpy. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π½ΠΈΠΌΠΈ ΠΈΠ· ΠΊΡΡΡΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ, Π° ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΡΠ΅Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Numpy.
ΠΠ°ΡΠ½ΡΠΌ Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ½Π°ΡΠ°Π»Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ:
A = np.array([[1,2],[3,4]])
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ inv ΠΌΠΎΠ΄ΡΠ»Ρ linalg:
Ainv = np.linalg.inv(A)
ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ²Π΅ΡΠ°, ΡΠΌΠ½ΠΎΠΆΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ, ΠΎΠ±ΡΠ°ΡΠ½ΡΡ A, Π½Π° ΡΠ°ΠΌΡ Π:
Ainv.dot(A)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΌΠ½ΠΎΠΆΠΈΠ² ΠΌΠ°ΡΡΠΈΡΡ Π Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π΅ΠΉ:
A.dot(Ainv)
Π ΡΠΎΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ β Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
np.linalg.det(A)
ΠΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅Ρ -2.
ΠΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
np.diag(A)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ Π²Π΅ΠΊΡΠΎΡΠ°. Π Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠΈΡΠ΅Π», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠ°Π²Π½ΡΠΌΠΈ Π½ΡΠ»Ρ. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ Π²Π΅ΠΊΡΠΎΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
np.diag([1,2])
ΠΠΎΠ»ΡΡΠΈΠΌ 1 ΠΈ 2 Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ β Π½ΡΠ»ΠΈ.
ΠΡΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ: Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ diag, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²; Π΅ΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ΅ Π²Π½Π΅Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ, Π° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΌΠ°ΡΡΠΈΡΡ.
ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° Π²Π΅ΠΊΡΠΎΡΠ°, Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΡ ΡΡΠ΄Π° Π²Π΅ΠΊΡΠΎΡΠΎΠ²-ΠΎΠ±ΡΠ°Π·ΡΠΎΠ². ΠΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ°, ΠΈ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ dot. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠ°ΠΊ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° Π²Π΅ΠΊΡΠΎΡΠ°:
a = np.array([1,2])
b = np.array([3,4])
ΠΠ½Π΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
np.outer(a, b)
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ²Π΅ΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
np.inner(a, b)
ΠΡΠΎ Π΄Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΎΡΠ²Π΅Ρ, ΡΡΠΎ ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
a.dot(b)
ΠΠ°ΠΊΠΈΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ β ΡΡΠ³ΡΠ±ΠΎ Π½Π° Π²Π°ΡΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΠ³Π°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ β Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄Π° ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎ ΡΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
np.dialog(A).sum()
ΠΠΎΠ»ΡΡΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΠΎΡΠ²Π΅Ρ 5. ΠΠΎ Π² Numpy Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
np.trace(A)
Π ΠΌΡ ΠΎΠΏΡΡΡ-ΡΠ°ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 5.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, β ΡΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΡ Π² ΠΊΡΡΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ, ΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ³Π»ΡΠ±ΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ. ΠΠΎ ΡΠ΅ΠΉΡΠ°Ρ Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ΄Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΡΠ°ΡΡΡ.
Π§Π°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 100Γ3 Ρ Π³Π°ΡΡΡΠΎΠ²ΡΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ:
X = np.random.randn(100,3)
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ°, Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ β ΡΡΠΎ ΡΡΠΎΠ»Π±Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ 100 ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ 3 ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π² Numpy ΡΠΆΠ΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ. ΠΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΅Ρ:
cov = np.cov(X)
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
cov.shape
ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΡΠ°Π²Π½Π° 100Γ100. ΠΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ 3Γ3, Π²Π΅Π΄Ρ Π½Π°ΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ 3. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΅ΡΡ ΡΠ°Π·, ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π² X:
cov = np.cov(X.T)
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ 3Γ3. ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π΅ΡΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ β eig ΠΈ eigh. Eigh ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ ΠΈ ΡΡΠΌΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠ·ΡΡΠ°Π»ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³Π΅Π±ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΡΠΈΡΠ΅Π», Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠΌΠΈΡΠΎΠ²Π° ΠΌΠ°ΡΡΠΈΡΠ°. Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ, Π±ΡΠ΄ΡΡΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ, ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΠΌΠ° ΡΠ΅Π±Π΅:
Π’ΠΎ Π΅ΡΡΡ ij-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ C ΡΠ°Π²Π΅Π½ ΡΡΠΌΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π²ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· i-ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠ°ΡΡΠΈΡΡ A ΠΈ j-Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ B. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ij-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ C ΡΠ°Π²Π΅Π½ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ i-ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠ°ΡΡΠΈΡΡ A ΠΈ j-Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ B. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ dot Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Numpy:
C = A.dot(B)
ΠΡΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡ.
ΠΠ°ΠΊ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅, ΡΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΌΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° (*). ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, Π² ΡΠ»ΡΡΠ°Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΎΠ±Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, Π²Π΅Π΄Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ. ΠΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ Numpy Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΡΡΠ½ΠΊΡΠΈΡ dot β ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΡΡΠΎ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π½Π΅Ρ Π΄Π°ΠΆΠ΅ ΡΡΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΡΡΠΆΠΊΠΎΠΌ Ρ ΡΠΎΡΠΊΠΎΠΉ Π²Π½ΡΡΡΠΈ, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ β ΠΊΡΡΠΆΠΊΠΎΠΌ Ρ ΠΊΡΠ΅ΡΡΠΈΠΊΠΎΠΌ Π²Π½ΡΡΡΠΈ. ΠΠΎΡ ΠΎΠΆΠ΅, Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Ρ ΠΎΡΡ ΠΎΠ½Π° ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ Π² ΡΠ²ΡΠ·ΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΡ.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅, Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Numpy. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π½ΠΈΠΌΠΈ ΠΈΠ· ΠΊΡΡΡΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ, Π° ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΡΠ΅Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Numpy.
ΠΠ°ΡΠ½ΡΠΌ Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ½Π°ΡΠ°Π»Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ:
A = np.array([[1,2],[3,4]])
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ inv ΠΌΠΎΠ΄ΡΠ»Ρ linalg:
Ainv = np.linalg.inv(A)
ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ²Π΅ΡΠ°, ΡΠΌΠ½ΠΎΠΆΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ, ΠΎΠ±ΡΠ°ΡΠ½ΡΡ A, Π½Π° ΡΠ°ΠΌΡ Π:
Ainv.dot(A)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΌΠ½ΠΎΠΆΠΈΠ² ΠΌΠ°ΡΡΠΈΡΡ Π Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π΅ΠΉ:
A.dot(Ainv)
Π ΡΠΎΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ β Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
np.linalg.det(A)
ΠΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅Ρ -2.
ΠΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
np.diag(A)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ Π²Π΅ΠΊΡΠΎΡΠ°. Π Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠΈΡΠ΅Π», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠ°Π²Π½ΡΠΌΠΈ Π½ΡΠ»Ρ. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ Π²Π΅ΠΊΡΠΎΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
np.diag([1,2])
ΠΠΎΠ»ΡΡΠΈΠΌ 1 ΠΈ 2 Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ β Π½ΡΠ»ΠΈ.
ΠΡΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ: Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ diag, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²; Π΅ΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ΅ Π²Π½Π΅Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ, Π° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΌΠ°ΡΡΠΈΡΡ.
ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° Π²Π΅ΠΊΡΠΎΡΠ°, Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΡ ΡΡΠ΄Π° Π²Π΅ΠΊΡΠΎΡΠΎΠ²-ΠΎΠ±ΡΠ°Π·ΡΠΎΠ². ΠΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ°, ΠΈ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ dot. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠ°ΠΊ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° Π²Π΅ΠΊΡΠΎΡΠ°:
a = np.array([1,2])
b = np.array([3,4])
ΠΠ½Π΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
np.outer(a, b)
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ²Π΅ΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
np.inner(a, b)
ΠΡΠΎ Π΄Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΎΡΠ²Π΅Ρ, ΡΡΠΎ ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
a.dot(b)
ΠΠ°ΠΊΠΈΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ β ΡΡΠ³ΡΠ±ΠΎ Π½Π° Π²Π°ΡΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΠ³Π°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ β Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄Π° ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎ ΡΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
np.dialog(A).sum()
ΠΠΎΠ»ΡΡΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΠΎΡΠ²Π΅Ρ 5. ΠΠΎ Π² Numpy Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
np.trace(A)
Π ΠΌΡ ΠΎΠΏΡΡΡ-ΡΠ°ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 5.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, β ΡΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΡ Π² ΠΊΡΡΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ, ΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ³Π»ΡΠ±ΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ. ΠΠΎ ΡΠ΅ΠΉΡΠ°Ρ Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ΄Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΡΠ°ΡΡΡ.
Π§Π°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ 100Γ3 Ρ Π³Π°ΡΡΡΠΎΠ²ΡΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ:
X = np.random.randn(100,3)
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ°, Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ β ΡΡΠΎ ΡΡΠΎΠ»Π±Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ 100 ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ 3 ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π² Numpy ΡΠΆΠ΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ. ΠΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΅Ρ:
cov = np.cov(X)
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
cov.shape
ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΡΠ°Π²Π½Π° 100Γ100. ΠΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ 3Γ3, Π²Π΅Π΄Ρ Π½Π°ΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ 3. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΅ΡΡ ΡΠ°Π·, ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π² X:
cov = np.cov(X.T)
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ 3Γ3. ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π΅ΡΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ β eig ΠΈ eigh. Eigh ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ ΠΈ ΡΡΠΌΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠ·ΡΡΠ°Π»ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³Π΅Π±ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΡΠΈΡΠ΅Π», Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠΌΠΈΡΠΎΠ²Π° ΠΌΠ°ΡΡΠΈΡΠ°. Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ, Π±ΡΠ΄ΡΡΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ, ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΠΌΠ° ΡΠ΅Π±Π΅:
ΠΡΠΌΠΈΡΠΎΠ²Π° ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΡΠ° β ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΠΌΠ° ΡΠ΅Π±Π΅, Π±ΡΠ΄ΡΡΠΈ ΡΠΎΠΏΡΡΠΆΡΠ½Π½ΠΎΠΉ:
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ eigh. ΠΡ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ:
np.linalg.eigh(cov)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΆΠΈ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π²ΡΠΎΡΠΎΠΉ β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠ»Π±ΡΠ°Ρ . ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ eig:
np.linalg.eig(cov)
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΡ ΠΆΠ΅ ΠΎΡΠ²Π΅Ρ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ eig Ρ ΠΎΡΡ ΠΈ Π΄Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΎΡΠ²Π΅Ρ, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡ ΠΆΠ΅, Π½ΠΎ Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠ° ΡΡΠΎΠΌ Π»Π΅ΠΊΡΠΈΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ½Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠΎΠΌ, Π½ΠΎ Π΅ΡΡ Π½Π΅ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Numpy.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ β ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ.
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄
Π³Π΄Π΅ A β ΠΌΠ°ΡΡΠΈΡΠ°, x β Π²Π΅ΠΊΡΠΎΡ-ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΡΠΊΠΎΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, b β Π²Π΅ΠΊΡΠΎΡ ΡΠΈΡΠ΅Π». Π Π΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΠΎΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΌΠ°ΡΡΠΈΡΡ, ΠΎΠ±ΡΠ°ΡΠ½ΡΡ A:
ΠΡΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ A ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΎΠ±ΡΠ°ΡΠΈΠΌΠ°. Π’ΠΎΠ³Π΄Π° x ΠΈΠΌΠ΅Π΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ x ΡΠ°Π²Π½Π° D, ΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ D ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Ρ D Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ.
Π’ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π²Π΅ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈ Π΄Π²Π΅ Π²Π΅ΡΠΈ Π½Π°ΠΌ ΠΈ Π½ΡΠΆΠ½Ρ.
Π Π΅ΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. A Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ
ΠΡΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ A ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΎΠ±ΡΠ°ΡΠΈΠΌΠ°. Π’ΠΎΠ³Π΄Π° x ΠΈΠΌΠ΅Π΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ x ΡΠ°Π²Π½Π° D, ΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ D ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Ρ D Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ.
Π’ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π²Π΅ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈ Π΄Π²Π΅ Π²Π΅ΡΠΈ Π½Π°ΠΌ ΠΈ Π½ΡΠΆΠ½Ρ.
Π Π΅ΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. A Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ
b Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ [1, 2]:
b = np.array([1, 2])
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ
x = np.linalg.inv(A).dot(b)
ΠΡΠ°ΠΊ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΠ»Π° 0 ΠΈ 0,5. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΅ΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ½ΡΡ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π²Π²ΠΈΠ΄Ρ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΈ ΠΏΠΎΠ»ΡΡΡΠ΅ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ solve. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ
x = np.linalg.solve(A, b)
Π ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΡ ΠΆΠ΅ ΠΎΡΠ²Π΅Ρ.
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ Π² MATLAB, ΡΠΎ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ inv MATLAB Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. Π MATLAB ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ solve, Π½ΠΎ ΠΏΠΎ ΡΡΡΠΈ ΡΡΠΎ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΈ ΠΎΠ½ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΈ ΡΠΎΡΠ΅Π½. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ inv. ΠΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ solve.
Π’Π΅ΠΊΡΡΠΎΠ²Π°Ρ Π·Π°Π΄Π°ΡΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ solve.
ΠΡΠ°ΠΊ, ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π·Π°Π΄Π°ΡΡ. ΠΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠΌΠ°ΡΠΊΠ΅ Π²Ρ ΠΎΠ΄Π½Π°Ρ ΠΏΠ»Π°ΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 1,5 Π΄ΠΎΠ»Π»Π°ΡΠ° Π΄Π»Ρ ΡΠ΅Π±ΡΠ½ΠΊΠ° ΠΈ 4 Π΄ΠΎΠ»Π»Π°ΡΠ° Π΄Π»Ρ Π²Π·ΡΠΎΡΠ»ΠΎΠ³ΠΎ. ΠΠ΄Π½Π°ΠΆΠ΄Ρ Π·Π° Π΄Π΅Π½Ρ ΡΡΠΌΠ°ΡΠΊΡ ΠΏΠΎΡΠ΅ΡΠΈΠ»ΠΎ 2200 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ; ΠΏΡΠΈ ΡΡΠΎΠΌ Π±ΡΠ»ΠΎ ΡΠΎΠ±ΡΠ°Π½ΠΎ 5050 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡ. Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΠ΅ΠΉ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π·ΡΠΎΡΠ»ΡΡ ΠΏΠΎΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΌΠ°ΡΠΊΡ Π² ΡΡΠΎΡ Π΄Π΅Π½Ρ?
ΠΡΠ°ΠΊ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· X1, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π·ΡΠΎΡΠ»ΡΡ β ΡΠ΅ΡΠ΅Π· X2. ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, Π³Π΄Π΅ A ΡΠ°Π²Π½ΠΎ:
Β Π° b ΡΠ°Π²Π½ΠΎ :
Β Π° b ΡΠ°Π²Π½ΠΎ :
ΠΠΎΠ΄ΡΡΠ°Π²ΠΈΠΌ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Numpy ΠΈ Π½Π°ΠΉΠ΄ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
A = np.array([[1,1], [1.5,4]])
b = np.array([2200, 5050])
np.linalg.solve(A, b)
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅Ρ: 1500 Π΄Π΅ΡΠ΅ΠΉ ΠΈ 700 Π²Π·ΡΠΎΡΠ»ΡΡ . ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠΈΡΡ ΡΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ½ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ.
ΠΠΎΠΏΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² | NumPy
ΠΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
>>> a = np.arange(18).reshape(3, 6)
>>> a
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17]])
>>>
>>> a.T
array([[ 0, 6, 12],
[ 1, 7, 13],
[ 2, 8, 14],
[ 3, 9, 15],
[ 4, 10, 16],
[ 5, 11, 17]])
>>>
>>> a # ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17]])
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² NumPy ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΏΠΎΠ½ΡΡΠΈΡ: ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
>>> a = np.arange(18).reshape(3, 6)
>>>
>>> b = a
>>> c = a.T
>>>
>>> # ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ b ΠΈ c - ΡΡΠΎ
... # Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½ΠΎ
...
>>> a[0][0] = 777777
>>> a
array([[777777, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[ 12, 13, 14, 15, 16, 17]])
>>>
>>> b
array([[777777, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[ 12, 13, 14, 15, 16, 17]])
>>>
>>> c
array([[777777, 6, 12],
[ 1, 7, 13],
[ 2, 8, 14],
[ 3, 9, 15],
[ 4, 10, 16],
[ 5, 11, 17]])
ΠΠΎΡ Π·Π΄Π΅ΡΡ Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ: ΠΏΡΡΠ°Π½ΠΈΡΠ°, Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ. Π₯ΠΎΡΡ Π²ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ b = a
, ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. Π’ΠΎ Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΏΠΎ ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠΈΠ², Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ a
ΠΈ b
Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠΌ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅.
Π₯ΠΎΡΠΎΡΠΎ, a
ΠΈ b
— ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΠ°ΠΊ Π±ΡΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ
? ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΡΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ»Π°ΡΡΡΡ a
ΠΈ b
, Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π² NumPy ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ — ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΡΠ°Π·Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅:
>>> a = np.arange(18).reshape(3, 6)
>>> b = a.reshape(2, 9)
>>> c = a.reshape(2, 3, 3)
>>>
>>> a
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17]])
>>>
>>> b
array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8],
[ 9, 10, 11, 12, 13, 14, 15, 16, 17]])
>>>
>>> c
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]]])
>>>
>>> # ΠΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π· Π°
... # ΡΠΎ ΡΡΠΎ ΠΎΡΡΠ°Π·ΠΈΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡ
...
>>> a[0][0] = 7777777
>>>
>>> b
array([[7777777, 1, 2, 3, 4, 5, 6,
7, 8],
[ 9, 10, 11, 12, 13, 14, 15,
16, 17]])
>>>
>>> c
array([[[7777777, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[ 12, 13, 14],
[ 15, 16, 17]]])
>>>
ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠ°Π· Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡΡΠ°Π·ΠΈΡΡΡ Π½Π° Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
>>> b[0][0] = 1111111
>>> c[0][1][0] = 222222
>>>
>>> b
array([[1111111, 1, 2, 222222, 4, 5, 6,
7, 8],
[ 9, 10, 11, 12, 13, 14, 15,
16, 17]])
>>>
>>> c
array([[[1111111, 1, 2],
[ 222222, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[ 12, 13, 14],
[ 15, 16, 17]]])
>>>
>>> a
array([[1111111, 1, 2, 222222, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[ 12, 13, 14, 15, 16, 17]])
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. Π ΠΊΠ°ΠΊ ΠΌΡ ΡΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡ, ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎ ΠΏΡΡΠ°Π½ΠΈΡΠ° Π΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ?
ΠΡΡ ΡΠ°Π²Π½ΠΎ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΡΠ°ΠΆΠ°ΡΡΡΡ Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΠΊΠΎΠ΄Π΅ NumPy? Π Π²ΠΎΠΎΠ±ΡΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π² ΡΠ°ΠΌΠΎΠΌ NumPy ΠΊΠ°ΠΊΠ°Ρ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΡΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠΌ Π²ΡΠ΅ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
10.1. ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ
ΠΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΊΠΎΠΏΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° — ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΎ ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ. ΠΠ°, ΠΏΠΎ Π½Π°ΡΠ°Π»Ρ ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΈΡ ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ NumPy (ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Python), Π½ΠΎ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ, ΡΠΎ Π½Π°ΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ, Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ — Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠ»Π°ΡΠ° Π·Π° ΠΏΡΠΎΡΡΠΎΡΡ ΠΈ Π»Π΅Π³ΠΊΠΎΡΡΡ Python.
>>> # ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "a"
...
>>> a = np.arange(12)
>>> # Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ: 'Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² "Π°"!'
...
>>> a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>>
>>> # Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
...
>>> b = a
>>> # ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΡΠΎ Ρ Π½Π°Ρ ΡΠ΅ΠΏΠ΅ΡΡ 2 ΠΌΠ°ΡΡΠΈΠ²Π°
...
>>> a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>> b
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>>
>>> b is a # ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ°ΡΡΠΈΠ² "b" ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² "a"
True
>>> # ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ:
...
>>> id(a)
2968935744
>>> id(b)
2968935744
>>>
>>> id(a) == id(b)
True
Π‘Π°ΠΌΠΎΠ΅ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΠΎΠ΅, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ a
ΠΈ b
ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
.
>>> a.dtype # Π’ΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
dtype('int32')
>>> b.dtype # Π’ΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° "b"
dtype('int32')
>>>
>>> a.dtype = np.float64 # ΠΠ΅Π½ΡΠ΅ΠΌ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
>>> a.dtype
dtype('float64')
>>> b.dtype # Π’ΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° "b" ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ
dtype('float64')
Π ΡΠ°ΠΊΠΈΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
, Π΄Π°ΠΆΠ΅ Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ Ρ Π½Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅ΡΡΡ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°: ΠΌΠ°ΡΡΠΈΠ² a
ΠΈ ΠΌΠ°ΡΡΠΈΠ² b
, Π½ΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΡΠ½ΡΡΡ (ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΠ°ΠΌΠΈ), ΡΡΠΎ ΡΡΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΡΡΠΌΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ².
10.2. ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ copy
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π½ΠΎ ΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
>>> a = np.arange(12).reshape(2,6)
>>> a
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
>>>
>>> b = a.copy()
>>> b
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
>>>
>>> b == a # ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ°Π²Π½Ρ
array([[ True, True, True, True, True, True],
[ True, True, True, True, True, True]], dtype=bool)
>>>
>>> b is a # ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ
False
>>>
>>> # Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π°ΠΆΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ
...
>>> id(a)
2968935824
>>> id(b)
2968935624
>>>
>>> id(a) == id(b)
False
>>>
>>> a[0][0] = 7777777 # ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π΅ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ
>>> a
array([[7777777, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
>>> b
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
>>>
>>> a.dtype
dtype('int32')
>>> b.dtype # ΠΠ°ΡΡΠΈΠ² "b" ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π» Π΄Π°ΠΆΠ΅ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
dtype('int32')
>>> a.dtype = np.int16 # ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
>>> a.dtype
dtype('int16')
>>> b.dtype # Π’ΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° "b" Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ
dtype('int32')
ΠΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ
a
ΠΈ b
, ΡΠΎ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΏΠΈΡΡ
: Ρ Π½ΠΈΡ
ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΈΠ»ΠΈ ΡΠ»ΡΡΠΈΠΌ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² b
— ΡΡΠΎ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a
, ΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ NumPy.
10.3. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². ΠΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΊΠΎΠΏΠΈΡ, ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° copy
. ΠΠ΄Π½Π°ΠΊΠΎ, Π±ΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ Π½ΡΠΆΠ½Π°, Π° Π½ΡΠΆΠ΅Π½ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ — Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ
Π½ΡΠΆΠ΄ NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ndarray.view()
. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΠΏΠΎΠ²Π»Π΅ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
>>> a = np.arange(12)
>>> a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>>
>>> b = a
>>> b
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>>
>>> a.shape = 3, 4 # ΠΠ΅Π½ΡΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>>
>>> b # Π Π°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° "b" ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>>
>>> # Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
...
>>> c = a.view()
>>> c
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>>
>>> a.shape = 2, 6 # ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
>>> a
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
>>>
>>> c # Π Π°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° "Ρ" Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>>
>>> # ΠΠΎ ΠΌΠ°ΡΡΠΈΠ² "Ρ" ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠΎ ΠΈ "Π°"
... # ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² "Π°" ΠΎΡΡΠ°Π·ΠΈΡΡΡ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π΅ "Ρ"
...
>>> a[0][0] = 11111
>>> c
array([[11111, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> # Π ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² "Ρ" ΠΎΡΡΠ°Π·ΠΈΡΡΡ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π΅ "Π°"
>>> c[0][0] = 77777
>>> a
array([[77777, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΡΠΎΡΠΌΡ ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π° Π½Π΅ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°:
>>> a = np.arange(8)
>>> b = a.reshape(2,4) # ΠΠ°ΡΡΠΈΠ² "b" - ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° "Π°"
>>> c = b.T # Π Π²ΠΎΡ ΠΌΠ°ΡΡΠΈΠ² "Ρ" - ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° "b"
>>>
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> b
array([[0, 1, 2, 3],
[4, 5, 6, 7]])
>>> c
array([[0, 4],
[1, 5],
[2, 6],
[3, 7]])
>>>
>>> # ΠΡΠ΅ ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅
...
>>> c[0][0] = 77777
>>>
>>> c
array([[77777, 4],
[ 1, 5],
[ 2, 6],
[ 3, 7]])
>>> b
array([[77777, 1, 2, 3],
[ 4, 5, 6, 7]])
>>> a
array([77777, 1, 2, 3, 4, 5, 6, 7])
Π‘ΡΠ΅Π·Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² — ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
>>> a = np.arange(12)
>>> a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>>
>>> b = a[0:12:2]
>>> b
array([ 0, 2, 4, 6, 8, 10])
>>>
>>> c = a[1:12:2]
>>> c
array([ 1, 3, 5, 7, 9, 11])
>>>
>>> # ΠΡΠ΅ ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅
...
>>> b[:] = 0
>>>
>>> b
array([0, 0, 0, 0, 0, 0])
>>> a
array([ 0, 1, 0, 3, 0, 5, 0, 7, 0, 9, 0, 11])
>>>
>>> c[:] = -1
>>> c
array([-1, -1, -1, -1, -1, -1])
>>>
>>> a
array([ 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1])
ΠΡΠ»ΠΈ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² b
— ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° a
, ΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ, ΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΡΠΌΡ ΠΈ Π²ΠΈΠ΄Π° ΠΌΠ°ΡΡΠΈΠ²Π° b
ΠΎΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅Ρ
ΠΆΠ΅ Π΄Π°Π½Π½ΡΡ
Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΠΈ ΠΌΠ°ΡΡΠΈΠ² a
. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ
ΠΏΠΎΠ²Π»Π΅ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΎΠΌ.
Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Jul 22, 2019
Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π΄Π°ΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΡΠΎΡΠΎΠΠΆΠΎΡΡΠ° Π‘ΠΎΡΡΠΈΠ½ΠΎΠ½Π°UnsplashΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, Π³Π΄Π΅ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²Π΅ΡΠ½Π° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ½Π° Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ.
ΠΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° Π½Π°Π±ΠΎΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΈΡΡΠΈΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΡΠ½ΠΎΡΡΡ, ΠΎΡΠ·ΡΠ², ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ.
ΠΡΠ° ΡΡΠ°ΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π° ββΠ½Π°:
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½Π° Π½ΡΠΆΠ½Π°?
2. ΠΠ°ΠΊ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ Π΄Π²ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΡΠΊΠΈ-ΡΠΎΠ±Π°ΠΊΠΈ.
3. ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ Π² Python & R.
4. ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΡ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΌΠ΅ΡΠ°Ρ
: ΡΠΎΡΠ½ΠΎΡΡΡ, ΠΎΡΠ·ΡΠ², ΡΠΎΡΠ½ΠΎΡΡΡ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°
ΠΠ°ΡΡΠΈΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠ΄ΠΊΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π² Π·Π°Π΄Π°ΡΠ΅ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ ΡΡΠΌΠΌΠΈΡΡΡΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ.
ΠΠ°ΡΡΠΈΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ½ΠΎΡΡΠΈ Π² ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»Π°ΡΡΡ Π½Π΅ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· 100 ΠΏΠ°ΡΠΈΠ΅Π½ΡΠΎΠ², 5 ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΠ°Π±Π΅Ρ, Π° 95 Π·Π΄ΠΎΡΠΎΠ²Ρ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ»Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π°, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ΅ 100 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π·Π΄ΠΎΡΠΎΠ²Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 95%. ΠΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
Π£ Π½Π°Ρ Π²ΡΠ΅Π³ΠΎ 10 ΠΊΠΎΡΠ΅ΠΊ ΠΈ ΡΠΎΠ±Π°ΠΊ, ΠΈ Π½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠΎΡΠΊΠ° ΡΡΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ.
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ = [Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β» Β»]
ΠΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ = [Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΡΠΎΠ±Π°ΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β», Β«ΠΊΠΎΡΠΊΠ°Β»]
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ / ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅, Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΡΠ΅ / Π»ΠΎΠΆΠ½ΡΠ΅.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ²:
ΠΠ°ΡΡΠΎΡΡΠΈΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ²: Π²Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠ², ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°. ΠΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅ — ΡΡΠΎ ΠΊΠΎΡΠΊΠ°, ΠΈ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊ.
True Negative: Π²Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°. ΠΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅ — ΡΡΠΎ Π½Π΅ ΠΊΠΎΡΠΊΠ°, ΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ (ΡΡΠΎ ΡΠΎΠ±Π°ΠΊΠ°).
ΠΠΎΠΆΠ½ΡΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ (ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠΏΠ° 1). ΠΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΈ ΡΡΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎ. ΠΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅ — ΡΡΠΎ ΠΊΠΎΡΠΊΠ°, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ (ΡΡΠΎ ΡΠΎΠ±Π°ΠΊΠ°).
ΠΠΎΠΆΠ½ΠΎΠ΅ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅ (ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠΏΠ° 2). ΠΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈ ΠΎΠ½ΠΎ Π»ΠΎΠΆΠ½ΠΎ. ΠΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅ Π½Π΅ ΠΊΠΎΡΠΊΠ°, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ ΡΠ°ΠΊ.
Π’ΠΎΡΠ½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
Π’ΠΎΡΠ½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ:
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ (Π§ΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π°ΠΊΠ°):
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ»ΠΈ ΠΈΠ· Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΡΠ·ΡΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΡΠΎΠΊΠΈΠΌ.
Π’ΠΎΡΠ½ΠΎΡΡΡ:
Π’ΠΎΡΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ»ΠΈ ΠΈΠ· Π²ΡΠ΅Ρ
ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΡΡΠΈΡ
ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. Π’ΠΎΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ.
Π£Π»ΠΎΠ²ΠΊΠ°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ:Π΄ΠΎΠ·ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅ΡΠ΄ΠΎΠΠΈΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² Π·Π½Π°ΠΌΠ΅Π½Π°ΡΠ΅Π»Π΅.
F-ΠΎΡΠ΅Π½ΠΊΠ° ΠΈΠ»ΠΈ F1-ΠΎΡΠ΅Π½ΠΊΠ°:
Π‘Π»ΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π΄Π²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Precision ΠΈ Recall. ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ
ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡΠΌΠΈ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ F-Score. ΠΡΠΎ ΠΠ°ΡΠΌΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ Π’ΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΡΠΏΠΎΠΌΠ½ΠΈΡΡ. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ΅Π΄Π½ΠΈΠΌ, Π³Π°ΡΠΌΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ΅Π΄Π½Π΅Π΅ Π½Π°ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΊΡΡΡΠ΅ΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. F-ΠΎΡΠ΅Π½ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΡ:
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΠΎΠ»Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π½Π΅Π³Π°ΡΠΈΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ.
ΠΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ:
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΊΠΎΡΠΊΠΎΠΉ ΠΈ ΡΠΎΠ±Π°ΠΊΠΎΠΉ:
Π’ΠΎΡΠ½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
Π’ΠΎΡΠ½ΠΎΡΡΡ = (TP + TN) / (TP + TN + FP + FN) = (3 + 4) / (3 + 4 + 2 + 1) = 0,70
ΠΡΠ·ΡΠ²:ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Π΄Π°Π΅Ρ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π°, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π°.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ = TP / (TP + FN) = 3 / (3 + 1) = 0,75
Π’ΠΎΡΠ½ΠΎΡΡΡ:Π’ΠΎΡΠ½ΠΎΡΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π΄Π°, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π’ΠΎΡΠ½ΠΎΡΡΡ = TP / (TP + FP) = 3 / (3 + 2) = 0,60
F-ΠΎΡΠ΅Π½ΠΊΠ°:
F-ΠΎΡΠ΅Π½ΠΊΠ° = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,75 * 0,60) / (0,75 + 0,60) = 0,67
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΡ:
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΡ = TN / (TN + FP) = 4 / (4 + 2) = 0,67
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈ ΠΊΠΎΠ΄Ρ Python, ΠΈ R, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠΎΠ±Π°ΠΊΠΎΠΉ ΠΈ ΠΊΠΎΡΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠ·Π½Π°Π»ΠΈ ΠΎ ΠΌΠ°ΡΡΠΈΡΠ΅ ΠΏΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ.
ΠΠΠ’ΠΠ:Π‘Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΊΠΎΠ΄ Python Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ sklearn, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ Π² Python:
ΠΠΎΠ΄ PythonOUTPUT ->Confusion Matrix :
[[3 1]
[2 4]]
Accuracy Score : 0.7
Classification Report :
precision recall f1-score supportcat 0.60 0.75 0.67 4
dog 0.80 0.67 0.73 6micro avg 0.70 0.70 0.70 10
macro avg 0.70 0.71 0.70 10
weighted avg 0.72 0.70 0.70 10
Π :ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ R-ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ°ΡΠ΅Ρ Π² R Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ.
ΠΠΎΠ΄ ROUTPUT ->Confusion Matrix and Statistics Reference
Prediction 0 1
0 4 1
1 2 3Accuracy : 0.7
95% CI : (0.3475, 0.9333)
No Information Rate : 0.6
P-Value [Acc > NIR] : 0.3823Kappa : 0.4Mcnemar's Test P-Value : 1.0000Sensitivity : 0.6667
Specificity : 0.7500
Pos Pred Value : 0.8000
Neg Pred Value : 0.6000
Prevalence : 0.6000
Detection Rate : 0.4000
Detection Prevalence : 0.5000
Balanced Accuracy : 0.7083'Positive' Class : 0
- Π’ΠΎΡΠ½ΠΎΡΡΡ — ΡΡΠΎ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠ²ΠΎΠΈΡ ΠΈΡΡΠΈΠ½Π½ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Π°Ρ . ΠΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π°.
- Π²ΡΠ±Π΅ΡΠΈΡΠ΅ΠΡΠ·ΡΠ²Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅Π»ΠΎΠΆΠ½ΡΠ΅ Π½Π΅Π³Π°ΡΠΈΠ²Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ / Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ Π΄ΠΈΠ°Π±Π΅ΡΠ° Ρ Π²Π°Ρ Π±ΡΠ»ΠΎ Π±Ρ Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ (Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ) Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠΆΠ½ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ .
- Π²ΡΠ±Π΅ΡΠΈΡΠ΅ΡΠΎΡΠ½ΠΎΡΡΡΠ΅ΡΠ»ΠΈ Ρ ΠΎΡΠ΅ΡΡ Π±ΡΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ΡΠ²Π΅ΡΠ΅Π½ Π² ΡΠ²ΠΎΠΈΡ ΠΈΡΡΠΈΠ½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π°Ρ , ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΏΠ°ΠΌ-ΠΏΠΈΡΠ΅ΠΌ Π²Ρ Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ°ΠΌ-ΠΏΠΈΡΠ΅ΠΌ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠΎΠ²ΠΎΠΌ ΡΡΠΈΠΊΠ΅, Π° Π½Π΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΏΠΈΡΡΠΌΠ° Π² Π²Π°ΡΠ΅ΠΌ ΡΡΠΈΠΊΠ΅ Π΄Π»Ρ ΡΠΏΠ°ΠΌΠ°. ΠΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° X ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ°ΠΌΠΎΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π΅Π΅ Π² ΡΡΠΈΠΊ Π΄Π»Ρ ΡΠΏΠ°ΠΌΠ°.
- Π²ΡΠ±Π΅ΡΠΈΡΠ΅ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΡΠ΅ΡΠ»ΠΈ Ρ ΠΎΡΠ΅ΡΡΠΏΠΎΠΊΡΡΡΡ Π²ΡΠ΅ ΠΈΡΡΠΈΠ½Π½ΡΠ΅ Π½Π΅Π³Π°ΡΠΈΠ²Ρ,ΡΠΎ Π΅ΡΡΡ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΡΠ° Π½Π° Π½Π°ΡΠΊΠΎΡΠΈΠΊΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ΅ Π»ΡΠ΄ΠΈ Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΡΠΎΠΌ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΡΡΡΡΠΌΡ, Π²Ρ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ, ΡΡΠΎΠ±Ρ ΠΊΡΠΎ-Π»ΠΈΠ±ΠΎ Π±Π΅Π· Π½Π°ΡΠΊΠΎΡΠΈΠΊΠΎΠ² ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΡΡ Π² ΡΡΡΡΠΌΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ:
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ½ΠΎΡΡΠΈ 70% ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ 3 ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΡΡ 10 ΠΊΠΎΡΠ΅ΠΊ Π½Π΅Π²Π΅ΡΠ½Π°, Π° 7 — ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°.
- Π’ΠΎΡΠ½ΠΎΡΡΡ 60% ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠ΅ΡΠΊΠ° 4 ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΡΡ 10 ΠΊΠΎΡΠ΅ΠΊ — ΡΡΠΎ Π½Π΅ ΠΊΠΎΡΠΊΠ° (ΡΠΎ Π΅ΡΡΡ ΡΠΎΠ±Π°ΠΊΠ°), Π° 6 — ΠΊΠΎΡΠΊΠΈ.
- ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 70% ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ 3 ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΡΡ 10 ΠΊΠΎΡΠ΅ΠΊ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠΏΡΡΠ΅Π½Ρ Π½Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ, Π° 7 ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΊΠΎΡΠΊΠΈ.
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π²Π½ΠΎΠ΅ 60%, ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ 4 ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΡΡ 10 ΡΠΎΠ±Π°ΠΊ (ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΠΊΠΎΡΠ΅ΠΊ) Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ ΠΊΠΎΡΠΊΠΈ, Π° 6 — ΠΊΠ°ΠΊ ΡΠΎΠ±Π°ΠΊΠΈ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡΡ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠ·ΡΠ²Ρ Π½ΠΈΠΆΠ΅. ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΡΠ·Π°ΡΡΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΉ ΠΏΠΎLinkedIn,
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ
ΠΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ Π² Python — GeeksforGeeks
Π Python ΠΌΠ°ΡΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ 2D-ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ 2D-ΠΌΠ°ΡΡΠΈΠ². Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΄Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΡΠ΅. ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Β« numpy Β».
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ:
1. add (): — ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ .
2. subtract (): — ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ .
3. DivX (): — ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ .
|
ΠΡΡ ΠΎΠ΄:
ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ: [[8 10] [13 15]] ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ: [[-6-6] [-5 -5]] ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ: [[0.14285714 0,25] [0,44444444 0,5]]
4. multiply (): — ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ .
5. dot (): — ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ , Π° Π½Π΅ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ .
|
ΠΡΡ ΠΎΠ΄:
ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ: [[7 16] [36 50]] ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ: [[25 28] [73 82]]
6. sqrt (): — ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠ½Ρ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ.
7. sum (x, axis): — ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΡΠ΅ . ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Β«ΠΎΡΡΒ» Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠΌΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² , Π΅ΡΠ»ΠΈ ΠΎΡΡ ΡΠ°Π²Π½Π° 0, ΠΈ ΡΡΠΌΠΌΡ ΡΡΡΠΎΠΊ , Π΅ΡΠ»ΠΈ ΠΎΡΡ , ΡΠ°Π²Π½Π° 1 .
8. Β«TΒ»: — ΠΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ.
|
ΠΡΡ ΠΎΠ΄:
ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΡΠ°Π²Π΅Π½: [[1. 1.41421356] [2. 2.23606798]] Π‘ΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: 34 Π‘ΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ: [16 18] Π‘ΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ: [15 19] Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ: [[1 4] [2 5]]
ΠΠ²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ Manjeet Singh 100 π .ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ GeeksforGeeks, ΠΈ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ provide.geeksforgeeks.org ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ Π½Π° [email protected]. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ Π²Π°ΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ GeeksforGeeks, ΠΈ ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌ Π³ΠΈΠΊΠ°ΠΌ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅, ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠ΅ΠΌΠ΅, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠΉ Π²ΡΡΠ΅.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ! Π£ΠΊΡΠ΅ΠΏΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python Programming Foundation ΠΈ ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ΡΡ ΠΊ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π Π°ΡΡΠΈΡΡΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python DS . Π ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ΡΡ ΠΊ ΠΊΡΡΡΡ ΠΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ — Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Python
ΠΠ°ΡΡΠΈΡΠ°— ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ΅Π». ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ΅Π». ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΌΠ°ΡΡΠΈΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Β«ΡΡΡΠΎΠΊΠ°ΠΌΠΈΒ», Π° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Β«ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈΒ».ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ r ΡΡΡΠΎΠΊ ΠΈ c ΡΡΠΎΠ»Π±ΡΠΎΠ², ΡΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ°Π²Π΅Π½ r x c . ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² ΠΌΠ°ΡΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ, ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ.
ΠΡΠΈΠΌΠ΅ΡΡ:
// ΠΠ°ΡΡΠΈΡΠ° 3 x 4 1 2 3 4 Π = 4 5 6 7 6 7 8 9 // ΠΌΠ°ΡΡΠΈΡΠ° 2 x 3 Π² Python A = ([2, 5, 7], [4, 7, 9]) // ΠΠ°ΡΡΠΈΡΠ° 3 x 4 Π² Python, Π³Π΄Π΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ B = ([1.0, 3,5, 5,4, 7,9], [9.0, 2.5, 4.2, 3.6], [1.5, 3.2, 1.6, 6.5])
Π Python ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π²Π²ΠΎΠ΄Π° ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π² Python ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½ΠΈΠΆΠ΅:
ΠΠΎΠ΄ # 1:
|
ΠΡΠ²ΠΎΠ΄:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ: 2 ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ²: 3 ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ: 1 2 3 4 5 6 1 2 3 4 5 6
ΠΠ΄ΠΈΠ½ Π²ΠΊΠ»Π°Π΄ΡΡ:
|
ΠΠΎΠ΄ # 2: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ map ()
ΠΈ Numpy
.
Π Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ NumPy . ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π΄Π»Ρ Π»ΡΠ±ΡΡ Π½Π°ΡΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ° — ΡΡΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.
|
ΠΡΡ ΠΎΠ΄:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ: 2 ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ²: 2 ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π»: 1 2 3 1 [[1 2] [3 1]]
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ! Π£ΠΊΡΠ΅ΠΏΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python Programming Foundation ΠΈ ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ΡΡ ΠΊ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π Π°ΡΡΠΈΡΡΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python DS . Π ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΠΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ — ΠΊΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ
ΠΠ°ΡΡΠΈΡΡ Π² Python
Python ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ²ΠΎΠ΅ΠΉ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΡΡΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ . Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² Python, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ, ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ, ΠΌΠ°ΡΡΠΈΡ ΠΈ Ρ. Π. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΠΌΠ°ΡΡΠΈΡΠ°Ρ ΠΈ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ .
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ°ΡΡΠΈΡΠ° Π² Python?
ΠΡΠΎ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½Π°Ρ (Π΄Π²ΡΠΌΠ΅ΡΠ½Π°Ρ) ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ . Π ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΈ ββΠΏΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ΅Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΡΡΠ΅Ρ ΡΠ°Π·Π½ΡΡ ΠΎΡΠ΄Π΅Π»ΠΎΠ². Π ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° | ΠΠΌΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° | ΠΡΠ΄Π΅Π» ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° |
---|---|---|
1001A | Ray | Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ |
2004B | ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΠ°ΡΠ»ΠΎΡ | 900|
3100A | Alex | ΠΠ΅Π΄ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ |
Π Python ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.Python Π΄Π°Π΅Ρ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ:
val = [['1001A', 'Ray', 'Technical Head'], ['2004B', 'Karlos', 'Manager'], ['3100A', 'Alex', 'Lead Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ']]
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° val ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΡΡ 3 X 3, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π² Python
Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. Π‘ΠΏΠΈΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ ‘[‘ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ ‘]’ (ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ), ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π·Π°ΠΏΡΡΠΎΠΉ.
val = [['ΠΡΠΉΠ²', 101,90,95],
['Alex', 102,85,100],
['Ray', 103,90,95]]
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ Π² Python
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΡΠ΅Π²ΠΎΠ³ΠΈ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠ² Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (ΡΠΊΠ°ΠΆΠ΅ΠΌ, n), Π° Π·Π°ΡΠ΅ΠΌ ΡΠ²ΡΠ·Π°Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· m ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
n = 3
ΠΌ = 3
val = [0] * n
Π΄Π»Ρ x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (n):
val [x] = [0] * m
print (val)
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
ΠΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΡ
ΠΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ Π² Python.
i) ΠΠ½Π΄Π΅ΠΊΡ ΡΠΏΠΈΡΠΊΠ° : ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: val [row_no] [col_no]
val = [ ['ΠΡΠΉΠ²', 101,90,95], ['ΠΠ»Π΅ΠΊΡ', 102,85,100], ['Π ΡΠΉ', 103,90,95]]
ΠΏΠ΅ΡΠ°ΡΡ (val [2])
print (val [0] [1])
ΠΡΠ²ΠΎΠ΄:
['Ray', 103,90,95] 101
ii) ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ : Python ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.ΠΡΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ -1 ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, -2 — ΠΊ Π²ΡΠΎΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ.
val = [['Dave', 101,90,95], ['Alex', 102,85,100], ['Ray', 103,90,95]]
ΠΏΠ΅ΡΠ°ΡΡ (val [-2])
print (val [-1] [- 2])
ΠΡΠ²ΠΎΠ΄:
['Alex', 102,85,100] 90
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Numpy: ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΡΡΡΠ»ΠΊΠ°
ΠΠ΅Π²Π° ΠΠ°ΡΠΈΠ½Π°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Nordigen.
Π Π½Π°ΡΠ°Π»Π΅, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠΏΠΈΡΠΊΠΈ Python ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.ΠΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΊΠΎΡΠΎ, ΠΏΠΎΡΠ»Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ , Ρ ΠΌΠ΅Π½Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ. Π‘ΠΏΠΈΡΠΊΠΈ Python Π½Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° Numpy.
Numpy — ΡΡΠΎ Π΄Π΅-ΡΠ°ΠΊΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ndarray Π΄Π»Ρ Π½Π°ΡΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Python.
ΠΠ°ΡΡΠΈΠ²Ρ Numpy ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° C — ΠΎΠ±ΡΡΠ½ΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ² Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π·Π°ΡΠ°Π½Π΅Π΅, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π΅Π³ΠΎ. Π‘Π»ΠΈΡΠ½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Numpy ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π² Π½Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Numpy (ndarray):
Π‘ΠΎΠ·Π΄Π°ΡΡ ndarray
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ numpy:
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ΡΠΏΠΈΡΠΎΠΊ = [1, 2, 3] c = np.asarray (ΡΠΏΠΈΡΠΎΠΊ)
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ndarray ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ , ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ, Π½ΡΠ»ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ:
# ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠ°ΠΊ ndarray c = np.array ([1, 2, 3]) # Π€ΠΎΡΠΌΠ° ΠΌΠ°ΡΡΠΈΠ²Π° 2x2 2d Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ»Π±ΡΡ) shape = (2, 2) # Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ c = np.ΠΏΡΡΡΠΎΠΉ (ΡΠΎΡΠΌΠ°) d = np.ones (ΡΠΎΡΠΌΠ°) e = np.zeros (ΡΠΎΡΠΌΠ°)
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ndarray ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° c = np.array ([[1., 2.,], [1., 2.]]) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΎΡΠΌΠ΅ c, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ 0 d = np.empty_like (c)
ΠΠΎΠΌΡΠΈΠΊ
ΠΠ½ΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ ΠΈΠ· Π²ΡΠ΅Ρ
ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊ Π² 2-ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΡΡΠΈΡΡ:
a = np.asarray ([[1,1,2,3,4], # 1-Ρ ΡΡΡΠΎΠΊΠ° [2,6,7,8,9], # 2-Ρ ΡΡΡΠΎΠΊΠ° [3,6,7,8,9], # 3-ΠΉ ΡΡΠ΄ [4,6,7,8,9], # 4-ΠΉ ΡΡΠ΄ [5,6,7,8,9] # 5-ΠΉ ΡΡΠ΄ ]) Π± = Π½ΠΏ.asarray ([[1,1], [1,1]]) # ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ a [Π½Π°ΡΠ°Π»ΠΎ: ΠΊΠΎΠ½Π΅Ρ], Π΅ΡΠ»ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΎΠΏΡΡΠ΅Π½Ρ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²Π΅ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. y = a [: 1] # 1-Ρ ΡΡΡΠΎΠΊΠ° y = a [0: 1] # 1-Ρ ΡΡΡΠΎΠΊΠ° y = a [2: 5] # Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ Ρ 3-ΠΉ ΠΏΠΎ 5-Ρ ΡΡΡΠΎΠΊΡ # ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎΠ»Π±Π΅Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ a [Π½Π°ΡΠ°Π»ΠΎ: ΠΊΠΎΠ½Π΅Ρ, Π½ΠΎΠΌΠ΅Ρ_ΡΡΠΎΠ»Π±ΡΠ°] x = a [:, -1] # -1 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Ρ ΠΊΠΎΠ½ΡΠ° x = a [:, 1: 3] # Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ΡΠΎ 2-Π³ΠΎ ΠΏΠΎ 3-ΠΉ
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² numpy — , Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ numpy ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ², Π° Π·Π°ΡΠ΅ΠΌ ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π² Π½Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ numpy ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ :
ΠΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ
1d ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
a = np.array ([1, 2, 3]) b = np.array ([5, 6]) Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.concatenate ([a, b, b]) # >> [1 2 3 5 6 5 6]
2d ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
a2 = np.array ([[1, 2], [3, 4]]) # axis = 0 - ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ((a2, b), ΠΎΡΡ = 0) # >> [[1 2] # [3 4] # [5 6]] # axis = 1 - ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ, Π½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ b: Π±.Π’ # >> [[5] # [6]] np.concatenate ((a2, b.T), ΠΎΡΡ = 1) # >> [[1 2 5] # [3 4 6]]
ΠΠΎΠ±Π°Π²ΠΈΡΡ — Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
1d ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
# 1d ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.append (a, a2) # >> [1 2 3 1 2 3 4] ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.Π΄ΠΎΠ±Π°Π²ΠΈΡΡ (Π°, Π°) # >> [1 2 3 1 2 3]
2d ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² — ΠΎΠ±Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΠ΅ ΡΡΡΠΎΠΊ:
ΠΏΠ΅ΡΠ°ΡΡ np.append (a2, b, axis = 0) # >> [[1 2] # [3 4] # [5 6]] Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.append (a2, b.T, axis = 1) # >> [[1 2 5] # [3 4 6]]
Hstack (ΡΡΠ΅ΠΊ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ) ΠΈ vstack (ΡΡΠ΅ΠΊ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ)
1d ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.hstack ([a, b]) # >> [1 2 3 5 6] ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.vstack ([a, a]) # >> [[1 2 3] # [1 2 3]]
2d ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
print np.hstack ([a2, a2]) # ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΠ΅ # >> [[1 2 1 2] # [3 4 3 4]] Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ np.vstack ([a2, b]) # >> [[1 2] # [3 4] # [5 6]]
Π’ΠΈΠΏΡ Π² ndarray
ΠΠ΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ numpy ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ . ΠΡΠ»ΠΈ Π»ΡΠ±ΠΎΠ΅ ΠΈΠ· ΡΠΈΡΠ΅Π» Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΌ, Π²ΡΠ΅ ΡΠΈΡΠ»Π° Π±ΡΠ΄ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ:
Π° = Π½ΠΏ.ΠΌΠ°ΡΡΠΈΠ² ([1, 2, 3.3]) ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ # >> [1. 2. 3.3]
ΠΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠΈΠΏ ΠΊ int, float ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌΡ:
a = np.array ([1, 2, 3.3]) ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ # >> [1. 2. 3.3] Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ a.astype (int) # >> [1 2 3]
Π‘ΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ Ρ ΡΠΈΠΏΠΎΠΌ S1 Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 1, S2 Π΄Π»Ρ Π΄Π»ΠΈΠ½Ρ 2 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. numpy.chararray () ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΡΠΈΠΌ ΡΠΈΠΏΠΎΠΌ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ itemsize — Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
chararray = np.chararray ([3,3], itemsize = 3) chararray [:] = 'abc' # ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΏΠ΅ΡΠ°ΡΡ chararray # >> [['abc' 'abc' 'abc'] # ['abc' 'abc' 'abc'] # ['abc' 'abc' 'abc']]
Π§ΡΠ΅Π½ΠΈΠ΅ / Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ»
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ² numpy Π² ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ numpy.savetext () Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ numpy.loadtext ():
a2 = np.array ([ [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1], [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1], [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1], [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1], [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1], [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1] ]) Π½ΠΏ.savetxt ('test.txt', a2, delimiter = ',') a2_new = np.loadtxt ('test.txt', delimiter = ',')
ΠΠ°ΠΏΠΈΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° (Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ°Π²Π½ΡΡ 0), ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅, Π° ΡΠ°ΠΉΠ» ΠΌΠ΅Π½ΡΡΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΎΡΠΌΠ°Ρ svmlight :
ΠΈΠ· sklearn.datasets import dump_svmlight_file, load_svmlight_file ΠΌΠ°ΡΡΠΈΡΠ° = [ [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2], [1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 2], [1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 2] ] ΡΡΠ»ΡΠΊΠΈ = [1,1,1,1,1,2,2] dump_svmlight_file (ΠΌΠ°ΡΡΠΈΡΠ°, ΠΌΠ΅ΡΠΊΠΈ, 'svmlight.txt ', zero_based = True) # Π€Π°ΠΉΠ» Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ: # 1 0: 1 13: 1 14: 2 # 1 0: 1 13: 1 14: 2 # 1 0: 1 13: 1 14: 2 # 1 0: 1 13: 1 14: 2 # 1 0: 1 13: 1 14: 2 # 2 0: 1 5: 3 13: 1 14: 2 # 2 0: 1 5: 3 13: 1 14: 2 svm_loaded = load_svmlight_file ('svmlight.txt', zero_based = True)
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ .toarray (), ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· ΡΠΎΡΠΌΠ°ΡΠ° ΡΠΆΠ°ΡΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ svmlight:
svm_loaded [0] .toarray () # ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 0 svm_loaded [1] # ΡΡΠ»ΡΠΊΠΎΠ² Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ 1
ΠΠΎΠ΄Π²ΠΎΠ΄Ρ ΠΈΡΠΎΠ³, Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Π±ΡΠ»ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, ΠΊΠ°ΠΊ:
- ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ numpy,
- ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΡΠ΅Π·ΠΎΠ²,
- ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ,
- Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² numpy,
- ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΠ°ΠΉΠ»,
- ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ Π² ΡΠΎΡΠΌΠ°Ρ svmlight.
ΠΡΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΡΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² numpy-ΠΌΠ°ΡΡΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ MIT, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠΈΠΎΠ³ΡΠ°ΡΠΈΡ: ΠΠ΅Π²Π° ΠΠ°ΡΠΈΠ½Π° — ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π² Nordigen.
ΠΡΠΈΠ³ΠΈΠ½Π°Π». Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π‘Π²ΡΠ·Π°Π½Π½ΡΠΉ:
1. ΠΠ΅ΠΊΡΠΎΡΡ, ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
Π§Π°ΡΡΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ — ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΠ΅; ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ — Π½ΡΠ»ΠΈ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎΠ»Π±ΡΡ — ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠ»ΡΠΌ Π½Π° Netflix, Π° ΡΡΡΠΎΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Netflix, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ — ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΡΡΠ΅Π» ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΡΠΈΠ»ΡΠΌ. Π ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ Π±ΡΠ»ΠΈ Π±Ρ Π΄Π΅ΡΡΡΠΊΠΈ ΡΡΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΡΡΠΎΠΊ! ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π΅ ΡΠΌΠΎΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΈΠ»ΡΠΌΠΎΠ² ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ»ΠΎ Π±Ρ Π½ΡΠ»Π΅Π²ΡΠΌ.
Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Ρ ΡΠ°Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π½ΡΠ»Π΅Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².Π Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΌΠ°ΡΡΠΈΠ² NumPy Ρ Π΄Π²ΡΠΌΡ Π½Π΅Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π» Π΅Π³ΠΎ Π² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠ»ΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π½ΡΠ»Π΅Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
# ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ
ΠΏΠ΅ΡΠ°ΡΡ
(
matrix_sparse
)
(1, 1) 1 (2, 0) 3
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ
ΠΌΠ°ΡΡΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΌΠ°ΡΡΠΈΡΠ°Ρ
ΡΠΆΠ°ΡΡΡ
ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ
ΡΡΡΠΎΠΊ (CSR), (1, 1)
ΠΈ (2, 0)
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ (Ρ Π½ΡΠ»Π΅Π²ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ) ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ 1
ΠΈ 3
, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅ΠΌΠ΅Π½Ρ 1
Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈ Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ
ΠΌΠ°ΡΡΠΈΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π½ΡΠ»Π΅Π²ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠΌ ΡΡΡ Π±ΠΎΠ»ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ Ρ Π½Π°ΡΠ΅ΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ:
# Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ
matrix_large
=
np
.
ΠΌΠ°ΡΡΠΈΠ²
([[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
[
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
[
3
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
]])
# Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΆΠ°ΡΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ (CSR)
matrix_large_sparse
=
sparse
.
csr_matrix
(
matrix_large
)
# ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ
ΠΏΠ΅ΡΠ°ΡΡ
(
matrix_sparse
)
(1, 1) 1 (2, 0) 3
# Π£Π²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ
ΠΏΠ΅ΡΠ°ΡΡ
(
matrix_large_sparse
)
(1, 1) 1 (2, 0) 3
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ»Π΅Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π±ΠΎΠ»ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ, Π΅Π΅ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π½Π°ΡΠ΅ΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ.Π’ΠΎ Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΡΠ»Π΅Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ.
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π² Π²ΠΈΠ΄Π΅ ΡΠΆΠ°ΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°, ΡΠΏΠΈΡΠΊΠ° ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. Π₯ΠΎΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π½Π΅ ΡΠ°ΠΌΠΎΠΊ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΠΊΠ° Π΅ΡΡΡ Π½Π΅Ρ Β«Π»ΡΡΡΠ΅Π³ΠΎΒ» ΡΠΈΠΏΠ° ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ, Π΅ΡΡΡ Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡ , ΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΎΠ·Π½Π°Π²Π°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ NumPy?
ΠΠ°ΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π²ΡΠ΅, ΡΡΠΎ Π΅ΡΡΡ ΠΎ ΠΠ°ΡΡΠΈΡΠ°Ρ Π² Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ NumPy, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
ΠΠΠΠ£Π‘ : Π‘ΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ — ΠΊΠΎΠ΄ Python Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΠΠ°ΡΡΠΈΡΡ Π² Python.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ NumPy ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?NumPy — ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΠΌΠ°ΡΡΠΈΡ.ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, NumPy ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΡΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΡΠΊΠΈ ΠΎ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Pandas , Scikit-learn , SciPy , matplotlib, ΠΈ Ρ. Π., ΠΠ°Π²ΠΈΡΡΡ ΠΎΡ NumPy. ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Python.
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ NumPy. ΠΠΈΠ½Π΅ΠΉΠ½Π°Ρ Π°Π»Π³Π΅Π±ΡΠ° — ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ .Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ NumPy ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ:
- ΠΌΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ N-ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ndarray
- Π€ΡΠ½ΠΊΡΠΈΠΈ Π²Π΅ΡΠ°Π½ΠΈΡ
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° C / C ++ ΠΈ Fortran
- ΠΠΎΠ»Π΅Π·Π½Π°Ρ Π»ΠΈΠ½Π΅ΠΉΠ½Π°Ρ Π°Π»Π³Π΅Π±ΡΠ°, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡΡΡΠ΅ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
Π‘Π΅ΠΉΡΠ°Ρ ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Ρ Π½Π°ΡΠΈΠΌΠΈ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Π² Python ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π² NumPy Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠΎΠ²## Import numpy ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² numpy, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΏΠΈΡΠΊΠΈ Python arr = np.ΠΌΠ°ΡΡΠΈΠ² ([[1, 2, 3], [4, 5, 6]]) print (arr)
np.array ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. ΠΠ°ΡΡΠΈΠ²Ρ NumPy ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ ndarray.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ:
ΠΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, Π³Π΄Π΅ Π²Ρ ΠΎΠ΄ΠΎΠΌ Π² np.array () ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ² [[1, 2, 3], [4, 5, 6]]. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Π² ΠΌΠ°ΡΡΠΈΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ²np.arange () ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΠ΅Π» Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½Π°ΡΠ°Π»Π° ΠΈ ΠΊΠΎΠ½ΡΠ°.
## ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΈΡΠ΅Π» ΠΎΡ (Π½Π°ΡΠ°Π»ΠΎ) Π΄ΠΎ (ΠΊΠΎΠ½Π΅Ρ-1) ## ΠΠ΄Π΅ΡΡ start = 0 ## ΠΊΠΎΠ½Π΅Ρ = 5 ## Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ ΠΌΠ°ΡΡΠΈΠ² NumPy ΠΎΡ 0 Π΄ΠΎ 4 print (np.arange (0,5))
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:
Π§ΡΠΎΠ±Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ 2D-ΠΌΠ°ΡΡΠΈΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ np.arange () Π²Π½ΡΡΡΠΈ ΡΠΏΠΈΡΠΊΠ°. ΠΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π² np.array (), ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ NumPy.
print (np.array ([np.arange (0,5), np.arange (5,10)]))
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ 2D-ΠΌΠ°ΡΡΠΈΠ²:
Π€ΠΎΡΠΌΠ° ΠΌΠ°ΡΡΠΈΠ²Π° NumPyΠΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ NumPy ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ N-ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ.Π ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ N-ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° NumPy ndarray ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΡΠΌΡ. Π€ΠΎΡΠΌΠ° — ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (n_rows, n_cols)
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΡΡ
## ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² arr_2d = np.array ([np.arange (0,5), np.arange (5,10)]) print (arr_2d.shape)
ΠΡΠ²ΠΎΠ΄:
(2, 5) ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠΌΠ΅Π΅Ρ 2 ΡΡΡΠΎΠΊΠΈ ΠΈ 5 ΡΡΠΎΠ»Π±ΡΠΎΠ²
ΠΠ°ΡΡΠΈΡΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π½ΡΠ»ΡΠΌΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΡΠ»ΠΈ:## Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎΡΠΌΡ (3, 4), Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π½ΡΠ»ΡΠΌΠΈ ## ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΈΡΠ»Π° ΡΠΈΠΏΠ° float64 Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠ΅ΡΠ°ΡΡ (Π½ΠΏ.Π½ΡΠ»ΠΈ ((3, 4)))
ΠΡΠ²ΠΎΠ΄:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅.
ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ:## Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎΡΠΌΡ (2, 2), Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ## ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ dtype = np.int16, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΈΡ NumPy ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° print (np.ones ((2, 2), dtype = np.int16))
ΠΡΠ²ΠΎΠ΄:
ΠΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΡΡ Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ Π΅ΡΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡ, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ dtype = Π½ΠΏ.int16. ΠΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ np.ones Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, Π° Π½Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² np.zeros
ΠΠ°ΡΡΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- ΠΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ mat_2d_1 = np.array ([np.arange (0,3), np.arange (3,6)]) mat_2d_2 = Π½ΠΏ.ΠΌΠ°ΡΡΠΈΠ² ([np.arange (6,9), np.arange (9,12)])print («ΠΠ°ΡΡΠΈΡΠ°1: n», mat_2d_1) print («ΠΠ°ΡΡΠΈΡΠ°2: n», mat_2d_2) ## ΠΠΎΠ±Π°Π²ΡΡΠ΅ 1 ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² mat_2d_1 ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ print (Β«Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: nΒ», mat_2d_1 + 1) ## ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ Π²ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ print (Β«ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°: nΒ», mat_2d_1 + mat_2d_2)
ΠΡΠ²ΠΎΠ΄:
ΠΡΡΠΈΡΠ°Π½ΠΈΠ΅ΠΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅.
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ mat_2d_1 = np.array ([np.arange (0,3), np.arange (3,6)]) mat_2d_2 = np.array ([np.arange (6,9), np.arange (9,12)]) print ("ΠΠ°ΡΡΠΈΡΠ°1: n", mat_2d_1) print ("ΠΠ°ΡΡΠΈΡΠ°2: n", mat_2d_2) ## ΠΡΡΡΠΈΡΠ΅ 1 ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² mat_2d_1 ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ print (Β«Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: nΒ», mat_2d_1 - 1) ## ΠΡΡΡΠΈΡΠ΅ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ Π²ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ print (Β«ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°: nΒ», mat_2d_1 - mat_2d_2)
ΠΡΠ²ΠΎΠ΄:
ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΠ°ΡΡΠΈΡΡ NumPy
- Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅: ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ
- Π’ΠΎΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅: ΡΡΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ.Π‘ΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΒ» ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ.
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## Π‘Π³Π΅Π½Π΅ΡΠΈΡΡΠΉΡΠ΅ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎΡΠΌΡ (2,3) ΠΈ (3,2), ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡΠΈ ## ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ mat_2d_1 = np.array ([np.arange (0,3), np.arange (3,6)]) mat_2d_2 = np.array ([np.arange (0,2), np.arange (2,4), np.arange (4,6)]) ## ΠΠ΅ΡΠ°ΡΡ ΡΠΎΡΠΌ ΠΈ ΠΌΠ°ΡΡΠΈΡ print ("ΠΠ°ΡΡΠΈΡΠ°1: n", mat_2d_1) print ("Matrix1 shape: n", mat_2d_1.shape) print ("ΠΠ°ΡΡΠΈΡΠ°2: n", mat_2d_2) print ("Matrix2 shape: n", mat_2d_2.shape) ## Π£ΠΌΠ½ΠΎΠΆΡΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° 2 Π² mat_2d_1 ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ print (Β«Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅: nΒ», mat_2d_1 * 2) ## ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΌΠ°ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ print ("Π’ΠΎΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ: n", np.ΡΠΎΡΠΊΠ° (mat_2d_1, mat_2d_2))
ΠΠΠΠΠ : ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ * ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ np.dot (), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π΄Π²Π° 2D-ΠΌΠ°ΡΡΠΈΠ²Π° NumPy.
ΠΡΡ ΠΎΠ΄:
ΠΠ΅Π»Π΅Π½ΠΈΠ΅ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π΄Π΅Π»Π΅Π½ΠΈΡ /
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎΡΠΌΡ (2,3) mat_2d = Π½ΠΏ.ΠΌΠ°ΡΡΠΈΠ² ([np.arange (0,3), np.arange (3,6)]) ## Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ print ("ΠΠ°ΡΡΠΈΡΠ°: n", mat_2d) ## ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠ°Π»ΡΡ print (Β«Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅: nΒ», mat_2d / 2)
ΠΡΡ ΠΎΠ΄:
ΠΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ½Π°Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° **
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎΡΠΌΡ (2,3) mat_2d = np.array ([np.arange (0,3), np.arange (3,6)]) ## Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ print ("ΠΠ°ΡΡΠΈΡΠ°: n", mat_2d) ## ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ i.Π΅. Π²ΠΎΠ·Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ 2 print ("ΠΠ°ΡΡΠΈΡΠ° Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ 2: n", mat_2d ** 2)
ΠΡΠ²ΠΎΠ΄:
Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅- ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ — ΡΡΠΎ Π½ΠΎΠ²Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° , ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ A ( 310 ) ΠΌΠ°ΡΡΠΈΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ (3, 2) ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ Π² ΡΠΎΡΠΌΠ΅
- Numpy ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ndarray, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ.ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ.
- matrix.T ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π² NumPy
- ΠΠΈΠΆΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΎΡΠΌΡ (2,3) mat_2d = np.array ([np.arange (0,3), np.arange (3,6)]) ## Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ print ("ΠΠ°ΡΡΠΈΡΠ°: n", mat_2d) ## Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ print ("Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ n", mat_2d.T)
ΠΡΠ²ΠΎΠ΄:
ΠΠ°ΡΠ΅Π·ΠΊΠ° ΠΌΠ°ΡΡΠΈΡΡ- Π‘Π»ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΡ.Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΠ΅Π·ΠΊΠΈ ΠΌΠ°ΡΡΠΈΡ.
- ΠΠ°ΡΠ΅Π·ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
- ΠΌΠ°ΡΡΠΈΡΠ° [Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΡΠΎΠΊΠΈ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΠΎΠ»Π±ΡΠ°, Π½ΠΎΠΌΠ΅Ρ ΡΠ°Π³Π°]
- ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ Python ΠΠ°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ: ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ
- ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° ΠΎΡ Π½Π°ΡΠ°Π»ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄ΠΎ (ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ — 1) ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π°
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np # Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ mat_2d = Π½ΠΏ.ΠΌΠ°ΡΡΠΈΠ² ([np.arange (0,3), np.arange (3,6)]) print ("ΠΠ°ΡΡΠΈΡΠ°: n", mat_2d) # ΠΠ°ΡΠ΅Π·Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠΎΡΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΌΠ°ΡΡΠΈΡΠ΅ print ("ΠΠ°ΡΠ΅Π·Π°Π½ΠΎ: n", mat_2d [1 :,:])
ΠΡΠ²ΠΎΠ΄:
- ΠΡΠ±ΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΡΠΎΠΊ 1: ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΠ±ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΡΠΎΠΊΠΈ 1 Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ
- ΠΠ½Π΄Π΅ΠΊΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΠΎΠ»Π±ΡΠΎΠ²: ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΠ±ΠΎΡ Π²ΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΡΡΡΠΎΠΊ
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np # Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ mat_2d = Π½ΠΏ.ΠΌΠ°ΡΡΠΈΠ² ([np.arange (0,3), np.arange (3,6)]) print ("ΠΠ°ΡΡΠΈΡΠ°: n", mat_2d) # Π‘ΡΠ΅Π·, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΡΠ΅ print ("ΠΠ°ΡΠ΅Π·Π°Π½Π½ΡΠΉ: n", mat_2d [:, 2:])
ΠΡΡ ΠΎΠ΄:
- ΠΡΠ±ΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΡΠΎΠΊ: ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΠ±ΠΎΡ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊ
- ΠΠ½Π΄Π΅ΠΊΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΠΎΠ»Π±ΡΠΎΠ² 2: ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΠ±ΠΎΡ Π²ΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° 2 Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np # Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ mat_2d = Π½ΠΏ.ΠΌΠ°ΡΡΠΈΠ² ([np.arange (0,4), np.arange (4,8), np.arange (8,12), np.arange (12,16)]) print ("ΠΠ°ΡΡΠΈΡΠ°: n", mat_2d) # ΠΠ°ΡΠ΅ΠΆΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ (2, 2) ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΠ΅Π½ΡΡΠ΅ mat_2d # Ρ.Π΅. # [[5 6] # [9 10]] print ("ΠΠ°ΡΠ΅Π·Π°Π½ΠΎ: n", mat_2d [1: 3, 1: 3])
ΠΡΠ²ΠΎΠ΄:
- ΠΡΠ±ΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΡΠΎΠΊ 1: 3 Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 2 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ
- ΠΡΠ±ΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΠΎΠ»Π±ΡΠΎΠ² 1: 3 Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΡΠΎΠ»Π±ΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ Ρ 1 ΠΏΠΎ 2 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ
- ΠΠ°ΡΡΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ:
- X = np.ΡΠΎΡΠΊΠ° ((ΠΈΠ½Π²Π΅ΡΡΠΈΡ A), B)
- ΠΠ΄Π΅:
- X = Π²Π΅ΠΊΡΠΎΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
- A = ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π½Π° LHS
- B = ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π½Π° RHS
- ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½ΠΈΠΆΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ:
- x + y + z = 1
2x + 4y + z = -2
x — y + z = 0 - ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΡ ΠΊΠ°ΠΊ:
- X = [xyz] Π²Π΅ΠΊΡΠΎΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
A = [[1 1 1]
[2 4 1]
[1 -1 1]]
B = [1-2 0]
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ Π²ΡΡΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ## A = (3,3) ΠΌΠ°ΡΡΠΈΡΠ° Π = np.ΠΌΠ°ΡΡΠΈΠ² ([[1,1,1], [2,4,1], [1, -1,1]]) ## B = (3,1) ΠΌΠ°ΡΡΠΈΡΠ° B = np.array ([1, -2, 0]). T ## X = Inv (A) .B = (3, 1) Π² ΡΠΎΡΠΌΠ΅ X = np.dot (np.linalg.inv (A), B) print ("Π Π΅ΡΠ΅Π½ΠΈΠ΅: n", X)
ΠΡΠ²ΠΎΠ΄:
ΠΠ΄Π΅, x = -4,5, y = 0,5 ΠΈ z = 5,0
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΡ Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ. ΠΠ°Π΄Π΅ΡΡΡ, Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π² Python.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ Python ΠΈ Π΅Π³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Python Certification Training Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΊΡΡΠ³Π»ΠΎΡΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈ ΠΏΠΎΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ.
ΠΡΡΡ ΠΊ Π½Π°ΠΌ Π²ΠΎΠΏΡΠΎΡ? ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π±Π»ΠΎΠ³Π° Β«ΠΠ°ΡΡΠΈΡΡ Π² PythonΒ», ΠΈ ΠΌΡ ΡΠ²ΡΠΆΠ΅ΠΌΡΡ Ρ Π²Π°ΠΌΠΈ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ.
Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ (scipy.sparse) — SciPy v1.6.3 Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
ΠΠ°ΠΊΠ΅Ρ SciPy 2-D ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ .
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ»Π°ΡΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ
| ΠΠ°ΡΡΠΈΡΠ° Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ² |
| Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ COOrdinate. |
| Π‘ΠΆΠ°ΡΠ°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ |
| Π‘ΠΆΠ°ΡΠ°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ |
| Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Ρ DIAgonal Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ |
| Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. |
| ΠΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° |
| ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ. |
Π€ΡΠ½ΠΊΡΠΈΠΈ
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ:
| Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ |
| ΠΠ°ΡΡΠΈΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΠΈ Π² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ |
| ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΡΠΎΠ½Π΅ΠΊΠ΅ΡΠ° ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ Π ΠΈ Π |
| ΡΡΠΌΠΌΠ° ΠΊΡΠΎΠ½Π΅ΠΊΠ΅ΡΠ° ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ A ΠΈ B |
| ΠΠΎΡΡΡΠΎΠΉΡΠ΅ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ. |
| ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. |
| ΠΠΎΡΡΡΠΎΠΉΡΠ΅ Π±Π»ΠΎΡΠ½ΠΎ-Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ. |
| ΠΠ΅ΡΠ½ΡΡΡ Π½ΠΈΠΆΠ½ΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ |
| ΠΠ΅ΡΠ½ΡΡΡ Π²Π΅ΡΡ Π½ΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ |
| ΠΠΎΡΡΡΠΎΠΈΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΡΡΠ±Π±Π»ΠΎΠΊΠΎΠ² |
| Π‘Π»ΠΎΠΆΠΈΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ (ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ) |
| Π£ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ (ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ) |
| Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΠΈ Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. |
| Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. |
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ:
| Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΠ°ΠΉΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ |
| ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ |
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ:
| ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅Π½ΡΠ»Π΅Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ |
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ:
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡ:
csc_matrix: ΡΠΆΠ°ΡΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²
csr_matrix: ΡΠΆΠ°ΡΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ
bsr_matrix: Π€ΠΎΡΠΌΠ°Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ Π±Π»ΠΎΠΊΠ°
lil_matrix: Π€ΠΎΡΠΌΠ°Ρ ΡΠΏΠΈΡΠΊΠ° ΡΠΏΠΈΡΠΊΠΎΠ²
dok_matrix: Π€ΠΎΡΠΌΠ°Ρ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ
coo_matrix: COOrdinate ΡΠΎΡΠΌΠ°Ρ (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ IJV, ΡΡΠΈΠΏΠ»Π΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ)
dia_matrix: DIA Π£Π³Π»ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
ΠΠ»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ dok_matrix ΠΈΠ»ΠΈ lil_matrix.ΠΠ»Π°ΡΡ lil_matrix ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΡ Π½Π°ΡΠ΅Π·ΠΊΡ ΠΈ ΠΏΡΠΈΡΡΠ΄Π»ΠΈΠ²ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ NumPy. ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΡΠΎΡΠΌΠ°Ρ COO ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΈΡ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ NumPy, ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NumPy ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΡΠ°Ρ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ NumPy ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΡ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ (ΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ) ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ. Π΅ΡΠ»ΠΈ ΡΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ NumPy ΠΊ ΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌ, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π΅ΡΡΡ Π»ΠΈ Π² SciPy ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ, ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ² NumPy (e.g., ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ toarray () class) ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½Π²Π΅ΡΡΠΈΡ, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΠΎΡΠΌΠ°Ρ CSC ΠΈΠ»ΠΈ CSR. Π€ΠΎΡΠΌΠ°Ρ lil_matrix: Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² CSR ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² CSC ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°ΠΊ.
ΠΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ CSR, CSC ΠΈ COO ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ.
ΠΠ°ΡΡΠΈΡΠ° Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΠΈ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ matrix dot , ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² Π΅Π³ΠΎ ΡΡΡΠΎΠΊΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
>>> ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np >>> ΠΎΡ scipy.ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ csr_matrix >>> A = csr_matrix ([[1, 2, 0], [0, 0, 3], [4, 0, 5]]) >>> v = np.array ([1, 0, -1]) >>> A.dot (v) ΠΌΠ°ΡΡΠΈΠ² ([1, -3, -1], dtype = int64)
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ NumPy 1.7, np.dot Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΠ°Ρ , ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠ»ΠΎΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:
>>> np.dot (A.toarray (), v) ΠΌΠ°ΡΡΠΈΠ² ([1, -3, -1], dtype = int64)
, Π½ΠΎ ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ.
Π€ΠΎΡΠΌΠ°Ρ CSR ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π±ΡΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ½ΡΡ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅Ρ 1
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ lil_matrix ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 1000×1000 ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ Π½Π΅ΠΌΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
>>> ΠΈΠ· scipy.sparse import lil_matrix >>> ΠΈΠ· scipy.sparse.linalg import spsolve >>> ΠΈΠ· ΠΈΠΌΠΏΠΎΡΡΠ° numpy.linalg ΡΠ΅ΡΠΈΡΡ, Π½ΠΎΡΠΌΠ° >>> ΠΈΠ· numpy.random import rand
>>> A = lil_matrix ((1000, 1000)) >>> A [0,: 100] = rand (100) >>> A [1, 100: 200] = A [0,: 100] >>> Π.setdiag (ΡΠ°Π½Π΄ (1000))
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΎΡΠΌΠ°Ρ CSR ΠΈ ΡΠ΅ΡΠΈΡΠ΅ A x = b Π΄Π»Ρ x:
>>> A = A.tocsr () >>> b = rand (1000) >>> x = spsolve (A, b)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΠΏΠ»ΠΎΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΡΠ΅ΡΠΈΡΠ΅, ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅:
>>> x_ = ΡΠ΅ΡΠΈΡΡ (A.toarray (), b)
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π½ΠΎΡΠΌΡ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
>>> ΠΎΡΠΈΠ±ΠΊΠ° = Π½ΠΎΡΠΌΠ° (Ρ -Ρ _) >>> ΡΡΡ <1e-10 ΠΡΠ°Π²Π΄Π°
ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ π
ΠΡΠΈΠΌΠ΅Ρ 2
ΠΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ COO:
>>> ΠΈΠ· scipy import sparse >>> ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠΏΠΎΡΡΠ° numpy >>> I = ΠΌΠ°ΡΡΠΈΠ² ([0,3,1,0]) >>> J = ΠΌΠ°ΡΡΠΈΠ² ([0,3,1,2]) >>> V = ΠΌΠ°ΡΡΠΈΠ² ([4,5,7,9]) >>> Π = ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠΉ.coo_matrix ((V, (I, J)), shape = (4,4))
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡΠ±Π»ΠΈΡΡΡΡΠΈΠ΅ΡΡ (i, j) Π·Π°ΠΏΠΈΡΠΈ ΡΡΠΌΠΌΠΈΡΡΡΡΡΡ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π² CSR ΠΈΠ»ΠΈ CSC.
>>> I = ΠΌΠ°ΡΡΠΈΠ² ([0,0,1,3,1,0,0]) >>> J = ΠΌΠ°ΡΡΠΈΠ² ([0,2,1,3,1,0,0]) >>> V = ΠΌΠ°ΡΡΠΈΠ² ([1,1,1,1,1,1,1]) >>> B = sparse.coo_matrix ((V, (I, J)), shape = (4,4)). Tocsr ()
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ ΠΆΠ΅ΡΡΠΊΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΠ½Π΄Π΅ΠΊΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² CSR Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ.ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ CSC ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ .sorted_indices () ΠΈ .sort_indices (), ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ).
.