1
$\begingroup$

I am trying to run the sequential K means algorithm as described here on a corpus using tf-idf as a vectorized representation of my documents. I do this because I don't have access to all of my documents at once, since I am constantly receiving new data. This method should allow me to obtain clusters gradually evolving.

The thing is, the only way to compute tf-idf for a given document is to know the whole dataset in order to be able to compute the inverse frequency of a word. When a new document shows up, it is easy to compute its corresponding vector knowing all the documents we have received so far. But this new document is as well modifying the entire corpus, and should modify all the previous vectors, hence making the algorithm impossible to run.

Is there a way do some kind of approximation to keep the current values of all the previously computed vectors ?

$\endgroup$
1
  • $\begingroup$ Is it actually worth trying? How would you use the result (which would never be finished)? You need several iterations over the data set to converge, too. And did you test on a subset that 1. the results are good enough and 2. reliable enough (always good, or just sometimes)? IMHO you are trying to solve a problem that does not exist - kmeans does not work well enough on such data. $\endgroup$ Commented May 2, 2018 at 19:36

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.