Skip to content

tglkmeans 0.6.3

Latest

Choose a tag to compare

@aviezerl aviezerl released this 31 May 00:28
5e1c0b0

tglkmeans 0.6.3

  • Fix: metric = "spearman" ignored missing values. Ranking tested the wrong
    missing-value sentinel, so NAs were ranked as the largest value and included
    in the rank correlation instead of being dropped. Spearman now excludes missing
    values pairwise, matching euclid/pearson. Clustering results for Spearman on
    data with NAs change (and are now correct); results on complete data are
    unchanged.
  • Fix: predict_tgl_kmeans() with metric = "euclid" used a plain Euclidean
    distance, which disagreed with the training metric sqrt(sum_sq) / n when a
    cluster center had a missing dimension. Prediction now reproduces the training
    distance exactly. Predictions on data whose centers have no missing dimensions
    are unchanged.
  • Performance: removed the dense k x n per-thread vote matrix in the
    reassignment step. Memory and per-iteration work no longer scale with the
    number of clusters; cluster assignments are unchanged.
  • Performance: metric = "spearman" no longer computes a discarded p-value on
    every point-to-center comparison, and uses a contiguous sort buffer instead
    of a linked list. Results are unchanged.
  • Performance: predict_tgl_kmeans() uses smaller internal chunks, cutting
    redundant distance/correlation computation on large inputs. Results are
    unchanged.
  • Fix: hclust_intra_clusters = TRUE returned a scrambled within-cluster
    ordering. The order/intra_clust_order columns now follow the hclust
    dendrogram leaf order as documented.
  • Removed unused internal code (reduce_coclust/reduce_num_trials and dead
    rank-sum / incomplete-beta helpers).

tglkmeans 0.6.2

  • Fix: predict_tgl_kmeans() crashed with 'from' contains NAs / NAs introduced by coercion to integer range on inputs of ~46K rows or more. The one-shot as.matrix(tgs_dist(.)) overflowed integer indexing inside stats:::as.matrix.dist. The prediction now processes observations in chunks (#21).

tglkmeans 0.6.1

  • Added predict_tgl_kmeans() function to assign new observations to existing k-means cluster centers (#5).
  • Exported match_clusters() and test_clustering() functions.
  • Auto-detect character/factor first column as ID column.
  • Parallelized k-means initialization.
  • Fix: Pearson distance was not negated, causing incorrect cluster assignments when using metric = "pearson".
  • Fix: memory leak in k-means core.
  • Fix: k-means seeding crash when k is large relative to data size.
  • Fix: race condition in parallel workers.
  • Fix: package failed to load on machines where detectCores() returns NA.
  • Fix: downsample_matrix used identical random seed for all columns.
  • Removed plyr dependency. Moved ggplot2 from Imports to Suggests.