The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
kamila 0.2.0
- CRAN Milestone Release: Version 0.2.0 is the
official CRAN release consolidating all major enhancements, C++ engine
optimizations, algorithmic speedups, bug fixes, and infrastructure
improvements developed across versions 0.1.3 and 0.1.4 since the last
CRAN release (0.1.2).
kamila 0.1.4
Added
- CRAN Release News (
NEWS.md): Added
structured NEWS.md file adhering to CRAN release notes
standards and newsmd guidelines.
- End-to-End C++ Iteration Engine
(
kamilaLoopCpp): Implemented the core while
convergence loop in C++ with pre-allocated scratch buffers
(distMat, minDist, catLogLiks,
allLogLiks, membOld, membNew),
achieving near-zero heap memory allocations in the iteration loop (#49,
#61).
- Native C++ Linear Binning & Gaussian
Convolution: Integrated fast \(O(N)\) histogram accumulation and discrete
Gaussian convolution directly in C++, removing the dependency on calling
R’s
KernSmooth::bkde inside the loop (#49, #61).
- \(O(N)\) Quantile Selection
& Cache-Coherent Streaming: Replaced \(O(N \log N)\) sorting with
std::nth_element for exact type-7 quantile bandwidth
determination, inlined distance/minDist calculations, and implemented
contiguous column-streaming for categorical lookups, demonstrating
statistically significant performance superiority across Small, Medium,
and Large datasets (#49, #61).
- Interactive Horse-Race Web App (WebR / Shinylive):
Built and deployed a zero-install interactive benchmark web app running
client-side via Shinylive and WebAssembly (#62, #64).
- Statistical Superiority Testing Framework: Added
automated benchmarking and performance regression testing suite
(
inst/benchmarks/run_superiority_benchmark.R) with CI
verification workflow (#63).
Changed
- CRAN Compliance & Cleanup: Updated
.Rbuildignore to ignore non-package root files and fixed
inherits(fac, "factor") in
R/misc_functions.R.
- Documentation & Badges: Added CRAN version
badge, GPL-3 license badge, quick installation guide, and reproducible
quick-start clustering example to
README.md.
kamila 0.1.3
Added
- Restored Progress Indicator with Non-Dismissible
Notification: Restored the original floating
withProgress / incProgress notification
indicator for benchmark runs, configured with hidden close button
styling
(.shiny-notification-close { display: none !important; })
to maintain full progress visibility during execution.
- Standardized Multi-Start Benchmark Runs:
Standardized all compared clustering methods in the interactive Shiny
benchmark dashboard (
inst/shiny/horserace/app.R) to use 5
random initialization starts (numInit = 5,
nstart = 5, nrep = 5, nbKeep = 5)
for fair computational and performance comparisons.
- Fast C++ Prediction Strength: Re-implemented
prediction strength evaluation in C++ (
calcPsCpp via Rcpp)
with \(O(N + K^2)\) algorithmic
complexity, replacing previous \(O(N^2)\) pairwise operations (#12,
#42).
- Parallel Prediction Strength: Added multi-core
parallel processing support for prediction strength cross-validation
runs using
numCores parameter in kamila()
(#46).
- Non-Mixed Data Validation: Added explicit error
validation and informative messaging when non-mixed data
(continuous-only or categorical-only) are passed to mixed-data
clustering functions (#19).
- Prediction Strength Documentation: Comprehensive
vignettes, usage examples, and documentation on interpreting prediction
strength for cluster number selection (#15, #40).
- Modern CI/CD Pipelines: Replaced AppVeyor with
GitHub Actions workflows for multi-OS R CMD check, Codecov coverage
tracking, and automated linting.
- 100% Test Coverage & Regression Tests: Added
unit tests and snapshot regression tests achieving 100% test coverage
across R and C++ codebases (#26, #32, #42, #46).
Fixed
- Unseen Categorical Levels in Prediction:
classifyKamila() now checks test categorical factors
against training levels, throwing an informative error identifying
column names and unseen levels (#16, #36).
- Factor Level Ordering Alignment:
classifyKamila() re-aligns test factor levels to match
training factor ordering to prevent incorrect index mapping in
conditional probability tables (#16, #36).
- Radial KDE Density at Origin: Resolved mathematical
division-by-zero boundary issue where distance 0 produced infinite
log-likelihood (
-Inf) (#9, #43).
- NA / NaN Input Validation: Added strict input
validation for missing and invalid values across all exported functions
(
kamila(), gmsClust(),
classifyKamila(), dummyCodeFactorDf(),
genMixedData()) (#3, #39).
- Modha-Spangler Degenerate Cases: Added explicit
error handling in
gmsClust() for degenerate cluster
assignments and division-by-zero objective calculations (#7, #38).
- Single-Column Subsetting: Added
drop = FALSE in prediction strength subsetting routines to
avoid dimensionality loss on single-column factor dataframes (#14,
#30).
- Linter Compliance: Resolved all 651+ lintr issues
and enforced clean styling.
kamila 0.1.2
Fixed
- Fixed dimension dropping during data frame column subsetting by
adding
drop = FALSE (#20).
Changed
- Updated package metadata, maintainer information, and paper
citations in
DESCRIPTION.
kamila 0.1.1.4
Changed
- Updated data frame construction for R 4.0.0 compatibility (handling
default
stringsAsFactors = FALSE).
kamila 0.1.1.3
Changed
- Updated random number generator test seeds for consistency and
reproducibility with R 3.6.0.
kamila 0.1.1.2
Added
Fixed
- Fixed namespace importation for
quantile from
stats.
- Removed stale build artifacts (
src/symbols.rds).
kamila 0.1.1.1
Added
- Initial CRAN release candidate preparation.
- Core KAMILA (KA-means for MIXed LArge data sets) algorithm
implementation (
kamila()).
- Modha-Spangler clustering algorithm (
gmsClust()).
- High-performance C++ backend routines with Rcpp
(
dptmCpp(), wkmeans()).
- Mixed-type synthetic dataset generator
(
genMixedData()).
- Cluster classification for new observations
(
classifyKamila()).
- Prediction strength cluster validation method.
- Full roxygen2 documentation and unit tests.
- GPL-3 license.
kamila 0.1.0
Added
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.