Menu
CoddyTech
flag Ar iconالعربيةdown icon

مقاطع التسوق

جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 48 من 51.

يعرف متجر نباتات عبر الإنترنت عملاءه الـ240 فقط من خلال سلوكهم: عدد الطلبات في السنة، وحجم السلة، ونسبة المشتريات المخفّضة، وعدد الأيام منذ آخر طلب.

عملاء متجر النباتات الـ240 كنقاط رمادية، عدد الطلبات في السنة أفقيًا ومتوسط قيمة السلة باليورو رأسيًا، من دون تسميات: شريط كثيف عند قيم السلة المنخفضة ومجموعة صغيرة كثيرة الإنفاق قرب أعلى اليسار

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

لنجعل طريقتين تتفقان على k: تقترحها شجرة الأحياء، ويتحقق منها المخطط الظلي بمقارنتها بالأحياء المجاورة. ثم اقرأ كل مقطع بوحدات حقيقية.

challenge icon

التحدي

صعب

يقرأ البرنامج موضع قطع الشجرة؛ ويُعِدّ القالب المبدئي مخططًا بعنوان.

  1. قم بتحجيم الميزات واقطع شجرة Ward عند ذلك الموضع. اطبع عدد المجموعات الناتجة.
  2. اطبع قيمة silhouette لخوارزمية k-means (3 منازل عشرية) لـ k ولكل قيمة مجاورة، ثم أفضل قيمة لـ k.
  3. أعِد الملاءمة باستخدامها في plants["segment"]. رتّب من الأكبر أولًا، وامنح كل مجموعة حرفًا واطبع متوسطاتها بوحداتها الفعلية؛ ثم حدّد المجموعة التي مرّ أطول وقت على آخر طلب لها.
  4. اعرض مخططًا مبعثرًا لكل مجموعة مع تسمية حرفها؛ أضف وسيلة الإيضاح، ثم اعرض المخطط.

لمتجر آخر، اقطع عند 8:

Tree cut at 8.0: 3 segments
Silhouette at k = 2: 0.573
Silhouette at k = 3: 0.675
Silhouette at k = 4: 0.630
Best k: 3
A (70): 8.6 orders a year, 29 EUR baskets, 15% on sale, last order 23 days ago
B (50): 3.1 orders a year, 22 EUR baskets, 60% on sale, last order 53 days ago
C (30): 1.8 orders a year, 89 EUR baskets, 10% on sale, last order 148 days ago
Win-back email: segment C

مجموعات متجر آخر بعنوان شرائح متجر النباتات: A، 70 عميلًا لديهم من 5 إلى 14 طلبًا سنويًا، B، 50 لديهم طلبات قليلة وسلال صغيرة، C، 30 لديهم طلبات قليلة وسلال كبيرة قرب الأعلى، مع وسيلة إيضاح

ثم يصف Coddy متجرك.

جرّب بنفسك

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
from scipy.cluster.hierarchy import linkage, fcluster

# صف واحد لكل عميل في متجر النباتات
plants = pd.read_csv("plants.csv")
features = ["orders_per_year", "avg_basket_eur", "sale_share_pct", "days_since_order"]

# الارتفاع الذي يقطع عنده صاحب المتجر شجرة التصنيف، كما يُقرأ من مخططها الشجري (3 شرائح أو أكثر)
cut = float(input())

fig, ax = plt.subplots()
ax.set_title("Plant Shop Segments")
ax.set_xlabel("Orders per year")
ax.set_ylabel("Average basket (EUR)")

# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التعلّم غير الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت