קיבוץ נקודות נתונים

קיבוץ נקודות נתונים

קיבוץ נקודות נתונים

DataPoint, Cluster ו-ClusterCollection הם ערכת כלים קטנה, כללית למיון היררכי-אגlomerative, המשולבת עם Aspose.PDF קוד פתוח חופשי עבור Python. הם פרימיטיבים כלליים לקיבוץ נתונים — נקודת קואורדינה ותווית, קבוצה של פריטים, ואוסף של קבוצות — ולא תכונה ספציפית למסמכי PDF; מודול זה אינו קורא או כותב תוכן PDF בעצמו. השתמשו בהם כאשר הקוד שלכם צריך לקבץ ערכים מספריים (למשל, מדידות שכבר חולצו מהמסמך) לתוך אשכולות ולסכם אשכול באמצעות מרכזו.


ייצוג נקודת נתון

DataPoint משלב name מזהה עם רשימת value של קואורדינות מספריות. שניים אלו נחשפים כ-DataPoint.name ו-DataPoint.value לאחר היצירה.


בניית והעתקת אשכולות

Cluster עוטף רשימת פריטים אופציונלית לקבוצה אחת. Cluster.count מדווח כמה פריטים האשכול מכיל כרגע, Cluster.contains() בודק האם פריט נתון הוא חבר, ו-Cluster.clone() מחזיר עותק עצמאי המתבסס על רשימת הפריטים שלו. Cluster.empty() מחזיר מופע משותף, יחיד של אשכול ריק במקום להקצות חדש בכל קריאה.


קיבוץ אשכולות באוסף

ClusterCollection עוטף רשימה אופציונלית של מופעי Cluster באוסף יחיד, נותן לך אובייקט אחד להעביר כאשר פונקציה צריכה לקבל או להחזיר יותר מאשכול אחד בו זמנית.


חישוב מרכז אשכול

DataPoint.get_centroid() מחשב ממוצע של הקואורדינטים של כל נקודת נתון ב-Cluster, מיקום אחרי מיקום, ומחזיר DataPoint חדש שמייצג את המרכז. כל נקודה באשכול חייבת לשאת את אותו מספר ממדים ב-DataPoint.value כדי שהממוצע יהיה משמעותי.


טיפים ושיטות מומלצות

  • שמור שכל רשימת DataPoint.value תהיה באותו אורך בתוך אשכול — DataPoint.get_centroid() מחשבת ממוצע של הקואורדינטים מיקום אחרי מיקום, ולכן ממדים לא תואמים יוצרים מרכז מוטעה.
  • השתמש ב-Cluster.empty() עבור אשכול ריק משותף, יחיד, במקום לבנות אשכול ריק חדש כאשר אתה רק זקוק לערך מציין מקום.
  • קרא ל-Cluster.clone() לפני שינוי אשכול שאתה עדיין צריך את המקור שלו במקומות אחרים — השיבוט מעתיק את רשימת הפריטים במקום ליצור אליאס.
  • פנה ל-ClusterCollection כאשר פונקציה צריכה לקבל או להחזיר יותר מ-Cluster אחד כערך יחיד.
  • המחלקות האלו הן כלי שימוש כלליים, אינן תכונת ניתוח PDF — יש לשלב אותן עם ההיגיון שלכם ליצירת ערכי DataPoint מנתוני המסמך.

בעיות נפוצות

בעיהסיבהתיקון
DataPoint.get_centroid() מייצר centroid עם מספר ערכים בלתי צפוילנקודות הנתונים בצבר יש רשימות DataPoint.value באורכים שוניםודא שכל DataPoint שנוסף ל-Cluster הוא באותו ממד
Cluster.contains() מחזיר False עבור ערך שאתה מצפה שהוא קייםההשתייכות נבדקת מול עצמי הפריטים השמורים ישירות, ולכן שני מופעי DataPoint שנבנו בנפרד עם אותו שם וערך אינם מטופלים אוטומטית כשווים בחיפושים מבוססי זהותהשתמש מחדש באותו מופע של DataPoint, או השווה לפי DataPoint.name ו-DataPoint.value לפני שאתה מניח חברות
שינוי אשכול משוכפל משנה גם את המקוריCluster.clone() הושמט וההתייחסות ל-Cluster נשתפה במקום להעתקהקרא ל-Cluster.clone() תחילה בכל פעם שהקורא זקוק להעתק עצמאי

FAQ

מה ההבדל בין Cluster ל-ClusterCollection?

Cluster מכילה רשימת פריטים — בדרך כלל מופעי DataPoint — השייכים לקבוצה אחת. ClusterCollection מכילה רשימת עצמים Cluster: היא מאגדת אשכולות יחד, לא נקודות נתונים בודדות.

האם DataPoint.get_centroid() משנה את האשכול שניתן לו?

לא. הוא קורא את הפריטים שכבר נמצאים ב-Cluster שסופק ומחזיר DataPoint חדש עבור המרכז; אשכול המקור והפריטים שלו נותרים ללא שינוי.

האם פונקציונליות האשכולות הזו ספציפית לתוכן PDF?

מס’ DataPoint, Cluster ו-ClusterCollection הם פרימיטיבים כלליים לקיבוץ מספרי המגיעים בתוך החבילה aspose_pdf. הם אינם קוראים דפים, טקסט או כל מבנה PDF אחר בעצמם — הם פועלים אך ורק על הערכים שאתה בונה איתם.

מדוע Cluster.empty() מחזיר את אותו המופע בכל פעם?

Cluster.empty() מחזיר singleton משותף כדי שקראות חוזרות עבור “no cluster” לא יקצו אובייקט חדש בכל קריאה.


API Reference סיכום

מחלקה/מתודהתיאור
DataPointנקודה בשם המחזיקה ברשימת קואורדינטות מספריות
DataPoint.nameשם המזהה של הנקודה
DataPoint.valueרשימת הקואורדינטות המספריות של הנקודה
DataPoint.get_centroid()מחזיר DataPoint חדש הממוצע את הקואורדינטות של כל נקודה באשכול
Clusterקבוצה של פריטים, בדרך-כלל מופעים של DataPoint
Cluster.empty()מחזיר את האשכול הריק המשותף singleton
Cluster.contains()בודק אם פריט נמצא באשכול
Cluster.clone()מחזיר עותק עצמאי של האשכול
Cluster.countמספר הפריטים הנוכחי באשכול
ClusterCollectionעוטף רשימת מופעי Cluster באוסף אחד

ראה גם

 עברית