النماذج التجميعية
جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 17 من 51.
تملأ السيارات موقفَي سيارات، ويمتد صف من السيارات على الطريق بينهما. طريقتان للتجميع في عنقودين:
تُجري scikit-learn عملية الدمج. حدِّد متى تتوقف باستخدام n_clusters:
from sklearn.cluster import AgglomerativeClustering
model = AgglomerativeClustering(n_clusters=2, linkage="ward")
labels = model.fit_predict(X)يحدد linkage مدى تباعد مجموعتين:
"ward"، وهو الافتراضي: يُبقي المجموعات متماسكة"complete": أبعد زوج بينهما"average": متوسط جميع الأزواج"single": أقرب زوج بينهما
تتبع طريقة Single السلاسل: هنا يضم الطريق كلا موقفي السيارات. أما Ward فتُشكّل مجموعات متساوية.
التحدي
متوسطتنمو الفراولة البرية في ثلاث رقع، بالإضافة إلى بضع نباتات على طول مسار. أي طريقة ربط تحدد الرقع؟ يحتوي plants على مواقعها.
- لكل طريقة ربط في
linkages، اجمع النباتات في 3 مجموعات. - اطبع أحجام المجموعات كقائمة، بدءًا بالأكبر.
- عندما تضم أكبر مجموعة أكثر من نصف النباتات، أضف
chained.
لأرض مرجية أخرى:
ward: [40, 38, 31]
complete: [41, 37, 31]
average: [41, 37, 31]
single: [86, 22, 1] chainedجرّب بنفسك
import numpy as np
import pandas as pd
from sklearn.cluster import AgglomerativeClustering
# مواقع نمو 109 نباتات من الفراولة البرية في مرج (بالأمتار): ثلاث بقع ومسار
rng = np.random.default_rng(4)
plants = np.round(np.concatenate([
rng.normal([2, 3], 0.8, size=(40, 2)),
rng.normal([9, 4], 1.0, size=(35, 2)),
rng.normal([6, 10], 0.9, size=(25, 2)),
np.column_stack([np.linspace(3, 8, 9), np.linspace(3.2, 4, 9)]) + rng.normal(0, 0.15, size=(9, 2)),
]), 2)
linkages = ["ward", "complete", "average", "single"]
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم غير الخاضع للإشراف
1اكتشاف المجموعات
التعلّم دون تسمياتقياس التشابهتنفيذ K-Means يدويًااستخدام K-Means في scikit-learnمراجعة: أعضاء النادي الرياضيتدرّب بنفسك: مترجم Python عبر الإنترنت