logo

كيفية إنشاء ناقل في بايثون باستخدام NumPy

في هذا البرنامج التعليمي، سوف نتعلم كيف يمكننا إنشاء متجه باستخدام مكتبة Numpy. سوف نستكشف أيضًا العمليات الأساسية للمتجهات، مثل إجراء جمع متجهين، وطرح متجهين، وتقسيم متجهين، وضرب متجهين، وحاصل الضرب النقطي المتجه، وحاصل الضرب العددي المتجه.

المعالجة المتوازية

ما هو المتجهات؟

يُعرف المتجه بمصفوفة ذات بعد واحد. في بايثون ، المتجه هو ذات بعد واحد مجموعة من القوائم وتتصرف بنفس طريقة قائمة بايثون. وفقا لجوجل، يمثل المتجه الاتجاه وكذلك الحجم؛ خاصة أنه يحدد موضع نقطة واحدة في الفضاء بالنسبة إلى أخرى.

تعتبر المتجهات مهمة جدًا في التعلم الآلي لأنها تتمتع بميزات الحجم وكذلك الاتجاه. دعونا نفهم كيف يمكننا إنشاء المتجه في بايثون.

إنشاء ناقل في بايثون

توفر وحدة Python Numpy numpy.array() طريقة الذي ينشئ مصفوفة ذات بعد واحد، أي متجه. يمكن أن يكون المتجه أفقيًا أو رأسيًا.

بناء الجملة:

 np.array(list) 

تقبل الطريقة المذكورة أعلاه القائمة كوسيطة وتقوم بإرجاع numpy.ndarray.

دعونا نفهم المثال التالي -

مثال - 1: المتجه الأفقي

 # Importing numpy import numpy as np # creating list list1 = [10, 20, 30, 40, 50] # Creating 1-D Horizontal Array vtr = np.array(list1) vtr = np.array(list1) print('We create a vector from a list:') print(vtr) 

انتاج:

 We create a vector from a list: [10 20 30 40 50] 

مثال - 2: المتجه العمودي

 # Importing numpy import numpy as np # defining list list1 = [[12], [40], [6], [10]] # Creating 1-D Vertical Array vtr = np.array(list1) vtr = np.array(list1) print('We create a vector from a list:') print(vtr) 

انتاج:

 We create a vector from a list: [[12] [40] [ 6] [10]] 

التشغيل الأساسي لمتجه بايثون

بعد إنشاء المتجه، سنقوم الآن بإجراء العمليات الحسابية على المتجهات.

فيما يلي قائمة بالعمليات الأساسية التي يمكننا تنفيذها في المتجهات.

  • علم الحساب
  • الطرح
  • عمليه الضرب
  • قسم
  • المنتج نقطة
  • الضرب العددي

إضافة اثنين من المتجهات

في إضافة المتجه، يتم ذلك بطريقة عنصرية، مما يعني أن الإضافة ستحدث عنصرًا بعد عنصر وسيكون الطول هو نفس طول المتجهين الإضافيين.

بناء الجملة:

 vector + vector 

دعونا نفهم المثال التالي.

مثال -

 import numpy as np list1 = [10,20,30,40,50] list2 = [11,12,13,14,15] vtr1 = np.array(list1) vtr2= np.array(list2) print('We create vector from a list 1:') print(vtr1) print('We create vector from a list 2:') print(vtr2) vctr_add = vctr1+vctr2 print('Addition of two vectors: ',vtr_add) 

انتاج:

 We create vector from a list 1: [10 20 30 40 50] We create vector from a list 2: [11 12 13 14 15] Addition of two vectors: [21 32 43 54 65] 

طرح اثنين من المتجهات

يؤدي الطرح نفس عملية الجمع، فهو يتبع النهج المتبع في العناصر وسيتم طرح عناصر المتجه 2 من المتجه 1. دعونا نفهم المثال التالي.

ج# يحتوي على سلسلة

مثال -

 import numpy as np list1 = [10,20,30,40,50] list2 = [5,2,4,3,1] vtr1 = np.array(list1) vtr2= np.array(list2) print('We create vector from a list 1:') print(vtr1) print('We create a vector from a list 2:') print(vtr2) vtr_sub = vtr1-vtr2 print('Subtraction of two vectors: ',vtr_sub) 

