Comments (5)
Changed to complete linkage clustering instead of single linkage. This should stop the above from happening, but a more general solution is still needed.
https://en.wikipedia.org/wiki/Single-linkage_clustering
https://en.wikipedia.org/wiki/Complete-linkage_clustering
from zhenya_bot.
With complete-linkage we can still have two pre-existing clusters joined together right? It just requires a stricter match between the two?
from zhenya_bot.
I don't think we will see something like the above. If we have the two clusters:
a, a_, a_c
b, b_, b_c
And then the nick c gets added, I think we would be more likely to see the two existing clusters broken apart like so:
a, a_
b, b_
c, a_c, b_c
from zhenya_bot.
Seems like that fixes this issue, but opens up other problems with our clustering algorithm.
Since nick clusters represent a single identity, it doesn't really make sense for a new cluster to be formed with the pieces of others. Assuming the current clusters are correct (every nick is clustered into the cluster representing the correct identity), then all new aliases should either be grouped with a previously existing cluster, or form a group of their own.
My suggestion is that any new clustering algorithm obey this invariant:
- After clustering, every cluster group must be a superset of its previous iteration.
Assuming that any clustering algorithm has some likelihood of clustering incorrectly, I think this would allow for the most ease of use (as it would only require the rearrangement of a single nick). What we've got now could cause any number of distortions to the group clusters, per nick introduction, depending upon similarities between groups.
from zhenya_bot.
Closing this issue because the original premise is solve. Opening a new issue for improving the algorithm #22 .
from zhenya_bot.
Related Issues (20)
- Idea for manual/help component HOT 1
- A guide for making your own component HOT 1
- !alias: nonexistent aliases are shown to be in their own cluster HOT 4
- Twitter Component
- Pongs are getting rate limited
- An Onion Component
- Rhyming Component HOT 1
- Substitution Component HOT 1
- Haiku Component
- Dictionary Service HOT 2
- Hang in sed component
- Substitution component doesn't allow escaping forward slashes HOT 1
- !define component failing to capitalize queries HOT 1
- Selectiveness for Reboot/Op Components HOT 1
- Support for super users HOT 5
- Reputation HOT 10
- Stalker component queries aren't being rate limited HOT 2
- Summarize Component HOT 1
- buttbot component HOT 1
- Trailing grep flags disconnect the bot
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zhenya_bot.