bootphon / pygamma-agreement

Gamma Agreement in Python
MIT License
40 stars 8 forks source link

Complete redesign of dissimilarities #27

Closed ghost closed 2 years ago

ghost commented 2 years ago

The current dissimilarity package being a bit cryptic for users of the library, this update suggests a complete redesign of the dissimilarity interface, along with a few bug fixes and optimizations.

Sidenote : simplification of categorical dissimilarities has been limited because of numba's lack of support for string types.

hadware commented 2 years ago

Absolument génial tes how-to!

Je me demandais (mais rien de nécessaire, c'est une suggestion si ça t'inspire): tu penses que ça serait possible de faire une routine de vérification qu'une dissim "user-made" est bien conforme (pour éviter que ça pète de manière totalement incompréhensible)?

ghost commented 2 years ago

Absolument génial tes how-to!

Je me demandais (mais rien de nécessaire, c'est une suggestion si ça t'inspire): tu penses que ça serait possible de faire une routine de vérification qu'une dissim "user-made" est bien conforme (pour éviter que ça pète de manière totalement incompréhensible)?

@hadware En fait ya pas vraiment de raison que ça "pète" puisque le renvoi de delta-empty si unit vide (géré en dehors de ce que l'user écrit) assure qu'il y a toujours un meilleur alignment trouvable par le solveur, donc que l'algo termine bien. Le check que la dissim est bien symmétrique et que d(u, u) = 0 serait utile effectivement. Sinon, pour checker qu'elle est un minimum positionnelle (donc qu'elle ralentit pas trop l'algo), je le laisse au bon sens de l'utilisateur, mais je ferais peut-être un commentaire là-dessus