<?xml version="1.0" encoding="utf-8"?><rss version="0.92">
<channel>
	<title>I say things</title>
	<link>http://fseoane.net/blog</link>
	<description>mostly about programming, machine learning and such</description>
	<lastBuildDate>Wed, 01 Feb 2012 14:34:38 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.1.2" -->

	<item>
		<title>Low rank approximation</title>
		<description><![CDATA[A little experiment to see what low rank approximation looks like. These are the best rank-k approximations (in the Frobenius norm) to the a natural image for increasing values of k and an original image of rank 512. Python code can be found here. GIF animation made using ImageMagic&#8217;s convert script.]]></description>
		<link>http://fseoane.net/blog/2011/low-rank-approximation/</link>
			</item>
	<item>
		<title>qr_multiply function in scipy.linalg</title>
		<description><![CDATA[In scipy&#8217;s development version there&#8217;s a new function closely related to the QR-decomposition of a matrix and to the least-squares solution of a linear system. What this function does is to compute the QR-decomposition of a matrix and then multiply the resulting orthogonal factor by another arbitrary matrix. In pseudocode: def qr_multiply&#40;X, Y&#41;: &#160; &#160; [...]]]></description>
		<link>http://fseoane.net/blog/2011/qr_multiply-function-in-scipy-linalg/</link>
			</item>
	<item>
		<title>scikit-learn 0.9</title>
		<description><![CDATA[Last week we released a new version of scikit-learn. The Changelog is particularly impressive, yet personally this release is important for other reasons. This will probably be my last release as a paid engineer. I&#8217;m starting a PhD next month, and although I plan to continue contributing to the project and make a few more [...]]]></description>
		<link>http://fseoane.net/blog/2011/scikit-learn-0-9/</link>
			</item>
	<item>
		<title>Reworked example gallery for scikit-learn</title>
		<description><![CDATA[I&#8217;ve been working lately in improving the scikit-learn example gallery to show also a small thumbnail of the plotted result. Here is what the gallery looks like now And the real thing should be already displayed in the development documentation. The next thing is to add a static image to those that don&#8217;t generate any [...]]]></description>
		<link>http://fseoane.net/blog/2011/reworked-example-gallery-for-scikit-learn/</link>
			</item>
	<item>
		<title>scikit-learn’s EuroScipy 2011 coding sprint &#8212; day two</title>
		<description><![CDATA[Today&#8217;s coding sprint was a bit more crowded, with some notable scipy hackers such as Ralph Gommers, Stefan van der Walt, David Cournapeau or Fernando Perez from Ipython joining in. On what got done: &#8211; We merged Jake&#8216;s new BallTree code. This is a pure Cython implementation of a nearest-neighbor search similar to the KDTree [...]]]></description>
		<link>http://fseoane.net/blog/2011/scikit-learn%e2%80%99s-euroscipy-2011-coding-sprint-day-two/</link>
			</item>
	<item>
		<title>scikit-learn&#8217;s EuroScipy 2011 coding sprint  &#8212; day one</title>
		<description><![CDATA[As a warm-up for the upcoming EuroScipy conference, some of the scikit-learn developers decided to gather and work together for a couple of days. Today was the first day and there was only a handfull of us, as the real kickoff is expected tomorrow. Some interesting coding happened, although most of us where still preparing [...]]]></description>
		<link>http://fseoane.net/blog/2011/scikit-learns-euroscipy-2011-coding-sprint-day-one/</link>
			</item>
	<item>
		<title>Ridge regression path</title>
		<description><![CDATA[Ridge coefficients for multiple values of the regularization parameter can be elegantly computed by updating the thin SVD decomposition of the design matrix: import numpy as np from scipy import linalg def ridge&#40;A, b, alphas&#41;: &#160; &#160; &#34;&#34;&#34;Return coefficients for regularized least squares &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;min &#124;&#124;A x - b&#124;&#124; [...]]]></description>
		<link>http://fseoane.net/blog/2011/ridge-regression-path/</link>
			</item>
	<item>
		<title>LLE comes in different flavours</title>
		<description><![CDATA[I haven&#8217;t worked in the manifold module since last time, yet thanks to Jake VanderPlas there are some cool features I can talk about. First of, the ARPACK backend is finally working and gives factor one speedup over the lobcpg + PyAMG approach. The key is to use ARPACK&#8217;s shift-invert mode instead of the regular [...]]]></description>
		<link>http://fseoane.net/blog/2011/lle-comes-in-different-flavours/</link>
			</item>
	<item>
		<title>Manifold learning in scikit-learn</title>
		<description><![CDATA[The manifold module in scikit-learn is slowly progressing: the locally linear embedding implementation was finally merged along with some documentation. At about the same time but in a different timezone, Jake VanderPlas began coding other manifold learning methods and back in Paris Olivier Grisel made my digits example a lot nicer by adding the embedding [...]]]></description>
		<link>http://fseoane.net/blog/2011/manifold-learning-in-scikit-learn/</link>
			</item>
	<item>
		<title>Handwritten digits and Locally Linear Embedding</title>
		<description><![CDATA[I decided to test my new Locally Linear Embedding (LLE) implementation against a real dataset. At first I didn&#8217;t think this would turn out very well, since LLE seems to be somewhat fragile, yielding largely different results for small differences in parameters such as number of neighbors or tolerance, but as it turns out, results [...]]]></description>
		<link>http://fseoane.net/blog/2011/handwritten-digits-and-locally-linear-embedding/</link>
			</item>
	<item>
		<title>Low-level routines for Support Vector Machines</title>
		<description><![CDATA[I&#8217;ve been working lately in improving the low-level API of the libsvm bindings in scikit-learn. The goal is to provide an API that encourages an efficient use of these libraries for expert users. These are methods that have lower overhead than the object-oriented interface as they are closer to the C implementation, but do not [...]]]></description>
		<link>http://fseoane.net/blog/2011/low-level-routines-for-support-vector-machines/</link>
			</item>
	<item>
		<title>new get_blas_funcs in scipy.linalg</title>
		<description><![CDATA[Today got merged some changes I made to function scipy.linalg.get_blas_funcs(). The main enhacement is that get_blas_funcs() now also accepts a single string as input parameter and a dtype, so that fetching the BLAS function for a specific type becomes more natural. For example, fetching the gemm routine for a single-precision complex number now looks like [...]]]></description>
		<link>http://fseoane.net/blog/2011/new-get_blas_funcs-in-scipy-linalg/</link>
			</item>
	<item>
		<title>Locally linear embedding and sparse eigensolvers</title>
		<description><![CDATA[I&#8217;ve been working for some time on implementing a locally linear embedding algorithm for the upcoming manifold module in scikit-learn. While several implementations of this algorithm exist in Python, as far as I know none of them is able to use a sparse eigensolver in the last step of the algorithm, falling back to dense [...]]]></description>
		<link>http://fseoane.net/blog/2011/locally-linear-embedding-and-sparse-eigensolvers/</link>
			</item>
	<item>
		<title>scikits.learn is now part of pythonxy</title>
		<description><![CDATA[The guys behind pythonxy have been kind enough to add the latest scikit-learn as an additional plugin for their distribution. Having scikit-learn being in both pythonxy and EPD will hopefully make it easier to use for Windows users. For now I will continue to make windows precompiled binaries, but pythonxy users finally have a package [...]]]></description>
		<link>http://fseoane.net/blog/2011/scikits-learn-is-now-part-of-pythonxy/</link>
			</item>
	<item>
		<title>Least squares with equality constrain</title>
		<description><![CDATA[The following algorithm computes the Least squares solution &#124;&#124; Ax &#8211; b&#124;&#124; subject to the equality constrain Bx = d. It&#8217;s a classic algorithm that can be implemented only using a QR decomposition and a least squares solver. This implementation uses numpy and scipy. It makes use of the new linalg.solve_triangular function in scipy 0.9, [...]]]></description>
		<link>http://fseoane.net/blog/2011/least-squares-with-equality-constrain/</link>
			</item>
	<item>
		<title>A profiler for Python extensions</title>
		<description><![CDATA[Profiling Python extensions has not been a pleasant experience for me, so I made my own package to do the job. Existing alternatives were either hard to use, forcing you to recompile with custom flags like gprofile or desperately slow like valgrind/callgrind. The package I&#8217;ll talk about is called YEP and is designed to be: [...]]]></description>
		<link>http://fseoane.net/blog/2011/a-profiler-for-python-extensions/</link>
			</item>
	<item>
		<title>scikit-learn coding sprint in Paris</title>
		<description><![CDATA[Yesterday was the scikit-learn coding sprint in Paris. It was great to meet with old developers (Vincent Michel) and new ones: some of whom I was already familiar with from the mailing list while others came just to say hi and get familiar with the code. It was really great to have people from such [...]]]></description>
		<link>http://fseoane.net/blog/2011/scikit-learn-coding-sprint-in-paris/</link>
			</item>
	<item>
		<title>py3k in scikit-learn</title>
		<description><![CDATA[One thing I&#8217;d really like to see done in this Friday&#8217;s scikit-learn sprint is to have full support for Python 3. There&#8217;s a branch were the hard word has been done (porting C extensions, automatic 2to3 conversion, etc.), although joblib still has some bugs and no one has attempted to do anything serious with this [...]]]></description>
		<link>http://fseoane.net/blog/2011/py3k-in-scikit-learn/</link>
			</item>
	<item>
		<title>Computing the vector norm</title>
		<description><![CDATA[Update: a fast and stable norm was added to scipy.linalg in August 2011 and will be available in scipy 0.10 Last week I discussed with Gael how we should compute the euclidean norm of a vector a using SciPy. Two approaches suggest themselves, either calling scipy.linalg.norm(a) or computing sqrt(a.T a), but as I learned later, [...]]]></description>
		<link>http://fseoane.net/blog/2011/computing-the-vector-norm/</link>
			</item>
	<item>
		<title>Smells like hacker spirit</title>
		<description><![CDATA[I was last weekend in FOSDEM presenting scikits.learn (here are the slides I used at the Data Analytics Devroom). Kudos to Olivier Grisel and all the people who organized such a fun and authentic meeting!]]></description>
		<link>http://fseoane.net/blog/2011/smells-like-hacker-spirit/</link>
			</item>
</channel>
</rss>

