Scikit-learn
scikit-learn (正式には scikits.learn) はPythonのオープンソース機械学習ライブラリ[1]である。サポートベクターマシン、ランダムフォレスト、Gradient Boosting、k近傍法、DBSCANなどを含む様々な分類、回帰、クラスタリングアルゴリズムを備えており、Pythonの数値計算ライブラリのNumPyとSciPyとやり取りするよう設計されている。
概要
Scikit-learnプロジェクトはDavid CournapeauによるGoogle Summer of Codeプロジェクト、scikits.learnとして始まった。名前は「Scikit」 (SciPy Toolkit) つまり独立して開発・配布されるScipyのサードパーティ拡張であることを示している[2] 。オリジナルのコードベースは他の開発者に後に書き換えられた。様々なScipy Toolkitのうち、scikit-learnとscikit-imageは2012年11月に「well-mantained and popular (よくメンテナンスされており、広く使われている)」と評されている[3]。
2015年以降、scikit-learnは活発に開発されており、INRIA、Telcom ParisTech、そして (Google Summer of Codeを通して) 部分的に[[Google]]の援助を受けている[4] 。Evernoteはscikit-learnを使用しており、ライブラリのナイーブベイズ分類器でユーザーの投稿から食べ物のレシピであるものを判別している[5] 。またMendeleyはscikit-learnのSGD回帰アルゴリズムを用いて推薦システムを構築している[6]。
scikit-learnのAPIは、wiseRFと呼ばれる非フリーなランダムフォレスト実装を提供するwise.io に採用されている[7][8] 。wise.ioのビジネスパートナーであるContinuum IOは、データスループットがscikit-learn実装の7.5倍に上昇したと述べている[9] 。これを受けてscikit-learnの開発者らはメモリ使用以外の部分で、wise.ioに並ぶよう実装を最適化したと主張している[10]。
実装
scikit-learnは大部分がPythonで書かれている。いくつかのコアアルゴリズムは性能向上のためCythonで書かれている。サポートベクターマシンはLIBSVMをラップするCythonで 実装されておりロジスティック回帰や線型サポートベクターマシンはLIBLINEARの同様なラッパーで実装されている。
関連項目
- mlpy
- Orange
- NLTK
参照
- ^ Fabian Pedregosa; Gaël Varoquaux; Alexandre Gramfort; Vincent Michel; Bertrand Thirion; Olivier Grisel; Mathieu Blondel; Peter Prettenhofer; Ron Weiss; Vincent Dubourg; Jake Vanderplas; Alexandre Passos; David Cournapeau (2011).
- ^ Dreijer, Janto. "scikit-learn".
- ^ Eli Bressert (2012).
- ^ "About Us". http://scikit-learn.org.
- ^ Mark Ayzenshtat (22 January 2013).
- ^ Mark Levy (2013).
- ^ "wiserf". wise.io.
- ^ Buitinck, Lars, Gilles Louppe, Mathieu Blondel, Fabian Pedregosa, Andreas Mueller, Olivier Grisel, Vlad Niculae et al. (2013).
- ^ Joseph W. Richards (27 November 2012). "wiseRF Use Cases and Benchmarks".
- ^ Gaël Varoquaux (8 August 2013).