<div dir="ltr">I don't see what about BM25, at least as presented at <a href="https://en.wikipedia.org/wiki/Okapi_BM25">https://en.wikipedia.org/wiki/Okapi_BM25</a>, should prevent using CSR operations efficiently. Show us your code.</div><div class="gmail_extra"><br><div class="gmail_quote">On 1 July 2016 at 08:23, Basil Beirouti <span dir="ltr"><<a href="mailto:basilbeirouti@gmail.com" target="_blank">basilbeirouti@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello everyone, <div><br></div><div>I have successfully created a few versions of the BM25Transformer. I looked at TFIDFTransformer for guidance and I noticed that it outputs a sparse matrix when given a sparse termcount matrix as an input. </div><div><br></div><div>Unfortunately, the fastest implementation of BM25Transformer that I have been able to come up with does NOT output a sparse matrix, it will return a regular numpy matrix. </div><div><br></div><div>Benchmarked against the entire 20newsgroups corpus, here is how they perform (assuming input is csr_matrix for all):</div><div><br></div><div>1.) finishes in 4 seconds, outputs a regular numpy matrix</div><div>2.) finishes in 30 seconds, outputs a dok_matrix</div><div>3.) finishes in 130 seconds, outputs a regular numpy matrix</div><div><br></div><div>It's worth noting that using algorithm 1 and converting the output to a sparse matrix still takes less time than 3, and takes about as long as 2. </div><div><br></div><div>So my question is, how important is it that my BM25Transformer outputs a sparse matrix? </div><div><br></div><div>I'm going to try another implementation which looks directly at the data, indices, and indptr attributes of the inputted csr_matrix. I just wanted to check in and see what people thought.</div><div><br></div><div>Sincerely,</div><div>Basil Beirouti</div></div>
<br>_______________________________________________<br>
scikit-learn mailing list<br>
<a href="mailto:scikit-learn@python.org">scikit-learn@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scikit-learn" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/scikit-learn</a><br>
<br></blockquote></div><br></div>