#author("2023-08-08T01:11:47+00:00","default:ibisforest","ibisforest")
* python [#wa401fa1]

#contents

----

//ここには %項目の説明を書いてください.よろしければ署名しておいてください.

オブジェクト指向のスクリプト言語.[[numpy>python/numpy]] など数値演算ライブラリがあって,数値計算にも使える.数値計算関連は [[numpy>python/numpy]] を参照のこと.

> -- しましま

** 関連項目 [#xec5be2d]

-[[numpy>python/numpy]]
-[[Freeware]]
-[[機械学習#Freeware]]
#br
-[[検索:python]]

** リンク集 [#hfebeed9]

NumPy / SciPy 関連の資料は [[NumPyの項目>python/numpy]] にあります.

*** python一般 [#s5f738ae]

-[[python.org>http://www.python.org/]]:公式サイト
--[[Wiki>http://wiki.python.org/]]
--[[Package Index>http://pypi.python.org/pypi]]
-iOS用Python環境
--[[Computable>http://computableapp.com/]]
--[[Python for iOS>http://pythonforios.com/]]
--[[Python Math>http://sabonrai.com/bs/]]
--[[PyPad>http://users.on.net/~jon.dowdall/pypad/]]
--[[Pythonista>http://omz-software.com/pythonista/]]

英語資料
-[[Python Course>http://www.python-course.eu/]]:Python のいろいろなトピックについての講義を集めたサイト
-[[Python Quick Reference>http://rgruet.free.fr/]] @ Richard Gruet ([[旧版 日本語訳>http://psyto.s26.xrea.com/python/]])
-[[Google's Python Class>http://code.google.com/intl/ja/edu/languages/google-python-class/index.html]]
-[[OLamp.com -- Python Dev Center>http://www.onlamp.com/python/]]:O'Reillyのpython関連ニュース
-[[Python Miro Community>http://python.mirocommunity.org/]]:チュートリアル講演ビデオのポータル
-[[Wikipedia:Python_(programming_language)]]
-[[Python tools that everyone should know about @ Reddit>https://www.reddit.com/r/datascience/comments/7u4c05/python_tools_that_everyone_should_know_about/]]

日本語資料
-[[Python Japan UG>http://www.python.jp/]]:日本のユーザグループ
-[[PythonMatrixJp>http://python.matrix.jp/]]
-[[配列操作の比較表>http://0xcc.net/blog/archives/000043.html]],[[文字列操作の比較表>http://0xcc.net/blog/archives/000137.html]] @ bkブログ
-[[魅力的な Python: mechanize と Beautiful Soup を使って Web データの収集を簡単に行う>http://www.ibm.com/developerworks/jp/linux/library/l-python-mechanize-beautiful-soup/]] @ IBM developerWorks
-[[pythonで心理実験>http://www.s12600.net/psy/python/index.html]]
-[[Wikipeida.jp:Python]]

*** 開発環境 [#vece378d]
- [[IntegratedDevelopmentEnvironments@python.org>http://wiki.python.org/moin/IntegratedDevelopmentEnvironments]]
#br
- [[PyDev>http://pydev.org/]]:Eclipseプラグイン
- [[ERIC>http://eric-ide.python-projects.org/]]
- [[Ninja-IDE>http://ninja-ide.org/]]
- [[Spyder>http://packages.python.org/spyder/]]
- [[pyscripter>http://code.google.com/p/pyscripter/]]
- [[pycharm>http://www.jetbrains.com/pycharm/]]:十分使える無料版もある

*** クラウド実行環境 [#k9986555]

- [[iMath Cloud>http://www.imathresearch.com/imathcloud.html]]
- [[IPython Notebook on Azure>http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-python-ipython-notebook/]]:MSのクラウドAzure上のipython notebook
- [[NotebookCloud>https://notebookcloud.appspot.com/docs]]:Amazon EC2上のipython notebook
- [[PythonAnywhere>https://www.pythonanywhere.com/]]:Python重視のクラウド
- [[SageMathCloud>https://cloud.sagemath.com/]]:ワシントン大が運営
- [[StarCluster>http://star.mit.edu/cluster/]]:AWS EC2上に環境を作るソフト
- [[Wakari.IO>https://wakari.io/]]:iPython notebookをクラウド上で使える

** 機械学習系ライブラリ [#if6117a7]

*** レポジトリ [#s577d397]

-[[mloss:Python]]:機械学習ソフトレポジトリ (pythonタグ)
-[[Mathematical and Scientific Processing in Python>http://vermeulen.ca/python-math.html]]:数値計算や数学関連のpythonパッケージリンク集
-[[Python recipes @ ActiveState Code>http://code.activestate.com/recipes/langs/python/]]:python のレシピ集

*** 数値計算 [#s9940ba0]

- NumPy / SciPy 関連ライブラリ
-- 数値計算用の numpy/scipy については [[numpy>python/numpy]] を参照のこと
-- [[bottleneck>http://pypi.python.org/pypi/Bottleneck]]:NaN 扱うsumなど,いくつかのnumpy関連関数の高速版
-- [[numexpr>https://github.com/pydata/numexpr]]:行列の要素ごとの演算をまとめて実行して高速化
-[[sympy>http://code.google.com/p/sympy/]]:数式処理
-[[SAGE>http://www.sagemath.org/]]:数値計算統合環境
-- [[気軽に使える数式処理システムSage>http://www.jssac.org/Editor/Suushiki/V18/V182.html]] 数式処理, vol.18, no.2 (2012)

-[[abess>https://github.com/abess-team/abess]]:部分集合の高速選択
-[[Blaze>http://continuum.io/developer-resources.html]]:Numpy を大規模データに適用できるよう拡張
-[[Divisi2>http://csc.media.mit.edu/docs/divisi2/]]:疎行列特異値分解
-[[GMPY>http://gmpy.sourceforge.net/]]:任意精度演算 [[libgmp>http://gmplib.org/]] 用API
-[[mpmath>http://code.google.com/p/mpmath/]]:任意精度演算
-[[PAIDA>http://paida.sourceforge.net/]]:科学分析
-[[petsc4py>http://code.google.com/p/petsc4py/]]:数値計算ライブラリPETScのPythonラッパー
-[[pygsl>http://pygsl.sourceforge.net/]]:GNU Scientific Libraryのpythonラッパー
-[[Pysparse>http://pysparse.sourceforge.net/]]:疎行列演算用
-[[quaternionarray>https://github.com/zonca/quaternionarray]]:四元数の配列
-[[slepc4py>http://code.google.com/p/slepc4py/]]:大規模固有値問題ライブラリ [[SLEPc>http://www.grycap.upv.es/slepc/]] 用のラッパー

*** 最適化・方程式ソルバー [#b3a45855]

-[[Tensorflow>https://www.tensorflow.org/]]:自動微分・最適化
-[[cvxopt>http://cvxopt.org/]]:凸二次最適化など最適化一般

-[[APGL>http://packages.python.org/apgl/]]:グラフ系のアルゴリズム
-[[BayesOpt>https://bitbucket.org/rmcantin/bayesopt]]:ベイズ最適化,非線形最適化やバンディット
-[[Coopr>https://software.sandia.gov/trac/coopr]]:数理計画の Pyomo と確率的計画の PySP
-[[em-python>http://code.google.com/p/em-python/]]:EMアルゴリズム
-[[FEniCS>http://fenicsproject.org/]]:偏微分方程式
-[[FiPy>http://www.ctcms.nist.gov/fipy/]]:偏微分方程式
-[[kmpfit>http://www.astro.rug.nl/software/kapteyn/kmpfit.html]]:MPFITを用いた最小二乗法
-[[Maximum Entropy Modeling Toolkit for Python and C++>http://homepages.inf.ed.ac.uk/s0450736/maxent_toolkit.html]]:最大エントロピー,準Newton法
-[[minfx>http://gna.org/projects/minfx/]]:非線形数値最適化
-[[nlpy>http://nlpy.sourceforge.net/index.html]]:線形計画・非線形計画を含む最適化
-[[OpenOpt>http://openopt.org/]]:線形計画などの最適化
-[[pulp>http://pythonhosted.org/PuLP/]]:線形計画,整数計画
-[[PyClaw>http://numerics.kaust.edu.sa/pyclaw/]]:偏微分方程式のソルバーClawpackのラッパー
-[[pycoast>https://pypi.python.org/pypi/pycosat]]:SATソルバー
-[[pyFM>https://github.com/coreylynch/pyFM]]:factorization machine
-[[PyMinuit2>http://code.google.com/p/pyminuit2/]]:数値計算ライブラリ ROOT を用いた非線形数値最適化
-[[pymanopt>https://pymanopt.github.io/]]:多様体上の最適化
-[[pyomo>http://www.optimization-online.org/DB_HTML/2008/09/2095.html]]:Python Optimization Modeling Objects
-[[pyOpt>http://www.pyopt.org]]:非線形最適化
-[[PySAL>http://code.google.com/p/pysal/]]:空間分析
-[[sfepy>http://code.google.com/p/sfepy/]]:偏微分方程式

*** 機械学習・統計 (総合) [#mad73a36]

-[[scikit-learn>http://scikit-learn.sourceforge.net/]]:基本的な機械学習・多変量解析
--[[External Resources, Videos and Talks>http://scikit-learn.org/stable/presentations.html]]
--[[Olivier Grisel @ Speaker Deck>https://speakerdeck.com/ogrisel]]: Olivier Grisel さんのスライド
--[[MLxtend>https://github.com/rasbt/mlxtend]]:拡張ユーティリティ
--[[Ramp>https://github.com/kvh/ramp]]:pandas/scikit-learn/rpy2 を用いた機械学習処理のプロトタイピング
--[[statmodels>http://statsmodels.sourceforge.net/]]:統計系の予測・検定手法,Rのような文字列による関数指定が使える
--[[scikit-survival>https://github.com/sebp/scikit-survival]]:生存分析
--[[scikit-optimize>https://scikit-optimize.github.io/]]:ベイズ最適化など最適化しにくい関数の最適化
--[[ベンチマーク>https://github.com/pydata/vbench]]
-[[Orange>http://www.ailab.si/orange/]]:統合データマイニングツール.GUIで操作
-[[Shogun>http://www.shogun-toolbox.org/]]:[[SVM]]を中心とする機械学習環境

-[[augustus>https://code.google.com/p/augustus/]]:PMMLで記述したモデルの作成
-[[Bob>http://idiap.github.com/bob/]]:信号処理・基本的なあてはめ-[[Elephant>http://elefant.developer.nicta.com.au/]]:カーネル系の方法中心
-[[mdp (Modular toolkit for Data Processing)>http://mdp-toolkit.sourceforge.net/]]:独立成分分析など
-[[Milk>http://luispedro.org/software/milk]]:libsvmのラッパ
-[[mlpy (machine learning py)>http://mlpy.sourceforge.net/]]
-[[Monte - machine learning in Python>http://montepython.sourceforge.net/]]:勾配降下法で最適化するモデルの学習
-[[Oger>http://organic.elis.ugent.be/oger]]:モジュール化した機械学習の実行環境.いくつかのアルゴリズムは実装済み.
-[[pigpy>http://code.google.com/p/pigpy/]]:Hadoop上のデータ分析プラットフォーム [[Apache Pig>http://pig.apache.org/]] を制御する
-[[PyBrain>http://www.pybrain.org/pages/home]]:ニューラルネット系と強化学習に強い
-[[PyML>http://pyml.sourceforge.net/]]:Python machine learning package ([[SVM]], 再近傍法, リッジ回帰)
-[[PyMVPA>http://www.pymvpa.org/]]:基本的な機械学習・多変量解析
-[[PyVowpal>https://github.com/shilad/PyVowpal]]:オンライン最適化を使った高速学習ライブラリ [[Vowpal Wabbit>http://hunch.net/~vw/]] のラッパー
-[[Statsmodels>http://statsmodels.sourceforge.net/]]:統計系の予測モデル
//-[[scikits.statsmodels>http://statsmodels.sourceforge.net/]]:統計系の予測モデル
-[[yaplf (Yet Another Python Learning Framework>http://mloss.org/revision/view/437/]]:パーセプトロン, 多層パーセプトロン, [[SVM]]

*** 機械学習 (個別) [#qc135bf0]

深層学習
-[[Keras>https://keras.io/ja/]]
--[[Distributed Keras>http://joerihermans.com/work/distributed-keras/]]
-[[PyTroch>http://pytorch.org/]]

ベイズ推定
-[[pyMC>https://github.com/pymc-devs/pymc]]:[[MCMC]]でベイズ推定
--[[pyMC tutorial>https://github.com/fonnesbeck/pymc_tutorial]] by Chris Fonnesbeck
--[[Probabilistic Programming and Bayesian Methods for Hackers>http://nbviewer.ipython.org/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Prologue/Prologue.ipynb]]
-[[PyStan>https://pystan.readthedocs.org/en/latest/index.html]]:MCMCによるベイズ推定

-[[Infer.py>https://github.com/zaxtax/infer.py]]:変分ベイズによるベイズ推論
-[[OpenBayes>http://www.openbayes.org/]]:ベイジアンネット
-[[pebl>http://github.com/abhik/pebl]]:ベイジアンネットの構造推定
-[[pybayes>http://code.google.com/p/pybayes/]]:ベイジアンネット
-[[PyGPs>http://mloss.org/software/view/509/]]:ガウス過程

機械学習の説明
-[[AIX360>http://aix360.mybluemix.net/]]:機械学習の説明アルゴリズムのライブラリ
-[[ELI5>https://eli5.readthedocs.io/en/latest/]]:機械学習結果の可視化
-[[LIME>https://github.com/marcotcr/lime]]:LIMEアルゴリズム
-[[MLxtend>http://rasbt.github.io/mlxtend/]]:機械学習結果の可視化
-[[yellowbrick>https://www.scikit-yb.org/en/latest/quickstart.html]]:機械学習結果の可視化

-[[apricot>https://github.com/jmschrei/apricot]]:代表的な標本をサブモジュラ最適化で選択
-[[BayesPy>http://bayespy.org]]:ベイズの変分推論
-[[Bolt>http://github.com/pprett/bolt]]:確率的勾配降下法を用いた回帰やSVM
-[[Causal Discovery Toolbox>https://github.com/FenTechSolutions/CausalDiscoveryToolbox]]:因果推論
-[[Cornac>https://github.com/PreferredAI/cornac]]:マルチモーダル推薦システム
-[[Crab>https://github.com/marcelcaraciolo/crab]]:協調フィルタリング
-[[emcee>http://dan.iel.fm/emcee/current/]]:マルコフ連鎖モンテカルロ
-[[FATE>https://fate.fedai.org/]]:連合学習
-[[ffnet>http://ffnet.sourceforge.net/]]:多層パーセプトロン
-[[Gambit>http://econweb.tamu.edu/gambit/]]:ゲーム理論
-[[GluonTS>https://gluon-ts.mxnet.io/]]:時系列ニューラルネット
-[[Kymatio>https://github.com/kymatio/kymatio]]:ウェーブレット散乱
-[[libcluster>https://github.com/dsteinberg/libcluster]]:ベイズ・ノンパラメトリックベイズ系のクラスタリング手法
-[[liblinear2scipy>http://public.procoders.net/liblinear2scipy/src/dist/]]:高速SVM [[LIBLINEAR>http://www.csie.ntu.edu.tw/~cjlin/liblinear/]] のラッパ
-[[liblinear>http://www.csie.ntu.edu.tw/~cjlin/liblinear/]]:SVMなどの線形モデル,pythonブリッジが同梱されている
-[[libsvm>http://www.csie.ntu.edu.tw/~cjlin/libsvm/]]:pythonブリッジが同梱されている
-[[lifelines>http://lifelines.readthedocs.io/]]:生存分析
-[[LogPy>https://github.com/logpy/logpy]]:論理プログラミング
-[[Mrec>https://github.com/mendeley/mrec]]:推薦システム.Mendley謹製
-[[mvlearn>https://github.com/mvlearn/mvlearn]]:多視点学習
-[[NeuroTools>http://neuralensemble.org/trac/NeuroTools]]:ニューラルネット
-[[Nimfa>http://nimfa.biolab.si/]]:行列分解
-[[nolearn>https://github.com/dnouri/nolearn]]:ニューラルネットワークのライブラリLasagneのラッパー
-[[ONLamp.com -- Building Decision Trees in Python>http://www.onlamp.com/pub/a/python/2006/02/09/ai_decision_trees.html]]:決定木
-[[Peach>http://code.google.com/p/peach/]]:ニューラルネット, ファジィ論理, 遺伝的アルゴリズム
-[[patsy>http://patsy.readthedocs.org/en/latest/index.html]]:統計モデルの記述
-[[Prophet>https://facebook.github.io/prophet/]]:時系列予測
-[[pyDML>https://github.com/jlsuarezdiaz/pyDML]]:距離学習
-[[pyevolve>http://code.google.com/p/pyevolve/]]:遺伝的アルゴリズム
-[[PyFlux>http://www.pyflux.com/]]:自己回帰・状態空間モデルによる時系列分析
-[[PyG>https://github.com/pyg-team]]:グラフ,GNN
-[[PyGP>http://pygp.sourceforge.net/]]:遺伝的プログラミング
-[[pyhtk>http://www.e-gymraeg.org/wispr/pyhtk.htm]]:隠れMarkovモデルツールキット [[HTK>http://htk.eng.cam.ac.uk/]] のラッパ
-[[pymaBandits>http://mloss.org/software/view/415/]]
-[[PyMF>http://code.google.com/p/pymf]]:行列分解
-[[PyMLNs>http://www9-old.in.tum.de/people/jain/mlns/]]:Markov論理ネット
-[[PyNN>http://neuralensemble.org/trac/PyNN]]:ニューラルネット
-[[PyOD>https://github.com/yzhao062/pyod]]:はずれ値検出・異常値検出
-[[Python-ELM>https://github.com/dclambert/Python-ELM]]:[[Extreme Learning Machine>http://www.extreme-learning-machines.org/]]
-[[python-recsys>https://github.com/ocelma/python-recsys]]:特異値分解による推薦システム
-[[pyts>https://github.com/johannfaouzi/pyts#pyts-a-python-package-for-time-series-classification]]:時系列分類
-[[PyWavelets>http://wavelets.scipy.org/]]:ウェーブレット
-[[Reverend>http://sourceforge.net/projects/reverend/]]:ベイズ識別
-[[River>https://riverml.xyz/latest/]]:データストリーム
-[[RLPy>http://rlpy.readthedocs.org/]]:強化学習
-[[sciket-network>https://github.com/sknetwork-team/scikit-network]]:ネットワーク分析
-[[Shapely>http://pypi.python.org/pypi/Shapely]]:計算幾何
-[[sklvq>https://github.com/rickvanveen/sklvq]]:ベクトル量子化
-[[SnapPy>http://www.math.uic.edu/t3m/SnapPy/]]:位相幾何と多様体の学習用
-[[surprise>http://surpriselib.com/]]:推薦システム(近傍法,行列分解)
-[[SVM python>http://www.cs.cornell.edu/~tomf/svmpython/]]:[[SVM light>http://svmlight.joachims.org/]]のラッパ
-[[SOM Python>http://www.paraschopra.com/sourcecode/SOM/index.php]]:自己組織化マップ
-[[tntorch>https://github.com/rballester/tntorch]]:PyTorch上のTensor Network
-[[Tslearn>https://github.com/tslearn-team/tslearn]]:時系列

*** 可視化 [#ze04f42d]

-[[Matplotlib>http://matplotlib.sourceforge.net/]]:2次元プロット
--[[チートシート>https://github.com/matplotlib/cheatsheets]]
--[[basemap>http://pypi.python.org/pypi/basemap/]]:地図
--[[Matplotlib Style Gallery>https://github.com/tonysyu/matplotlib-style-gallery]]
--[[prettyplotlib>http://olgabot.github.io/prettyplotlib/]]:表示スタイルの改良
--[[Seaborn>http://www.stanford.edu/~mwaskom/software/seaborn/]]:表示スタイルの改良
-[[Bokeh>http://continuum.io/developer-resources.html]]:HTML5 Canvasによる表示
-[[Plotly>https://plot.ly/python/]]:SVG/d3jsによる表示

-[[Gruffy>http://www.hexacosa.net/documents/gruffy/ja/]]:Python用グラフ作成モジュール
-[[igraph>http://cneurocvs.rmki.kfki.hu/igraph/]]:グラフの処理.python のラッパあり
-[[Mayavi>http://mayavi.sourceforge.net/]]:3次元可視化
-[[mpdd3>http://mpld3.github.io/]]:SVG/d3jsによる表示
-[[ParaView>http://www.paraview.org/]]:3次元可視化
-[[pydot>http://dkbza.org/pydot/pydot.html]]:[[Graphviz>http://www.graphviz.org/]] 用API
-[[pygraphviz>https://networkx.lanl.gov/wiki/pygraphviz]]:[[Graphviz>http://www.graphviz.org/]] 用API
-[[python-ggplot>http://ggplot.yhathq.com/]]:R で著名な ggplot のpython版
-[[PyX (Python graphics package)>http://pyx.sourceforge.net/]]:LaTeXのpicture環境風の記述でPS/PDFを生成
-[[VPython>http://vpython.org/]]:3次元データ表示
-[[Visualization Toolkit (VTK)>http://public.kitware.com/VTK/]] ([[Using VTK Through Python>http://www.imaging.robarts.ca/~dgobbi/vtk/vtkpython.html]]):3次元可視化
-[[SVGMath>http://sourceforge.net/projects/svgmath]]:MathMLをSVGへ変換
-[[svgplotlib>http://code.google.com/p/svgplotlib/]]:Python用SVG出力ライブラリ
-[[Vincent>http://vincent.readthedocs.org/en/latest/]]:可視化言語Vegaを経由してd3jsで表示
-[[Vispy>http://vispy.org/]]:OpenGLで対話的な可視化

*** 応用系 [#me2ae3e8]

-[[pandas>http://pandas.sourceforge.net/index.html]]:データフレーム操作
--[[pandas-profiling>https://github.com/pandas-profiling/pandas-profiling]]:データフレームの要約統計量をまとめて表示
--[[geopandas>http://geopandas.org/]]:地理空間情報表示
--[[modin>https://modin.readthedocs.io/]]:高速化
--[[qgrid>https://github.com/quantopian/qgrid]]:IPython内でデータフレームを対話的に操作
--[[Statistical Data Analysis in Python>https://github.com/fonnesbeck/statistical-analysis-python-tutorial]] by Chris Fonnesbeck

-[[ctypes-opencv>http://pypi.python.org/pypi/ctypes-opencv/]]:画像処理ライブラリOpenCVのラッパ
-[[Feature Forge>https://github.com/machinalis/featureforge]]:特徴量の管理
-[[GADMM>http://jmlr.org/papers/v21/19-718.html]]:機械学習用の分散フレームワーク
-[[Gensim>http://nlp.fi.muni.cz/projekty/gensim/]]:情報検索のベクトル空間モデルの処理,トピックモデル
-[[IEPY>https://github.com/machinalis/iepy]]:情報抽出
-[[Natural Language Toolkit (NLTK)>http://nltk.org/]]:自然言語処理
-[[Nilearn>https://github.com/nilearn/nilearn]]:脳科学用のイメージング
-[[NetworkX>http://networkx.lanl.gov/]]:グラフやネットワーク
-[[Pattern>http://www.clips.ua.ac.be/pages/pattern]]:Webマイニング
-[[PIL (Python Imaging Library)>http://www.pythonware.com/products/pil/]]:画像データ処理
-[[Polars>https://github.com/pola-rs/polars]]:データフレーム操作
-[[PyCV>http://pycv.sharkdolphin.com/]]:OpenCVへのラッパ.顔認識,ブーステイング
-[[pyeuclid>http://code.google.com/p/pyeuclid/]]:ゲーム・グラフィックス用 2次元-3次元変換
-[[pygame>http://www.pygame.org/]]:ゲーム用演算・グラフィックス
-[[python-graph>http://code.google.com/p/python-graph/]]:グラフ
-[[PyLucene>http://lucene.apache.org/pylucene/]]:オープンソース検索エンジン Lucene のpython API
-[[pynopticon>http://code.google.com/p/pynopticon/]]:bag of featuresによる物体認識
-[[PyVision - Computer Vision Toolkit>http://pyvision.sourceforge.net/PyVision/Welcome.html]]:OpenCV や SciPy の上位モジュール
-[[scikits.audiolab>http://pypi.python.org/pypi/scikits.audiolab/]]:音声データ処理
-[[scikit-image>http://scikit-image.org/]]:画像処理
-[[SimpleCV>http://www.simplecv.org/]]:OpenCVのラッパだが,そのままAPIをpythonにしたのではなく,簡単に使えるようにした
-[[SpaCy>https://spacy.io/]]:自然言語処理
-[[Vaex>https://github.com/vaexio/vaex]]:データフレーム操作

*** その他機械学習・数値計算関連 [#k525fdf7]

-[[aima-python>http://code.google.com/p/aima-python/]]:Artificial Intelligence A Modern Approach のアルゴリズムをpythonで実装
-[[giotto-tda>https://jmlr.org/papers/v22/20-325.html]]:トポロジカルデータ分析
-[[Machine Learning Samples>https://github.com/awslabs/machine-learning-samples]]:機械学習コードのサンプル
-[[oTree>https://www.otree.org/]]:社会科学用のプラットフォーム
-[[PyDataset>https://github.com/iamaziz/PyDataset]]:オープンのデータ集合
-[[pydee>http://code.google.com/p/pydee/]]:matlab風開発環境
-[[Pyro (Python Robotics)>http://www.pyrorobotics.org/]]:シミュレーション環境など
-[[pyspkrec>http://code.google.com/p/pyspkrec/]]:話者認識
-[[quepy>https://github.com/machinalis/quepy]]:自然言語処理クエリをSQLに変換
-[[REP (Reproducible Experiment Platform)>https://github.com/yandex/rep]]:実験環境の管理
-[[Reinforcement Learning Toolkit>http://rlai.cs.ualberta.ca/RLAI/RLtoolkit/RLtoolkit1.0.html]]:強化学習をする仮想環境
-[[Sumatra>http://neuralensemble.org/trac/sumatra]]:実験環境の履歴管理

** その他のPython関連のライブラリ [#p05ac868]

*** コンパイラ・実装 [#u8025bf2]

- [[Python Implementations>http://wiki.python.org/moin/PythonImplementations]]

- [[Cython>http://www.cython.org/]]:PythonのC拡張をpython風に書ける
-- [[Cython for NumPy users>http://wiki.cython.org/tutorials/numpy]]
-- [[Cython tutorial @ SciPy2009>http://conference.scipy.org/proceedings/SciPy2009/paper_1/]]
-- [[日本語マニュアル>http://omake.accense.com/static/doc-ja/cython/]]
- [[Numba>http://continuum.io/developer-resources.html]]:NumPy用コンパイラ
- [[PyPy>http://codespeak.net/pypy/dist/pypy/doc/]]:高速なPython実行系だが使えるコマンドには制約があり RPython と区別して呼ばれる.numpy については numpypy が開発中.
-- [[rpythonic>http://code.google.com/p/rpythonic]]:RPythonの拡張で,Cなどの呼び出しが容易になり,standaloneのバイナリが生成できる.
- [[Pythran>http://pythonhosted.org//pythran]]:C++への変換
- [[Shed Skin>http://code.google.com/p/shedskin/]]:C++への変換

*** ファイル処理・データ処理 [#b2cb6ebd]

-[[ARFF Package>http://pypi.python.org/pypi/arff/]]:Wekaの標準データフォーマットARFF形式.scipy.io.arff は読み込みだけだが,これは書き出しもできる.
-[[csvkit>http://csvkit.rtfd.org/]]:csv や json のデータの変換や要約統計量の計算
-[[Fuel>https://github.com/mila-udem/fuel]]:MINIST などの代表的なデータ集合を扱う
-[[GDAL (Geospatial Data Abstraction Library)>http://trac.osgeo.org/gdal/wiki/GdalOgrInPython]]
-[[h5py (HDF5 for Python)>http://h5py.alfven.org/]]:数値データ管理ライブラリ [[HDF5>http://www.hdfgroup.org/HDF5/]] 用API
-[[IDLSave>http://idlsave.sourceforge.net/]]:数値演算ソフトIDLのsaveファイルの読み込み
-[[marisa-trie>https://pypi.python.org/pypi/marisa-trie]]:データ構造 trie
-[[PDFMiner>http://www.unixuser.org/~euske/python/pdfminer/index.html]]:PDF
-[[pyExcelerator>http://sourceforge.net/projects/pyexcelerator]]:Excel
-[[PyKEEN>https://github.com/pykeen/pykeen]]:知識グラフの埋め込みベクトル変換
-[[Pykg2vec>https://github.com/Sujit-O/pykg2vec]]:知識グラフのベクトル表現
-[[Pyvot>http://pytools.codeplex.com/wikipage?title=Pyvot]]:Excelファイルの相互変換
-[[pyXML>http://pyxml.sourceforge.net/topics/index.html]]:XMLファイル
-[[ReportLab>http://www.reportlab.org/]]:PDF,XML
-[[skdata>http://jaberg.github.io/skdata/]]:機械学習用の実験データの取得
-[[xlutils>http://pypi.python.org/pypi/xlutils]]:Excel ([[xlwt>http://pypi.python.org/pypi/xlwt]]と[[xlrd>http://pypi.python.org/pypi/xlrd]]が必要)

*** 他のソフトとの連携 [#ha916d7b]

-[[Integrating Python with Other Languages @ python.org>http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages]]
-[[Using Python/OpenOpt with other languages>http://openopt.org/Other_languages]] @ Openopt
#br
-[[Boost.python>http://www.boost.org/doc/libs/release/libs/python/doc/]]:C++のBoostライブラリのラッパー
-[[Brython>http://www.brython.info/]]:Javascript上のPython実行環境
-[[f2py>http://www.f2py.org/]]:Fortran⇒pythonコンバータ
-[[java2python>https://github.com/natural/java2python]]:java⇒pythonコンバータ
-[[JPype>http://jpype.sourceforge.net/]]:javaライブラリをpythonで使う
-[[PyCall.jl>https://github.com/stevengj/PyCall.jl]]:PythonからJuliaを呼び出し
-[[LiberMate>http://sourceforge.net/projects/libermate/]]:matlab⇒pythonコンバータ
-[[Lunatic Python>http://labix.org/lunatic-python]]:Luaとのデータ相互通信
-[[matpy>http://algoholic.eu/matpy/]]:matlabからpythonの呼び出し
-[[mlabwrap>http://mlabwrap.sourceforge.net/]]:matlab用ラッパー
-[[ompc (An Open-Source MATLAB®-to-Python® Compiler)>http://ompc.juricap.com/]]
-[[Pweave>http://mpastell.com/pweave/]]:Python を呼び出してその出力を,LaTeX 文書に埋め込む
-[[Pyjs>http://pyjs.org/]]:Python⇒Javascript
-[[pym>http://sourceforge.net/projects/pym/]]:matlab⇒pythonコンバータ
-[[pythontex>https://github.com/gpoore/pythontex]]:Pythonコードを[[TeX]]で表示
-[[python-weka-wrapper>https://pypi.python.org/pypi/python-weka-wrapper]]:[[Weka]] の学習アルゴリズムをpythonから呼び出す
-[[railgun>http://pypi.python.org/pypi/railgun/]]:C言語との連携 ([[ナンクル力学系>http://arataka.github.com/2011/04/17/railgun-v0.1.6.html]])
-[[Rpy>http://rpy.sourceforge.net/]]:[[R]]用ラッパー
-[[RPython>http://rpython.r-forge.r-project.org/]]:[[R]]用ラッパー
-[[unPython>http://code.google.com/p/unpython/]]:python⇒Cコンパイラ
-[[Skulpt>http://www.skulpt.org/]]:Javascript上のPython実行環境

*** 分散・並列処理 [#pa8790e1]
-[[ParallelProcessing @ python.org>http://wiki.python.org/moin/ParallelProcessing]]

-[[disco>http://discoproject.org/]]:MapReduce の実装
-[[mpi4py>http://code.google.com/p/mpi4py/]]:並列ライブラリ MPI 用API
-[[Parallel Python>http://www.parallelpython.com/]]:並列化
-[[PyCUDA>http://documen.tician.de/pycuda/]]:GPGPUのCUDA
-[[python::OpenCL>http://python-opencl.next-touch.com/]]:OpenCLによるGPGPU
-[[PyTrilinos>http://trilinos.sandia.gov/packages/pytrilinos/]]:線形代数の並列計算
-[[Writing An Hadoop MapReduce Program In Python>http://www.michael-noll.com/wiki/Writing_An_Hadoop_MapReduce_Program_In_Python]]:クラスタマシンで計算

*** その他 [#e138ef5c]
-[[Django>https://www.djangoproject.com/]]:Webアプリケーションフレームワーク
--[[django>http://djangoproject.jp/]]:国内ユーザグループ
-[[Epydoc>http://epydoc.sourceforge.net/]]:API文書生成
-[[ipython>http://ipython.scipy.org/]]:対話的実行環境
-[[Kivy>http://kivy.org]]:クロスプラットフォームUI
-[[Luigi>https://github.com/spotify/luigi]]:複数の依存したジョブをパイプライン実行する
-[[pychecker>http://pychecker.sourceforge.net/]]:文法・書式チェッカ
-[[pydap>http://pydap.org/]]:Network Data Access Protocolのpython実装
-[[Pydev>http://pydev.sourceforge.net/]]:python用のEclipseプラグイン
-[[pylint>http://www.logilab.org/project/pylint]]:文法・書式チェッカ
-[[PyOpenGL>http://pyopengl.sourceforge.net/]]:OpenGLのPython API
-[[PySide>http://www.pyside.org/]]:Qt を使ったクロスプラットフォーム GUI
-[[pyspread>http://manns.github.com/pyspread/]]:表計算ソフト
-[[PyTables>http://www.pytables.org/]]:大規模なデータのメモリ上での管理
-[[Quantities>http://packages.python.org/quantities/]]:物理量の単位変換など
-[[Scrapy>https://scrapy.org/]]:Web spider
-[[Sphinx>http://sphinx.pocoo.org/]]:文書作成
--[[Sphinx-Users.jp>http://sphinx-users.jp/]]:日本語マニュアル,チュートリアルなど
-[[wxPython>http://wiki.wxpython.org/]]:python用widget
--[[wxPython Index>http://www.harukaze.net/~haruka/wxpython/]]:日本語の解説
-[[Zope>http://www.zope.org/]]:Webアプリケーションサーバ
--[[日本Zopeユーザ会>http://zope.jp/]]

** 関連文献 [#ibb8aeee]

//この%項目%に関連する書籍や論文を紹介してください.

*** Python全般の入門書 [#mb8872c6]

- [[みんなのPython>http://www.sbcr.jp/products/4797371598.html]]
-- 簡潔にPythonの基本をまとめたよいチュートリアル
- [[はじめてのPython>http://www.oreilly.co.jp/books/9784873113937/]]
-- 『みんなのPython』より踏み込んだ内容.翻訳のタイムギャップでやや古くなりつつある.
- [[Pythonポケットリファレンス>http://gihyo.jp/book/2009/978-4-7741-3805-3]]
-- 一通り勉強したあとに参照するリファレンス本として便利

*** Numpy の基本 [#s4889be0]

-[[Python Scripting for Computational Science>http://www.springer.com/mathematics/computational+science+%26+engineering/book/978-3-642-21962-7]]
-- 数値演算用の numpy や図の描画など科学計算に必要なことに加え,C など他の言語との連携についても詳しい
-- [[サポートページ>http://folk.uio.no/hpl/scripting/]]
-[[A Primer on Scientific Programming with Python>http://www.springer.com/mathematics/computational+science+%26+engineering/book/978-3-642-30292-3]]
-- 『Python Scripting for Computational Science』と同じ著者の本.Pythonの基礎部分を強化して,Numpyなどの説明は縮小されている.
-- [[サポートページ>http://vefur.simula.no/intro-programming/]]
-[[Guide to NumPy>http://www.tramy.us/guidetoscipy.html]]
-- Numpy のリファレンスを書籍にしたもの.無料でダウンロードできるが,numpy プロジェクトへの寄付を募っている.
- [[SciPy and NumPy>http://shop.oreilly.com/product/0636920020219.do]]
-- Numpy などを使って何ができるかのサンプルを通じて紹介する本.ページ数が少なく体系的な本ではない
- [[NumPy 1.5 Beginner's Guide>http://www.packtpub.com/numpy-1-5-using-real-world-examples-beginners-guide/book]]
-- Numpyについての初心者向けの本。Matplotlib, Scipyについての記述も少々。(HW a pythonista 記)
- [[NumPy Cookbook>http://www.packtpub.com/numpy-for-python-cookbook/book]]
-- Numpyと他のライブラリ(PIL, RPy2, Google app Engine, Pandasなど)との連携を浅く広く。一つの事項に対する記述の分量は少ない。(HW a pythonista 記)
- [[Matplotlib for Python Developers>http://www.packtpub.com/matplotlib-python-development/book]]
-- Packt Publishing の入門書 (しましまは未読)
- [[Learning SciPy for Numerical and Scientific Computing>http://www.packtpub.com/learning-scipy-for-numerical-and-scientific-computing/book]] NumPy/SciPy/Matplotlib の基本.特殊関数,信号処理,データマイニング,計算幾何 といった少し踏み込んだ内容の利用例を含む ([[blog>http://www.johndcook.com/blog/2013/03/29/new-introduction-to-scipy/]] より)
- [[Beginning Python Visualization — Crafting Visual Transformation Scripts>http://www.apress.com/9781430218432]] matplotlibやPILによる可視化
- [[Python High Performance Programming>http://www.packtpub.com/python-high-performance-programming/book]]
-- Cython, numexpr, ipython などを使った数値計算の高速化についてよくまとめている

*** Python を使った数値計算手法・アルゴリズム [#h3511ce2]

-[[Machine Learning: An Algorithmic Perspective>http://www.crcpress.com/product/isbn/9781420067187]]
-- 機械学習の教科書だが,Pythonのサンプルコードが充実している
-- [[サポートページ>http://seat.massey.ac.nz/personal/s.r.marsland/MLBook.html]]:pythonによる基本アルゴリズムのコードを配布
-[[Numerical Methods in Engineering with Python>http://www.cambridge.org/gb/knowledge/isbn/item2705159]]
-- 最適化など基本的な数値計算の教科書で,サンプルをpythonで実装 (しましまは未読)
-[[Machine Learning in Action>http://www.manning.com/pharrington/]]
-- 機械学習のアルゴリズムの実装をPythonで行う
-[[あたらしい数理最適化 -GurobiとPython言語で解く->http://www.logopt.com/book/gurobi.htm]]:商用ソルバーGurobiをPythonから使う

*** Python の各種ライブラリを使った応用 [#sc150c93]

- [[Python for Data Analysis>http://shop.oreilly.com/product/0636920023784.do]]
-- [[R]]のデータフレームと同様の役割のPandasを中心にNumpy, matplotlib, ipython について述べた.データの前処理について詳しい.
- [[Natural Language Processing With Python>http://shop.oreilly.com/product/9780596516499.do]]
-- 自然言語処理用 nltk 解説.最新の手法で,大規模で実用的というより,手軽に使えるパッケージ
-- 翻訳:[[入門 自然言語処理>http://www.oreilly.co.jp/books/9784873114705/]]
-- [[サポートページ>http://nltk.org/book/]]
- [[Think Stats - Probability and Statistics for Programmers>http://shop.oreilly.com/product/0636920020745.do]]
-- numpy, scipy, matplotlib を用いた基本的な統計処理
-- 翻訳:[[Think Stats――プログラマのための統計入門>http://www.oreilly.co.jp/books/9784873115726/]]
- [[Programming Computer Vision with Python - Tools and algorithms for analyzing images>http://shop.oreilly.com/product/0636920022923.do]]
-- PIL の使い方を中心に,基礎的な画像処理.フィルタとかのレベルの処理.オブジェクトの抽出とか認識レベルの処理は対象外.
-- [[サポートページ>http://programmingcomputervision.com/]]
- [[Mining the Social Web>http://shop.oreilly.com/product/0636920010203.do]]
-- NetworkX や NLTK を使ってソーシャルネットのデータを分析 (しましまは未読)
-- [[GitHub>https://github.com/ptwobrussell/Mining-the-Social-Web]]
- [[Practical Computer Vision with SimpleCV -  The Simple Way to Make Technology See>http://shop.oreilly.com/product/0636920024057.do]]
-- OpenCVなどのラッパで画像処理を容易に利用できる SimpleCV パッケージのチュートリアル (しましまは未読)
- [[Building Machine Learning Systems with Python>http://www.packtpub.com/building-machine-learning-systems-with-python/book]]
-- scikit-learn, nltk, gensim などいろいろなパッケージを使って,いろいろな分析の例を試せる.
- [[Practical Data Analysis>http://www.packtpub.com/practical-data-analysis/book]]
-- NumPy, mlpy, PIL, twython, Pandas, NLTK, IPython, Wakari に加え D3.js も入ってるらしい.広く浅くという本っぽい (しましまは未読)


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS