كيفية تطبيع مصفوفة numpy: مع الأمثلة


تعني تسوية المصفوفة تغيير حجم القيم بحيث يكون نطاق قيم الصفوف أو الأعمدة بين 0 و1.

أسهل طريقة لتطبيع قيم مصفوفة NumPy هي استخدام وظيفة التطبيع () من حزمة sklearn، والتي تستخدم بناء الجملة الأساسي التالي:

 from sklearn. preprocessing import normalize

#normalize rows of matrix
normalize(x, axis= 1 , norm=' l1 ')

#normalize columns of matrix
normalize(x, axis= 0 , norm=' l1 ')

توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.

المثال 1: تسوية صفوف مصفوفة NumPy

لنفترض أن لدينا مصفوفة NumPy التالية:

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

يوضح التعليمة البرمجية التالية كيفية تسوية صفوف مصفوفة NumPy:

 from sklearn. preprocessing import normalize

#normalize matrix by rows
x_normed = normalize(x, axis= 1 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.33333333 0.66666667]
 [0.25 0.33333333 0.41666667]
 [0.28571429 0.33333333 0.38095238]]

لاحظ أن القيم الموجودة في كل صف تضيف الآن ما يصل إلى واحد.

  • مجموع السطر الأول: 0 + 0.33 + 0.67 = 1
  • مجموع السطر الثاني: 0.25 + 0.33 + 0.417 = 1
  • مجموع الصف الثالث: 0.2857 + 0.3333 + 0.3809 = 1

المثال 2: تسوية أعمدة مصفوفة NumPy

لنفترض أن لدينا مصفوفة NumPy التالية:

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

يوضح التعليمة البرمجية التالية كيفية تسوية صفوف مصفوفة NumPy:

 from sklearn. preprocessing import normalize

#normalize matrix by columns
x_normed = normalize(x, axis= 0 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.08333333 0.13333333]
 [0.33333333 0.33333333 0.33333333]
 [0.66666667 0.58333333 0.53333333]]

لاحظ أن القيم الموجودة في كل عمود تضيف الآن ما يصل إلى واحد.

  • مجموع العمود الأول: 0 + 0.33 + 0.67 = 1
  • مجموع العمود الثاني: 0.083 + 0.333 + 0.583 = 1
  • مجموع العمود الثالث: 0.133 + 0.333 + 0.5333 = 1

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في بايثون:

كيفية تطبيع المصفوفات في بايثون
كيفية تطبيع الأعمدة في Pandas DataFrame

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *