قياس التشابه
جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 2 من 51.
في خوارزمية k-NN، كان المقصود بالأقرب هو الأصغر مسافةً. للعثور على المجموعات، تحتاج إلى ذلك لكل زوج من الصفوف: جدول المسافات. قيّم أربعة أصدقاء فيلمين، من 1 إلى 10:
ratings = np.array([[9, 2], [8, 3], [2, 9], [3, 7]]) # Ana, Ben, Cy, Dee
n = len(ratings)
table = np.zeros((n, n))
for i in range(n):
table[i] = np.sqrt(((ratings - ratings[i]) ** 2).sum(axis=1))يحتوي الصف i على مسافة الصديق i إلى الجميع. إليك table مرسومًا على شكل شبكة:
تجاهل القطر الذي يحتوي على 0، فكل صديق يقابل نفسه. أصغر رقم متبقٍ يمثل الزوج الأكثر تشابهًا، وأكبر رقم يمثل الأكثر اختلافًا. المسافة الصغيرة تعني صفوفًا متشابهة.
التحدي
سهليضيف بار العصائر مشروب السموذي الجديد للطاهي، الذي يقرأه البرنامج، إلى قائمته. أي مشروبين متشابهان جدًا بحيث يمكن الاستغناء عن أحدهما؟ وأي مشروبين هما الأكثر اختلافًا، لتقديمهما ضمن تشكيلة تذوق؟
- أنشئ جدول المسافات لـ
menu. - اعثر على الزوج الأكثر تشابهًا والزوج الأكثر اختلافًا: اذكر كل زوج مرة واحدة، ولا تقارن أي مشروب بنفسه.
- اطبع الزوجين، مع ترتيب الاسمين حسب ظهورهما في القائمة، والمسافات بدقة منزلة عشرية واحدة.
لقائمة أخرى:
Most alike: Lemon Zing and Lime Twist (14.1 g apart)
Most different: Choco Shake and Cucumber Cool (212.6 g apart)جرّب بنفسك
import numpy as np
names = ["Berry Blast", "Green Glow", "Mango Lassi", "Kale Kick", "Tropical Sun", "Banana Oat", "Minty Melon"]
# صف واحد لكل مشروب سموذي، بالغرامات لكل كوب: فواكه، خضراوات ورقية، زبادي
menu = np.array([[180, 0, 120],
[90, 110, 60],
[160, 0, 150],
[60, 150, 30],
[200, 20, 40],
[100, 0, 200],
[170, 40, 0]])
# تُضاف وصفة الطاهي الجديدة إلى القائمة في الصف الأخير
names.append(input())
new = [int(input()), int(input()), int(input())]
menu = np.concatenate([menu, [new]])
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم غير الخاضع للإشراف
1اكتشاف المجموعات
التعلّم دون تسمياتقياس التشابهتنفيذ K-Means يدويًااستخدام K-Means في scikit-learnمراجعة: أعضاء النادي الرياضيتدرّب بنفسك: مترجم Python عبر الإنترنت