J'ai donc décidé de faire du machine learning en utilisant Scikit-learn. J'ai également décidé d'utiliser matplotlib car je voulais visualiser la figure. Lorsque j'ai importé pylab pour utiliser facilement matplotlib, j'ai eu l'erreur RuntimeError: Python n'est pas installé en tant que framework, j'ai donc changé les paramètres de matplotlib et résolu le problème.
$ pip install scikit-learn
$ brew install freetype
$ sudo pip install python-dateutil
$ sudo pip install pyparsing
$ sudo pip install matplotlib
Pour installer matplotlib
Est nécessaire. Il y a beaucoup d'autres choses dont vous avez besoin. Pour plus de détails, voir Page officielle
Si vous installez freetype, la libpng dépendante sera également incluse.
Référence http://djakarta-trap.net/blog/2013/06/07/install_matplotlib/
Dans un environnement de dialogue
ipython3
import pylab
Puis
RuntimeError: Python is not installed as a framework. The
Mac OS X backend will not be able to function correctly if Python
is not installed as a framework. See the Python documentation for
more information on installing Python as a framework on Mac OS X.
Please either reinstall Python as a framework, or try one of the other
backends.
Erreur est survenue.
Tout d'abord, j'ai recherché des personnes qui avaient des problèmes avec des erreurs similaires et qui les ont résolues.
Discussion sur un projet utilisant matplotlib appelé yt http://hg.yt-project.org/yt/issue/642/cannot-import-pylab-on-os-x-using
Article de blog japonais qui a rencontré le même problème http://asahima.hatenablog.com/entry/2013/10/11/201119
Problèmes de matplotlib sur le github d'origine https://github.com/matplotlib/matplotlib/issues/2361
Apparemment, cela n'a pas été résolu même en octobre 2013.
Le backend de dessin d'image matplotlib (référence http://matplotlib.org/faq/usage_faq.html#what-is-a-backend) est "macosx" qui est rendu en utilisant l'API de Cocoa par défaut. GTK Agg et Qt4 Agg ne sont pas des backends par défaut. Bien sûr, lorsque vous utilisez Linux ou Windows, définissez un backend autre que macosx.
Le problème est que dans mon environnement, j'ai utilisé pyenv pour installer Python 3.3 dans un emplacement différent de celui d'origine sur le système OSX. Dans ce cas, il peut ne pas être possible de dessiner avec l'API de Cocoa, donc lors de l'importation de pylab, une erreur se produira au cas où.
La spécification d'un backend autre que macosx résout le problème.
Puisque vous avez installé matplotlib avec pip, vous devriez avoir un répertoire appelé ~ / .matplotlib. Créez-y un fichier appelé matplotlibrc.
~/.matplotlib/matplotlibrc
backend : TkAgg
Et spécifiez d'utiliser TkAgg comme backend.
Comment écrire la référence matplotlibrc http://matplotlib.org/users/customizing.html
J'ai exécuté le code qui visualise le résultat de sklearn dans pylab, qui est présenté dans cet article de blog http://sucrose.hatenablog.com/entry/2013/05/25/133021, dans un environnement interactif.
from sklearn.datasets import load_digits
import pylab as pl
digits = load_digits()
pl.gray()
pl.matshow(digits.images[0])
pl.show()
De cette façon, j'ai pu dessiner une belle figure même avec TkAgg.
Recommended Posts