enter image description here

I have gone through many algorithms including streaming k-means, CluStream etc and they all have their pros and cons. What is the best performing algorithm in terms of

  1. Computational Complexity
  2. Memory Requirement
  3. Quality of Clusters
  4. can handle non-static, uncertain data stream

Algorithms needs to be online i.e working on a streaming dataset rather than a static dataset

  • $\begingroup$ Welcome to CS.SE! I can't understand your question. What exactly are you trying to do with the data? It doesn't make sense to ask "what is the best streaming algorithm?", as there are many streaming algorithms for many different tasks, and you can't select an algorithm until you know what problem you're trying to solve -- i.e., what you're trying to compute from the data. $\endgroup$ – D.W. Jul 28 '17 at 17:02
  • $\begingroup$ Also, it seems unreasonable to expect that there will be a single algorithm that is simultaneously "best" on all four dimensions. Rather than asking for "best", you should state your requirements or what problem you're trying to solve. (See also meta.stackexchange.com/q/142353/160917, meta.stackexchange.com/q/214215/160917, meta.stackexchange.com/q/142353/160917.) I don't know what you mean by "non-static, uncertain data", either. $\endgroup$ – D.W. Jul 28 '17 at 17:18
  • $\begingroup$ @D.W. lets say im trying capturing a data stream on ATM transactions and cluster it into two clusters, legitimate and fraud. The algorithm should be able to learn online and reflect the trend of recent data. non-static means the center of distribution on one cluster might shift over time, uncertain means data comes like 5±0.2 (not exactly 5. there is some uncertainty associated with the data $\endgroup$ – Niruhan Viswarupan Jul 31 '17 at 4:38
  • $\begingroup$ Please edit the question to clarify what you are asking; it can be considered for re-opening once it has been edited. $\endgroup$ – D.W. Jul 31 '17 at 6:08