تلعب مقاييس المسافة دورًا مهمًا في التعلم الآلي فهي توفر الأساس للعديد من خوارزميات التعلم الآلي الشائعة والفعالة مثل خوارزمية أقرب جار للتعلم الخاضع للإشراف وتجميع المتوسطات k-means للتعلم غير الخاضع للإشراف.
مسافة هامنع Hamming Distance
تقوم هذه الخوارزمية بحساب المسافة بين أشعة ثنائية القيمة، وتستخدم بكثرة في مشفرات one-hot لترميز الأعمدة التي تحوي أصناف categorical values.
على سبيل المثال، اذا كان لدينا عمود يحوي القيم أحمر, أخضر وأزرق, يتم ترميز هذه القيم بأشعة ثنائية كمايلي:
أحمر = [1,0,0]
أخضر = [0,1,0]
أزرق = [0,0,1]
المسافة بين الأحمر والأخضر يمكن حسابها بجمع الشعاعين او اخذ المتوسط لهما.
يمكن في بايثون حساب المسافة بين شعاعين ثنائيين كمايلي:
# calculate hamming distance def hamming_distance(a, b): return sum(abs(e1 - e2) for e1, e2 in zip(a, b)) / len(a) # define data row1 = [0, 0, 0, 0, 0, 1] row2 = [0, 0, 0, 0, 1, 0] # calculate distance dist = hamming_distance(row1, row2) print(dist)