Release of SKADA

Skada v0.4.0

This update brings significant enhancements and new features:

  1. New Shallow Methods: MongeAlignment and JCPOT

  2. New Deep Methods: CAN, MCC, MDD, SPA, SourceOnly, and TargetOnly models.

  3. Scorers: Introduced MixValScorer and improved scorer compatibility with deep models.

  4. Subsampling Transformers: Added StratifiedDomainSubsampler and DomainSubsampler.

  5. Deep Models: Enhanced batch handling, fixed predict_proba, stabilized MDD loss, and fixed Deep Coral.

  6. Docs & Design: Added a contributor guide, new logo, and documentation updates.

What's Changed

  • Update README.md with zenodo badge by @rflamary in PR #216

  • [MRG] Add multi-domain Monge alignment and JCPOT Target shift method by @rflamary in PR #180

  • [MRG] Add a parameter base_criterion to deep models by @tgnassou in PR #217

  • [MRG] Add new scorer: MixValScorer by @YanisLalou in PR #221

  • [MRG] Fix mixval by @antoinecollas in PR #222

  • [MRG] Fix batch issue when generating features + add sample_weight in deep models by @YanisLalou in PR #220

  • [MRG] Allow model selection cv to handle nd inputs by @YanisLalou in PR #225

  • [MRG] In DEV, reshape features to 2D instead of input by @YanisLalou in PR #226

  • [MRG] Add utilities functions to the doc by @antoinecollas in PR #227

  • Add new logo! by @tgnassou in PR #223

  • Fix ImportanceWeightedScorer compatibility with deep learning models by @YanisLalou in PR #232

  • [MRG] fix param for Deepjdot by @tgnassou in PR #234

  • [MRG] Add SourceOnly and TargetOnly models by @tgnassou in PR #233

  • [MRG] Fix docstring for the regulariation parameter of DA loss by @tgnassou in PR #230

  • [MRG] Fix order of feature acquisition for deep module by @tgnassou in PR #235

  • [MRG] Add recentering in DeepCoral by @tgnassou in PR #242

  • [MRG] Add DomainOnlySampler and DomainOnlyDataloader for SourceOnly ou TargetOnly deep methods by @tgnassou in PR #243

  • [MRG] Modify sampler to take the max of the two domains by @tgnassou in PR #241

  • Fix: Dev scorer wasn't working with SourceOnly and TargetOnly by @YanisLalou in PR #244

  • [MRG] Fix deep coral by @antoinecollas in PR #246

  • [MRG] Harmonize fixtures by @antoinecollas in PR #248

  • [MRG] Bug fix when None in make_da_pipeline by @antoinecollas in PR #256

  • [MRG] Handle edge case Mixvalscorer by @YanisLalou in PR #257

  • [MRG] Add CAN Method by @YanisLalou in PR #251

  • [MRG] Uncomment MMDTarSReweightAdapter tests by @YanisLalou in PR #260

  • [MRG] Enhancements to DomainAwareNet and Scorers to handle allow_source arg by @YanisLalou in PR #258

  • [MRG] Subsampling transformer by @rflamary in PR #259

  • [MRG] Add MCC method by @tgnassou in PR #250

  • [MRG] Fix callback issue in CAN by @YanisLalou in PR #265

  • [MRG] fix predict_proba for deep method by @tgnassou in PR #247

  • Batchnormfix2 by @antoinedemathelin in PR #266

  • [MRG] Handle scalar sample domain by @antoinecollas in PR #267

  • [MRG] Add DomainAndLabelStratifiedSubsampleTransformer + Fix DomainStratifiedSubsampleTransformer by @YanisLalou in PR #268

  • [MRG] Check if sample_domain have only unique domains indexes in check_*_domain by @apmellot in PR #261

  • [MRG] Add epsilon in MCC to prevent log(0) by @YanisLalou in PR #270

  • [MRG] Handle edge case for DAN by @YanisLalou in PR #271

  • [MRG] Handle edge cases for CAN by @YanisLalou in PR #269

  • [MRG] Add MDD method by @ambroiseodt in PR #263

  • [MRG] Fix dissimilarities computations of Deep CAN by @antoinecollas in PR #274

  • [MRG] Remove redundant centroid computation in spherical k-means by @YanisLalou in PR #275

  • [MRG] Fix mdd loss by @antoinecollas in PR #277

  • [MRG] Apply label smoothing to stabilize MDD by @antoinecollas in PR #279

  • [MRG] do not try to complete when X_source is empty by @antoinecollas in PR #280

  • [MRG] Add SPA method by @tgnassou in PR #276

  • [MRG] Add contributor guide by @tgnassou in PR #282

Full Changelog: https://github.com/scikit-adaptation/skada/compare/0.3.0...0.4.0