Veri Noktalarını Kümeleme

Veri Noktalarını Kümeleme

Veri Noktalarını Kümeleme

DataPoint, Cluster ve ClusterCollection, Aspose.PDF FOSS ile birlikte Python için paketlenmiş küçük, genel amaçlı hierarchical-agglomerative-clustering araç takımıdır. Bunlar, koordinat ve etiket noktasını, bir öğe grubunu ve grup koleksiyonunu içeren genel veri-gruplama ilkelerdir — PDF’ye özgü bir belge özelliği değildir; bu modülde PDF içeriği okunmaz veya yazılmaz. Kendi kodunuzun sayısal değerleri (örneğin, bir belgelerden zaten çıkardığınız ölçümler) kümelere gruplaması ve bir kümeyi merkez noktasıyla özetlemesi gerektiğinde bunları kullanın.


Bir Veri Noktasını Temsil Etme

DataPoint, tanımlayıcı bir name ile sayısal koordinatların bir value listesi eşleştirir. İkisi de oluşturulduktan sonra DataPoint.name ve DataPoint.value olarak sunulur.


Kümeleri Oluşturma ve Kopyalama

Cluster, isteğe bağlı bir öğe listesini tek bir gruba sarar. Cluster.count, kümenin şu anda kaç öğe tuttuğunu rapor eder, Cluster.contains(), verilen bir öğenin üye olup olmadığını kontrol eder ve Cluster.clone(), kendi öğe listesiyle desteklenen bağımsız bir kopya döndürür. Cluster.empty(), her çağrıda yeni bir tane ayırmak yerine paylaşılan, tek örnekli empty-cluster örneğini döndürür.


Kümeleri Bir Koleksiyonda Gruplama

ClusterCollection, isteğe bağlı bir Cluster örnekleri listesini tek bir koleksiyonda sarar, bir fonksiyonun aynı anda birden fazla küme kabul etmesi veya döndürmesi gerektiğinde dolaştırabileceğiniz tek bir nesne sağlar.


Küme Merkezinin Hesaplanması

DataPoint.get_centroid(), bir Cluster içindeki her veri noktasının koordinatlarını konum konum ortalar ve merkez noktayı temsil eden yeni bir DataPoint döndürür. Ortalamanın anlamlı olması için kümedeki her nokta DataPoint.value içinde aynı sayıda boyuta sahip olmalıdır.


İpuçları ve En İyi Uygulamalar

  • Bir küme içinde her DataPoint.value listesinin aynı uzunlukta olmasını sağlayın — DataPoint.get_centroid(), koordinatları konum konum ortalar, bu yüzden boyut uyumsuzlukları yanıltıcı bir merkez nokta üretir.
  • Sadece bir yer tutucu değere ihtiyacınız olduğunda yeni bir boş küme oluşturmak yerine, paylaşımlı, tekil boş küme için Cluster.empty() kullanın.
  • Bir kümenin orijinaline başka bir yerde hâlâ ihtiyacınız olacaksa, onu değiştirmeden önce Cluster.clone() çağırın — kopyalama, öğe listesini aliaslamaktan ziyade kopyalar.
  • Bir fonksiyonun tek bir değer olarak birden fazla Cluster kabul etmesi veya döndürmesi gerektiğinde ClusterCollection kullanın.
  • Bu sınıflar genel yardımcı programlardır, PDF ayrıştırma özelliği değildir — belge verilerinden DataPoint değerlerini üretmek için kendi mantığınızla eşleştirin.

Sık Karşılaşılan Sorunlar

SorunNedenDüzeltme
DataPoint.get_centroid() beklenmeyen sayıda değer içeren bir centroid üretirKümedeki veri noktalarının DataPoint.value listeleri farklı uzunluklardaHer bir DataPoint‘in bir Cluster‘e eklenirken aynı boyutluluğa sahip olduğundan emin olun
Cluster.contains(), mevcut olmasını beklediğiniz bir değer için False döndürürÜyelik, depolanmış öğe nesnelerine doğrudan karşılaştırılarak kontrol edilir, bu nedenle aynı ada ve değere sahip iki ayrı şekilde oluşturulmuş DataPoint örneği, kimlik tabanlı aramalarda otomatik olarak eşit kabul edilmezÜyeliği varsaymadan önce aynı DataPoint örneğini yeniden kullanın veya DataPoint.name ve DataPoint.value ile karşılaştırın
Klonlanmış bir kümeyi değiştirmek aynı zamanda orijinali de değiştirirCluster.clone() atlandı ve aynı Cluster referansı kopyalanmak yerine paylaşıldıBir çağıranın bağımsız bir kopyaya ihtiyacı olduğunda önce Cluster.clone() çağırın

FAQ

Cluster ve ClusterCollection arasındaki fark nedir?

Cluster, bir gruba ait öğelerin — genellikle DataPoint örnekleri — bir listesini tutar. ClusterCollection, Cluster nesnelerinin bir listesini tutar: bireysel veri noktalarını değil, kümeleri bir arada gruplar.

DataPoint.get_centroid() verilen kümeyi değiştirir mi?

Hayır. Sağlanan Cluster içindeki mevcut öğeleri okur ve merkez nokta için yeni bir DataPoint döndürür; kaynak küme ve öğeleri değişmeden kalır.

Bu kümeleme işlevselliği PDF içeriğine özgü mü?

No. DataPoint, Cluster ve ClusterCollection genel sayısal kümeleme ilkelerdir ve aspose_pdf paketinin içinde gönderilir. Kendileri sayfaları, metni veya başka bir PDF yapısını okumaz — sadece sizin oluşturduğunuz değerler üzerinde çalışırlar.

Cluster.empty() neden her seferinde aynı örneği döndürür?

Cluster.empty(), “no cluster” için yinelenen çağrılarda her seferinde yeni bir nesne tahsis edilmemesi amacıyla paylaşılan bir singleton döndürür.


API Reference Özeti

Sınıf/YöntemAçıklama
DataPointSayısal koordinatların bir listesini tutan adlandırılmış bir nokta
DataPoint.nameNoktanın tanımlayıcı adı
DataPoint.valueNoktanın sayısal koordinat listesi
DataPoint.get_centroid()Kümedeki her noktanın koordinatlarını ortalayan yeni bir DataPoint döndürür
ClusterGenellikle DataPoint örneklerinden oluşan bir öğe grubu
Cluster.empty()Paylaşılan empty-cluster tek örneğini döndürür
Cluster.contains()Bir öğenin kümede olup olmadığını kontrol eder
Cluster.clone()Kümenin bağımsız bir kopyasını döndürür
Cluster.countKümede şu anda bulunan öğe sayısı
ClusterCollectionBir koleksiyon içinde Cluster örneklerinin bir listesini sarar

Ayrıca Bakınız

 Türkçe