Scikit-learn

scikit-learn（サイキット・ラーン、旧称: scikits.learn）は、Pythonのオープンソース機械学習ライブラリである。サポートベクターマシン、ランダムフォレスト、勾配ブースティング、k近傍法、DBSCANなどを含む様々な分類、回帰、クラスタリングアルゴリズムを備えており、Pythonの数値計算ライブラリのNumPyとSciPyとやり取りするよう設計されている。

教師あり学習と教師なし学習に対応している。ただし、強化学習・深層学習・グラフィカルモデル（隠れマルコフモデルなど）・シーケンス予測には対応しない方針となっている。

概要 
Scikit-learnプロジェクトは David Cournapeau によるGoogle Summer of Codeプロジェクト、scikits.learnとして始まった。名前は「Scikit」 (SciPy Toolkit) つまり独立して開発・配布されるScipyのサードパーティ拡張であることを示している。オリジナルのコードベースは他の開発者に後に書き換えられた。様々なScipy Toolkitのうち、scikit-learnとは2012年11月に「well-mantained and popular（よくメンテナンスされており、広く使われている）」と評されている。

2015年以降、scikit-learnは活発に開発されており、INRIA、、そして（Google Summer of Codeを通して）部分的にGoogleの援助を受けている。Evernoteはscikit-learnを使用しており、ライブラリのナイーブベイズ分類器でユーザーの投稿から食べ物のレシピであるものを判別している。またMendeleyはscikit-learnのSGD回帰アルゴリズムを用いて推薦システムを構築している。

scikit-learnのAPIは、wiseRFと呼ばれる非フリーなランダムフォレスト実装を提供するwise.ioに採用されている。wise.ioのビジネスパートナーであるContinuum IOは、データスループットがscikit-learn実装の7.5倍に上昇したと述べている。これを受けてscikit-learnの開発者らはメモリ使用以外の部分で、wise.ioに並ぶよう実装を最適化したと主張している。

実装 
scikit-learnは大部分がPythonで書かれている。いくつかのコアアルゴリズムは性能向上のためCythonで書かれている。サポートベクターマシンはLIBSVMをラップするCythonで実装されておりロジスティック回帰や線型サポートベクターマシンはLIBLINEARの同様なラッパーで実装されている。

関連項目 
 
 Orange
 
 spaCy

参照

外部リンク 
 
 
 

オープンソースソフトウェア
機械学習
分類アルゴリズム
Pythonライブラリ