scikit-learn

scikit-learn
原作者デビッド・クルナポー
開発者Google Summer of Codeプロジェクト
初回リリース2007年6月 (2007-06
安定版リリース
1.8.0 [ 1 ] / 2025年12月10日 (2025年12月10日
リポジトリ
書かれたPythonCythonCC++ [ 2 ]
オペレーティング·システムLinuxmacOSWindows
タイプ機械学習用ライブラリ
ライセンス新しいBSDライセンス
Webサイトscikit-learn.org

scikit-learn(旧称scikits.learn、sklearn は、Pythonプログラミング言語用の無料かつオープンソースの機械学習ライブラリです。[ 3 ]サポートベクターマシンランダムフォレスト、勾配ブースティングk平均法DBSCANなど、様々な分類回帰クラスタリングアルゴリズム を備えており、 Pythonの数値・科学計算ライブラリであるNumPyおよびSciPyと相互運用できるように設計されています。scikit-learnはNumFOCUSの財政支援を受けたプロジェクトです。[ 4 ]

概要

scikit-learnプロジェクトは、フランスのデータサイエンティストDavid CournapeauによるGoogle Summer of Codeプロジェクトのscikits.learnとして始まりました。プロジェクト名は、「機械学習のための科学的ツールキット」としての役割に由来し、もともとSciPyのサードパーティ拡張機能として開発および配布されていました。[ 5 ]オリジナルのコードベースは後に他の開発者によって書き直されました。2010年に、フランスサクレーにあるフランス情報科学自動化研究所のFabian Pedregosa、Gaël Varoquaux、Alexandre Gramfort、Vincent Michelの貢献者がプロジェクトのリーダーシップを取り、2010年2月1日にライブラリの最初のパブリックバージョンをリリースしました。[ 6 ] 2012年11月、scikit-learnとscikit-imageは「よく管理され、人気のある」2つのscikitsライブラリとして説明されました。[ 7 ] 2019年には、scikit-learnがGitHubで最も人気のある機械学習ライブラリの1つであることが注目されました。[ 8 ]当時、このプロジェクトには1,400人以上の貢献者がおり、2018年にはドキュメントへの訪問数が4,200万回に達しました。[ 9 ] 2022年に173か国から約24,000人の回答者を対象としたKaggleの調査によると、scikit-learnは最も広く使用されている機械学習フレームワークとして特定されました。[ 10 ]

特徴

  • 確立された機械学習アルゴリズムとデータ前処理方法(つまり特徴エンジニアリング)の大規模なカタログ
  • データをトレーニングセットとテストセットに分割したり、クロス検証グリッド検索などの一般的なデータサイエンスタスクのためのユーティリティメソッド
  • 機械学習モデル(および)を実行するための一貫した方法。ライブラリで実装できるestimator.fit()estimator.predict()
  • Pipelineデータの前処理やモデルのフィッティングを含むデータサイエンスプロセス()を構造化する宣言的な方法

ランダムフォレスト分類器 のフィッティング:

>>> sklearn.ensembleからRandomForestClassifierをインポートします>>>分類子= RandomForestClassifier (ランダム状態= 0 )>>> X = [[ 1 , 2 , 3 ], # サンプル数 2、特徴数 3... [ 11 12 13 ]]>>> y = [ 0 , 1 ] # 各サンプルのクラス>>>分類.fit ( X , y )ランダムフォレスト分類器( random_state = 0 )

実装

scikit-learn は主に Python で記述されており、高性能な線形代数と配列演算のためにNumPy を多用しています。さらに、パフォーマンス向上のため、一部のコアアルゴリズムはCythonで記述されています。サポートベクターマシンはLIBSVM をCythonでラッパー化することで実装されており、ロジスティック回帰と線形サポートベクターマシンはLIBLINEAR をCythonでラッパー化することで実装されています。このような場合、これらのメソッドを Python で拡張することはできない可能性があります。

scikit-learn は、プロット用のMatplotlibplotly、配列のベクトル化用のNumPyPandasデータフレーム、SciPyなど、 他の多くの Python ライブラリと適切に統合されます。

歴史

scikit-learnは、2007年にDavid Cournapeau氏によってGoogle Summer of Codeプロジェクトとして開発されました。同年後半、Matthieu Brucher氏がプロジェクトに参加し、学位論文の一部として使用し始めました。2010年には、フランスのコンピュータサイエンスおよびオートメーション研究所(INRIA)がプロジェクト加わり、最初のパブリックリリース(v0.1ベータ版)が2010年1月下旬に公開されました。

このプロジェクトは、2021年9月24日に最初の安定バージョンである1.0.0をリリースしました。[ 11 ]このリリースは、2,100件以上のプルリクエストのマージの結果であり、そのうち約800件はドキュメントの改善に専念していました。[ 12 ]開発は引き続きバグ修正、効率化、機能拡張に重点を置いています。

最新バージョン1.8は2025年12月10日にリリースされました。[ 11 ]このアップデートでは、ネイティブArray APIサポートが導入され、ライブラリはPyTorchおよびCuPy配列を直接使用してGPU計算を実行できるようになりました。このバージョンには、バグ修正、改良、そして線形モデルの適合時間の効率化などの新機能も含まれています。[ 13 ]

アプリケーション

Scikit-learnは、分類、回帰、クラスタリング、モデル選択など、様々な機械学習タスクにおいて、幅広い業界で広く利用されています。このライブラリの実際の応用例を以下に示します。

金融と保険

  • AXAは、自動車事故の補償プロセスを迅速化し、保険金詐欺を検出するためにscikit-learnを使用しています。[ 14 ]
  • ピアツーピア融資プラットフォームであるZopaは、信用リスクモデリング、詐欺検出、マーケティングセグメンテーション、ローン価格設定にscikit-learnを採用しています。 [ 14 ]
  • BNPパリバ・カーディフは、scikit-learnを使用して、受信メールの発送を改善し、運用リスクと過剰適合リスクを軽減するパイプラインを通じて内部モデルのリスクガバナンスを管理しています。[ 14 ]
  • JPモルガンは、銀行全体で分類タスクと金融意思決定における予測分析にscikit-learnを幅広く使用していると報告しています。[ 14 ]

小売業と電子商取引

  • Booking.comは、ホテルや旅行先の推奨システム、不正予約の検出、顧客サポートエージェントの労働力スケジュール管理にscikit-learnを使用しています。[ 14 ]
  • HowAboutWeは、出会い系プラットフォームにおけるユーザーのエンゲージメントと好みを予測するためにこれを使用しています。[ 14 ]
  • Lovelyはライブラリを活用してユーザーの行動を理解し、プラットフォーム上の不正行為を検出します。[ 14 ]
  • Data Publicaは過去のパートナーシップの成功に基づいて顧客セグメンテーションにこれを使用しています。[ 14 ]
  • Otto Groupは、データサイエンススタック全体にscikit-learnを統合しており、特に物流の最適化と製品の推奨に力を入れています。[ 14 ]

メディア、マーケティング、ソーシャルプラットフォーム

  • Spotifyは推奨システムにscikit-learnを適用しています。[ 14 ]
  • Betaworksは、このライブラリを推薦システム(例えばDigg用)と天気予報データに適用される動的サブスペースクラスタリングの両方に使用しています。[ 14 ]
  • PeerIndexはソーシャルメディア分析における欠損データの補完、ツイートの分類、コミュニティのクラスタリングにscikit-learnを使用しました。[ 14 ]
  • Bestofmediaグループはスパム検出と広告クリック予測にこれを採用しています。[ 14 ]
  • Machinalisは、クリックスルー率の予測とコンテンツ分類および広告最適化のための関係情報抽出にscikit-learnを利用しています。[ 14 ]
  • Change.orgは、ユーザーの行動に基づいたターゲットメール配信にscikit-learnを適用しています。[ 14 ]

テクノロジー

  • AWeberはscikit-learnを使用して電子メールから特徴を抽出し、大規模な電子メールキャンペーンを管理するためのパイプラインを構築します。[ 14 ]
  • Solidoは、統計学習を用いた稀少事象推定や最悪ケース検証などの半導体設計タスクにこれを適用している。[ 14 ]
  • EvernoteDataiku、その他のテクノロジー企業は、一貫したAPIとPythonエコシステムとの統合により、scikit-learnをプロトタイピングと本番ワークフローに採用しています。[ 14 ]

学術界

  • Télécom ParisTechは、機械学習カリキュラムの一環として、実践的な授業や課題にscikit-learnを取り入れています。[ 14 ]

受賞歴

  • 2019年INRIA-フランス科学アカデミー-ダッソー・システムズ・イノベーション賞:機械学習における主要なフリーソフトウェアのブレークスルーとしてのscikit-learnの影響と、科学と産業のデジタル変革におけるその役割が認められて授与されました。[ 15 ]
  • 2022年オープンサイエンス賞 オープンソース研究ソフトウェア部門:フランス高等教育研究省による第2回国家オープンサイエンス計画の一環として授与されました。本プロジェクトは、その技術的品質、大規模な国際貢献者ネットワーク、そして質の高いドキュメントが評価され、「コミュニティ」部門で受賞しました。[ 16 ]

参考文献

  1. ^ 「リリース 1.8.0」 2025年12月10日. 2025年12月11日閲覧
  2. ^ 「Open Hubのscikit-learnオープンソースプロジェクト:言語ページ」Open Hub . 2018年7月14日閲覧
  3. ^ファビアン・ペドレゴサ;ガエル・ヴァロックオー;アレクサンドル・グラムフォート。ヴァンサン・ミシェル。ベルトラン・ティリオン。オリヴィエ・グリセル。マチュー・ブロンデル。ピーター・プレッテンホーファー。ロン・ワイス。ヴァンサン・デュブール;ジェイク・ヴァンダープラス。アレクサンドル・パソス。デヴィッド・クルナポー;マチュー・ペロー;エドゥアール・デュシュネー (2011)。「scikit-learn: Python での機械学習」機械学習研究ジャーナル12 : 2825–2830。arXiv : 1201.0490Bibcode : 2011JMLR...12.2825P
  4. ^ 「NumFOCUSスポンサープロジェクト」 NumFOCUS 2021年10月25日閲覧
  5. ^ Dreijer, Janto. 「scikit-learn」 . 2020年11月7日時点のオリジナルよりアーカイブ2015年3月4日閲覧。
  6. ^ 「私たちについて — scikit-learn 0.20.1 ドキュメント」 . scikit-learn.org .
  7. ^ Eli Bressert (2012). SciPyとNumPy:開発者向け概要. O'Reilly. p. 43. ISBN 978-1-4493-6162-4
  8. ^ 「Octoverseの現状:機械学習」 . GitHubブログ. GitHub . 2019年1月24日. 2019年10月17日閲覧
  9. ^ 「2019年Inria・フランス科学アカデミー・ダッソー・システムズ・イノベーション賞:機械学習フリーソフトウェアの成功事例、scikit-learn」。www.inria.fr2026年1月10日閲覧
  10. ^ 「Kaggle機械学習&データサイエンス調査2022」Kaggle . 2026年1月10日閲覧
  11. ^ a b「scikit-learnのリリース履歴」 . pypi.org/ . 2026年1月10日閲覧
  12. ^ 「scikit-learn 1.0のリリースハイライト」 . scikit-learn.org . 2026年1月10日閲覧
  13. ^ 「scikit-learn 1.8のリリースハイライト」 . scikit-learn.org . 2026年1月10日閲覧
  14. ^ a b c d e f g h i j k l m n o p q r s Testimonials」 . scikit-learn.org . 2025年8月6日閲覧
  15. ^ 「2019年Inria・フランス科学アカデミー・ダッソー・システムズ・イノベーション賞:機械学習フリーソフトウェアの成功事例、scikit-learn | Inria」 www.inria.fr 2025年3月19日閲覧
  16. ^ Badolato, Anne-Marie (2022年2月7日). 「オープンソース研究ソフトウェアのためのオープンサイエンス賞」 . Ouvrir la Science . 2025年3月19日閲覧