انتاج:

 We create vector from a list 1: [10 20 30 40 50] We create vector from a list 2: [5 2 4 3 1] Subtraction of two vectors: [5 18 26 37 49] 

ضرب اثنين من المتجهات

يتم ضرب عناصر المتجه 1 في المتجه 2 وإرجاع المتجهات ذات الطول نفسه مثل المتجهات المضاعفة. دعونا نفهم المثال التالي.

مثال -

 import numpy as np list1 = [10,20,30,40,50] list2 = [5,2,4,3,1] vtr1 = np.array(list1) vtr2= np.array(list2) print('We create vector from a list 1:') print(vtr1) print('We create a vector from a list 2:') print(vtr2) vtr_mul = vtr1*vtr2 print('Multiplication of two vectors: ',vtr_mul) 

انتاج:

 We create vector from a list 1: [10 20 30 40 50] We create vector from a list 2: [5 2 4 3 1] Multiplication of two vectors: [ 50 40 120 120 50] 

يتم تنفيذ الضرب على النحو التالي.

 vct[0] = x[0] * y[0] vct[1] = x[1] * y[1] 

يتم ضرب العنصر الأول من المتجه 1 في العنصر الأول 2 من المتجه المقابل، وهكذا.

عملية تقسيم ناقلين

في عملية القسمة، يحتوي المتجه الناتج على قيمة حاصل القسمة التي يتم الحصول عليها من تقسيم عنصرين متجهين.

دعونا نفهم المثال التالي.

مثال -

 import numpy as np list1 = [10,20,30,40,50] list2 = [5,2,4,3,1] vtr1 = np.array(list1) vtr2= np.array(list2) print('We create vector from a list 1:') print(vtr1) print('We create a vector from a list 2:') print(vtr2) vtr_div = vtr1/vtr2 print('Division of two vectors: ',vtr_div) 

انتاج:

 We create vector from a list 1: [10 20 30 40 50] We create vector from a list 2: [5 2 4 3 1] Division of two vectors: [ 2. 10. 7.5 13.33333333 50. ] 

كما نرى في الناتج أعلاه، أعادت عملية القسمة قيمة حاصل قسمة العناصر.

منتج نقطة المتجهات

يتم تنفيذ المنتج النقطي المتجه بين متجهين متسلسلين بنفس الطول ويعيد منتج النقطة المفردة. سوف نستخدم .نقطة() طريقة تنفيذ المنتج النقطي. وسوف يحدث على النحو التالي.

 vector c = x . y = (x1 * y1 + x2 * y2) 

دعونا نفهم المثال التالي.

مثال -

 import numpy as np list1 = [10,20,30,40,50] list2 = [5,2,4,3,1] vtr1 = np.array(list1) vtr2= np.array(list2) print('We create vector from a list 1:') print(vtr1) print('We create a vector from a list 2:') print(vtr2) vtr_product = vtr1.dot(vtr2) print('Dot product of two vectors: ',vtr_product) 

انتاج:

string.format سلسلة جافا
 We create vector from a list 1: [10 20 30 40 50] We create vector from a list 2: [5 2 4 3 1] Dot product of two vectors: 380 

الضرب العددي المتجه

في عملية الضرب العددية؛ نحن نضرب العددية في كل مكون من مكونات المتجه. دعونا نفهم المثال التالي.

مثال -

 import numpy as np list1 = [10,20,30,40,50] vtr1 = np.array(list1) scalar_value = 5 print('We create vector from a list 1:') print(vtr1) # printing scalar value print('Scalar Value : ' + str(scalar_value)) vtr_scalar = vtr1 * scalar_value print('Multiplication of two vectors: ',vtr_scalar) 

انتاج:

 We create vector from a list 1: [10 20 30 40 50] Scalar Value : 5 Multiplication of two vectors: [ 50 100 150 200 250] 

في الكود أعلاه، القيمة العددية مضروبة في كل عنصر من عناصر المتجه بطريقة s * v = (s * v1، s * v2، s * v3).