Scikit-learn
scikit-learn(サイキット・ラーン、旧称: scikits.learn)は、Pythonのオープンソース機械学習ライブラリ[2]である。サポートベクターマシン、ランダムフォレスト、勾配ブースティング、k近傍法、DBSCANなどを含む様々な分類、回帰、クラスタリングアルゴリズムを備えており、Pythonの数値計算ライブラリのNumPyとSciPyとやり取りするよう設計されている。 教師あり学習と教師なし学習に対応している。ただし、強化学習・深層学習・グラフィカルモデル(隠れマルコフモデルなど)・シーケンス予測には対応しない方針となっている[3]。 概要Scikit-learnプロジェクトは David Cournapeau によるGoogle Summer of Codeプロジェクト、scikits.learnとして始まった。名前は「Scikit」 (SciPy Toolkit) つまり独立して開発・配布されるScipyのサードパーティ拡張であることを示している[4]。オリジナルのコードベースは他の開発者に後に書き換えられた。様々なScipy Toolkitのうち、scikit-learnとscikit-imageは2012年11月に「well-maintained and popular(よくメンテナンスされており、広く使われている)」と評されている[5]。 2015年以降、scikit-learnは活発に開発されており、INRIA、Telecom ParisTech、そして(Google Summer of Codeを通して)部分的にGoogleの援助を受けている[6]。Evernoteはscikit-learnを使用しており、ライブラリのナイーブベイズ分類器でユーザーの投稿から食べ物のレシピであるものを判別している[7]。またMendeleyはscikit-learnのSGD回帰アルゴリズムを用いて推薦システムを構築している[8]。 scikit-learnのAPIは、wiseRFと呼ばれる非フリーなランダムフォレスト実装を提供するwise.ioに採用されている[9][10]。wise.ioのビジネスパートナーであるContinuum IOは、データスループットがscikit-learn実装の7.5倍に上昇したと述べている[11]。これを受けてscikit-learnの開発者らはメモリ使用以外の部分で、wise.ioに並ぶよう実装を最適化したと主張している[12]。 実装scikit-learnは大部分がPythonで書かれている。いくつかのコアアルゴリズムは性能向上のためCythonで書かれている。サポートベクターマシンはLIBSVMをラップするCythonで実装されておりロジスティック回帰や線型サポートベクターマシンはLIBLINEARの同様なラッパーで実装されている。 関連項目参照
外部リンク
|