קיבוץ נקודות נתונים
קיבוץ נקודות נתונים
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 באוסף אחד |