このページの内容

Awesome Python Data Science

Python Data Scienceを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

機械学習

汎用機械学習

  • SciPy - 科学計算におけるPythonの基本アルゴリズム
  • scikit-learn - Pythonにおける機械学習。sklearn
  • PyCaret - オープンソースかつ低コードのPython機械学習ライブラリ。R inspired lib
  • Shogun - 機械学習ツールボックス。
  • xLearn - 高性能・使いやすく・スケーラブルな機械学習パッケージ。
  • cuML - RAPIDS機械学習ライブラリ。sklearn GPU accelerated
  • modAL - Python3向けのモジュラーフレームワーク(アクティブ学習)。sklearn
  • Sparkit-learn - PySpark + scikit-learn = Sparkit-learn. sklearn Apache Spark based
  • mlpack - スケーラブルなC++機械学習ライブラリ(Pythonバインディング)。
  • dlib - C++で実世界の機械学習およびデータ分析アプリケーションを作成するためのツールキット(Pythonバインディング)。
  • MLxtend - Pythonのデータ分析および機械学習ライブラリへの拡張および補助モジュール。sklearn
  • hyperlearn - 50%以上高速、50%以上RAM使用量削減、GPU対応を再実装したsklearn、Statsmodels。sklearn PyTorch based/compatible
  • Reproducible Experiment Platform (REP) - 人間が使える機械学習ツールボックス。sklearn
  • scikit-multilearn - Python向けのマルチラベル分類。sklearn
  • seqlearn - Python向けのシーケンス分類ツールキット。sklearn
  • pystruct - Python向けのシンプルな構造化学習フレームワーク。sklearn
  • sklearn-expertsys - scikit-learn向けの高度に解釈可能な分類器。sklearn
  • RuleFit - rulefitの実装。sklearn
  • metric-learn - Pythonにおけるメトリック学習アルゴリズム。sklearn
  • pyGAM - Pythonにおける一般化加算モデル
  • causalml - 機械学習アルゴリズムによるアップリフトモデリングと因果推論。sklearn

勾配ブースティング

  • XGBoost - スケーラブルで、移植可能かつ分散型の勾配ブースト。sklearn GPU accelerated
  • LightGBM - 高速かつ分散型、高性能な勾配ブースト。sklearn GPU accelerated
  • CatBoost - 決定木ベースの勾梯ブーストを用いたオープンソースライブラリ。sklearn GPU accelerated
  • ThunderGBM - GPU上で高速なGBDTとランダムフォレスト。sklearn GPU accelerated
  • NGBoost - 確率予測用の自然勾梯ブースト
  • TensorFlow Decision Forests - Kerasにおける決定木モデルの学習・サーバー提供・解釈に用いる最先端アルゴリズムのコレクション。keras TensorFlow

アンサンブル手法

  • ML-Ensemble - 高性能なアンサンブル学習。sklearn
  • Stacking - シンプルで実用的なスタッキングライブラリ(Pythonベース)。sklearn
  • stacked_generalization - 機械学習のスタッキング一般化に用いるライブラリ。sklearn
  • vecstack - スタッキング(機械学習技術)用のPythonパッケージ。sklearn

不均衡データセット

  • imbalanced-learn - さまざまな手法による下サンプリングと上サンプリングを行うモジュール。sklearn
  • imbalanced-algorithms - 不均衡データ上の学習に用いるアルゴリズムのPython実装。sklearn sklearn

カーネル法

  • pyFM - Pythonにおけるファクタライゼーションマシン。sklearn
  • fastFM - ファクタライゼーションマシン用のライブラリ。sklearn
  • tffm - 任意の順序のファクタライゼーションマシンのTensorFlow実装。sklearn sklearn
  • liquidSVM - SVMの実装。
  • scikit-rvm - 関連ベクトルマシンのscikit-learn APIによる実装。sklearn
  • ThunderSVM - GPUおよびCPU上で高速なSVMライブラリ。sklearn GPU accelerated

深層学習

PyTorch

TensorFlow

  • TensorFlow - Googleが提供するデータフローグラフによるスケーラブルマシンラーニングの計算。 sklearn
  • TensorLayer - 研究者およびエンジニア向けのディープラーニングおよび強化学習ライブラリ。 sklearn
  • TFLearn - TensorFlow向けの高レベルAPIを備えたディープラーニングライブラリ。 sklearn
  • Sonnet - TensorFlowベースのニューラルネットワークライブラリ。 sklearn
  • tensorpack - TensorFlow上のニューラルネットワーク訓練インターフェース。 sklearn
  • tfdeploy - TensorFlowグラフをデプロイし、高速評価とnumpyで動作するTensorFlowなし環境にエクスポート。 sklearn
  • tensorflow-upstream - TensorFlow ROCm版。 sklearn Possible to run on AMD GPU
  • TensorFlow Fold - TensorFlowにおける動的計算グラフを使ったディープラーニング。 sklearn
  • TensorLight - TensorFlow向けの高レベルフレームワーク。 sklearn
  • Mesh TensorFlow - モデル並列化を容易に。 sklearn
  • Ludwig - コードを書かずに深層学習モデルを訓練・テストできるツールボックス。 sklearn

JAX

  • JAX - Python+NumPyプログラムの合成可能な変換:微分、ベクトル化、GPU/TPUへのJIT、など。
  • FLAX - JAX向けに柔軟性を重視したニューラルネットワークライブラリ。
  • Optax - JAX向けの勾配処理および最適化ライブラリ。

Keras

  • Keras - TensorFlow にのせられた高レベルのニューラルネットワークAPI。 Keras compatible
  • keras-contrib - Kerasコミュニティによる貢献。 Keras compatible
  • Hyperas - Keras + Hyperopt:便利なハイパーパラメータ設定用のシンプルなラッパー。 Keras compatible
  • Elephas - Keras と Spark を使って分散深層学習。 Keras compatible
  • qkeras - 量子化深層学習ライブラリ。 Keras compatible

その他

自動機械学習

  • auto-sklearn - scikit-learnのエステimatorへの自動化された代替ツール。 sklearn
  • Auto-PyTorch - PyTorch向けの自動アーキテクチャ探索とハイパーパラメータ最適化。 PyTorch based/compatible
  • AutoKeras - 深層学習向けの自動機械学習ライブラリ。 Keras compatible
  • AutoGluon - 画像、テキスト、テーブル、時系列、マルチモーダルデータ向けの自動機械学習。
  • TPOT - 機械学習パイプラインを遺伝プログラミングで最適化する自動機械学習ツール。 sklearn
  • MLBox - 強力な自動機械学習Pythonライブラリ。

自然言語処理

  • torchtext - テキストおよびNLP用のデータローダーと抽象化。 PyTorch based/compatible
  • KerasNLP - Kerasを用いたモジュラーネイチャルラングュエージプロセッシングワークフロー。 Keras based/compatible
  • spaCy - 産業レベルの自然言語処理。
  • NLTK - 自然言語処理研究開発を支援するモジュール、データセット、チュートリアル。
  • CLTK - クラシカルな言語ツールキット
  • gensim - 人間向けのトピックモデル化
  • pyMorfologik - Morfologik.のPythonバインディング
  • skift - PythonのfastText向けScikit-learnのラッパー。sklearn
  • Phonemizer - 複数言語に対応したシンプルなテキスト-to-フォノメス変換器
  • flair - 最先端NLPを実現する非常にシンプルなフレームワーク

コンピューター聴覚

  • torchaudio - PyTorch向けのオーディオライブラリ。PyTorch based/compatible
  • librosa - オーディオおよび音楽分析用のPythonライブラリ
  • Yaafe - オーディオ特徴量の抽出
  • aubio - オーディオおよび音楽分析用のライブラリ
  • Essentia - オーディオおよび音楽分析、説明、合成用のライブラリ
  • LibXtract - シンプルで、ポータブルで、軽量なオーディオ特徴量抽出関数を備えたライブラリ
  • Marsyas - オーディオ信号に対する音楽分析、検索、合成
  • muda - 注記されたオーディオデータを拡張するためのライブラリ
  • madmom - オーディオおよび音楽信号処理用のPythonライブラリ

コンピュータービジョン

  • torchvision - コンピュータビジョンに特化したデータセット、変換、モデル。PyTorch based/compatible
  • PyTorch3D - PyTorch3Dは、FAIRが提供する3Dデータを使った深層学習の再利用可能なコンポーネントのライブラリ。PyTorch based/compatible
  • KerasCV - Kerasを使った産業レベルのコンピュータビジョンワークフロー。MXNet based
  • OpenCV - オープンソースコンピュータビジョンライブラリ
  • Decord - 深層学習用の効率的なビデオローダー。スマートなシャッフルを備え、非常に使いやすい。
  • MMEngine - OpenMMLabによる深層学習モデルの訓練用基礎ライブラリ。 PyTorch based/compatible
  • scikit-image - 画像処理用SciKit(SciPy向けツールボックス)。
  • imgaug - 機械学習実験用の画像拡張
  • imgaug_extension - imgaugへの追加拡張機能。
  • Augmentor - 機械学習用のPythonによる画像拡張ライブラリ。
  • albumentations - 高速画像拡張ライブラリおよび他のライブラリを簡単に利用できるラッパー。
  • LAVIS - 言語と視覚の知能を一括で提供するライブラリ。

時系列

  • sktime - 時系列データを扱う機械学習の統一フレームワーク。 sklearn
  • skforecast - 機械学習モデルを用いた時系列予測
  • darts - 時系列データの簡単な操作および予測を行うPythonライブラリ。
  • statsforecast - 統計的および経済モデルを用いた高速予測。
  • mlforecast - 機械学習に基づくスケーラブル時系列予測。
  • neuralforecast - 機械学習に基づくスケーラブル時系列予測。
  • tslearn - 時系列データ専用の機械学習ツールキット。 sklearn
  • tick - 統計学的学習モジュールで、特に時系列モデルに焦点を当てる。 sklearn
  • greykite - 柔軟で直感的かつ高速な予測ライブラリの次世代。
  • Prophet - 自動予測プロセス。
  • PyFlux - Python用オープンソース時系列ライブラリ。
  • bayesloop - 時変パラメータモデルの目的関数選択を容易にする確率プログラミングフレームワーク。
  • luminol - 異常検知および相関分析ライブラリ。
  • dateutil - 標準datetimeモジュールへの強力な拡張
  • maya - 文字列のパースやタイムゾーンの変更を非常に容易にします
  • Chaos Genius - 異常検出および原因分析に特化したML駆動の分析エンジン

強化学習

  • Gymnasium - シングルエージェント強化学習環境向けAPI標準、人気のある参照環境および関連ユーティリティ(以前は Gym)。
  • PettingZoo - マルチエージェント強化学習環境向けAPI標準、人気のある参照環境および関連ユーティリティ。
  • MAgent2 - 大量のエージェントを扱える高性能マルチエージェント環境向けエンジン、および参照環境のセット。
  • Stable Baselines3 - OpenAI Baselinesに基づく強化学習アルゴリズムの改善された実装セット。
  • Shimmy - 人気のある外部強化学習環境向けAPI変換ツール。
  • EnvPool - C++ベースの高性能並列環境実行エンジン(ベクトル化環境):一般強化学習環境向け。
  • RLlib - スケーラブルな強化学習。
  • Tianshou - エレガントなPyTorchベースの強化学習ライブラリ。 PyTorch based/compatible
  • Acme - 強化学習のコンポーネントおよびエージェントを提供するライブラリ。
  • Catalyst-RL - 強化学習研究向けPyTorchフレームワーク。 PyTorch based/compatible
  • d3rlpy - オフライン強化学習ライブラリ。
  • DI-engine - OpenDILab決定AIエンジン。PyTorchベース/互換
  • TF-Agents - TensorFlowベースの強化学習ライブラリ。 TensorFlow
  • TensorForce - 応用強化学習向けTensorFlowライブラリ。 TensorFlow
  • TRFL - TensorFlow強化学習。 sklearn
  • Dopamine - 強化学習アルゴリズムの高速プロトタイピングに特化した研究フレームワーク。
  • keras-rl - Kerasと互換の強化学習ライブラリ。 Keras compatible
  • garage - 再現性のある強化学習研究向けツールキット。
  • Horizon - 応用強化学習向けプラットフォーム。
  • rlpyt - PyTorchにおける強化学習。PyTorch based/compatible
  • cleanrl - 高品質なシングルファイル実装の深層強化学習アルゴリズム(PPO、DQN、C51、DDPG、TD3、SAC、PPG)を、研究者向けの機能で提供。
  • Machin - PyTorch向けの強化学習ライブラリ。PyTorch based/compatible
  • SKRL - PyTorchおよびJAX向けのモジュラリティを備えた強化学習ライブラリ。NVIDIA Isaac Gym、Isaac OrbitおよびOmniverse Isaac Gymに対応。PyTorch based/compatible
  • Imitation - シミュレーションおよび報酬学習アルゴリズムの、クリーンなPyTorch実装。PyTorch based/compatible

グラフ機械学習

  • pytorch_geometric - PyTorch向けの幾何学的深層学習拡張ライブラリ。PyTorch based/compatible
  • pytorch_geometric_temporal - PyTorch Geometric向けの時系列拡張ライブラリ。PyTorch based/compatible
  • PyTorch Geometric Signed Directed - PyTorch Geometric向けの有向/有符号グラフニューラルネットワーク拡張ライブラリ。PyTorch based/compatible
  • dgl - 既存の深層学習フレームワーク上に構築された、グラフ上の深層学習を容易にするPythonパッケージ。PyTorch based/compatible TensorFlow MXNet based
  • GRAPE - GRAPEは、予測および評価を目的としたRust/Pythonによるグラフ表現学習ライブラリ
  • Spektral - グラフ上の深層学習。Keras compatible
  • StellarGraph - グラフ上の機械学習。TensorFlow Keras compatible
  • Graph Nets - TensorFlow上でグラフネットを構築。TensorFlow
  • TensorFlow GNN - TensorFlowプラットフォーム上でグラフニューラルネットワークを構築するためのライブラリ。TensorFlow
  • Auto Graph Learning -グラフ上の機械学習向けの自動機械学習フレームワークおよびツールキット。
  • PyTorch-BigGraph - 大規模グラフ構造データから埋め込みを生成。PyTorch based/compatible
  • Auto Graph Learning - グラフ上の機械学習向けの自動機械学習フレームワークおよびツールキット。
  • Karate Club - グラフ構造データ向けの無教師学習ライブラリ。
  • Little Ball of Fur - グラフ構造データのサンプリングを行うためのライブラリ。
  • GreatX - PyTorchおよびPyTorch Geometric(PyG)をベースとしたグラフの信頼性ツールボックス。PyTorch based/compatible
  • Jraph - Jax で実装されたグラフニューラルネットワークライブラリ
  • TRL - 強化学習を用いたトランスフォーマー言語モデルの訓練
  • Cleora - グラフ埋め込みエンジン

グラフ操作

  • Networkx - Pythonでのネットワーク解析
  • Rustworkx - Rustで実装された高性能Pythonグラフライブラリ
  • graph-tool - グラフ(ネットワーク)の操作および統計解析に用いる効率的なPythonモジュール
  • igraph - igraphのPythonインターフェース

ランキング学習と推薦システム

  • LightFM - LightFMというハイブリッド推薦アルゴリズムのPython実装
  • Spotlight - PyTorchを用いた深層推薦モデル
  • Surprise - 推薦システムの構築および分析に用いるPythonのscikit
  • RecBole - 統合された、包括的で効率的な推薦ライブラリ。 PyTorch based/compatible
  • allRank - allRankは、PyTorchに基づく学習-to-ランクのニューラルモデルの訓練フレームワーク。 PyTorch based/compatible
  • TensorFlow Recommenders - TensorFlowを用いた推薦システムモデルの構築用ライブラリ。 TensorFlow Keras compatible
  • TensorFlow Ranking - TensorFlowでの学習-to-ランク。 TensorFlow

確率的グラフィカルモデル

  • pomegranate - Python向けの確率的およびグラフィカルモデル。 PyTorch based/compatible
  • pgmpy - 確率的グラフィカルモデルを扱うPythonライブラリ
  • pyAgrum - A GRaphical Universal Modeler

確率的手法

  • pyro - PyTorchに基づく柔軟でスケーラブルな深層確率プログラミングライブラリ。 PyTorch based/compatible
  • PyMC - Pythonでのベイズ的確率モデル
  • ZhuSuan - ベイズ深層学習。 sklearn
  • GPflow - TensorFlowにおけるガウス過程。sklearn
  • InferPy - 深層確率モデルの簡単な実装。sklearn
  • PyStan - ノーウィンターサンプラーを用いたベイズ推論(Pythonインターフェース).
  • sklearn-bayes - scikit-learn APIを用いたベイズ機械学習用Pythonパッケージ。sklearn
  • skpro - 確率モデルにおける監督型ドメイン無関係予測フレームワーク(The Alan Turing Instituteによる)。sklearn
  • PyVarInf - PyTorchベース/互換性のあるベイズ深層学習と変分推論。PyTorch based/compatible
  • emcee - affine不変MCMC用のPythonのアンサンブルサンプリングツールキット。
  • hsmmlearn - 明示的な期間を持つ隠れた半マルコフモデル(HSMM)のためのライブラリ。
  • pyhsmm - HSMMおよびHMMにおけるベイズ推論。
  • GPyTorch - PyTorchにおけるガウス過程の高効率かつモジュラリティの高い実装。PyTorch based/compatible
  • sklearn-crfsuite - CRFsuite向けscikit-learn風API。sklearn

モデルの説明

  • dalex - モデル無関係な探索と説明用の言語()。<img height=“20” src=” alt=“sklearn”><img height=“20” src=” alt=“R inspired/ported lib”> https://raw.githubusercontent.com/krzjoa/awesome-python-data-science/6612257f3e38af232bd08eef25ffc53b92c1b72d/img/sklearn_big.pnghttps://raw.githubusercontent.com/krzjoa/awesome-python-data-science/6612257f3e38af232bd08eef25ffc53b92c1b72d/img/R_big.png
  • Shapley - 機械学習アンサンブルにおける分類器の価値をデータ駆動で評価するフレームワーク。
  • Alibi - 機械学習モデルの監視および説明に用いるアルゴリズム。
  • anchor - 論文『High-Precision Model-Agnostic Explanations』のコード。
  • aequitas - バイアスと公平性の審査ツールキット。
  • Contrastive Explanation - 対照的説明(Foil Trees)。sklearn
  • yellowbrick - 機械学習モデル選定を支援する可視化分析および診断ツール。sklearn
  • scikit-plot - scikit-learnオブジェクトにプロット機能を追加するための直感的なライブラリ。sklearn
  • shap - 任意の機械学習モデルの出力を説明するための統一アプローチ。sklearn
  • InterpretML - InterpretMLは、一般化加算モデル(GAMs)に基づく現代的な完全に解釈可能な機械学習モデルである説明可能なブーストマシン(EBM)を実装しています。このオープンソースパッケージは、EBMやその他のガラスボックスモデル、ブラックボックス説明についても可視化ツールを提供しています。sklearn
  • ELI5 - 機械学習分類器のデバッグ/確認やその予測を説明するためのライブラリです。
  • Lime - 任意の機械学習分類器の予測を説明します。sklearn
  • FairML - FairMLは、機械学習モデルにおけるバイアスを審査するPython用ツールボックスです。sklearn
  • L2X - 論文『Learning to Explain: An Information-Theoretic Perspective on Model Interpretation』における実験を再現するためのコードです。
  • PDPbox - 部分依存プロットツールボックス。
  • PyCEbox - Pythonによる個別条件期待プロットツールボックス。
  • Skater - 機械学習モデルの解釈を支援するPythonライブラリ。
  • model-analysis - TensorFlow向けのモデル分析ツール。sklearn
  • themis-ml - バイアスを考慮した機械学習アルゴリズムを実装するライブラリ。sklearn
  • treeinterpreter - scikit-learnの決定木およびランダムフォレストの予測を解釈します。sklearn
  • AI Explainability 360 - データおよび機械学習モデルの解釈可能性と説明可能性。
  • Auralisation - CNN(音声)で学習された特徴の聴覚化。
  • CapsNet-Visualization - CapsNetの層を可視化して、その動作をよりよく理解するための可視化。
  • lucid - ニューラルネットワークの解釈性に関する研究に用いるインフラとツールのコレクション。
  • Netron - 深層学習および機械学習モデルの可視化ツール(Pythonコードは不要で、主なPython深層学習フレームワークからのモデルを可視化)。
  • FlashLight - あなたのニューラルネットワーク向けの可視化ツール。
  • tensorboard-pytorch - PyTorch(およびchainer, mxnet, numpy, …)向けのTensorboard。

遺伝的プログラミング

  • gplearn - Pythonによる遺伝プログラミング。sklearn
  • PyGAD - Pythonによる遺伝アルゴリズム。PyTorch based/compatible keras
  • DEAP - Pythonによる分散型進化アルゴリズム
  • karoo_gp - PythonでGPUをサポートした遺伝プログラミングプラットフォーム。 sklearn
  • monkeys - Pythonにおける強制型タイプの遺伝プログラミングフレームワーク。
  • sklearn-genetic - scikit-learn向けの遺伝的特徴選択モジュール。 sklearn

最適化

  • Optuna - ハイパーパラメータ最適化フレームワーク。
  • pymoo - Pythonにおける多目的最適化。
  • pycma - CMA-ESのPython実装。
  • Spearmint - ベイズ最適化。
  • BoTorch - PyTorchにおけるベイズ最適化。 PyTorch based/compatible
  • scikit-opt - 最適化用のヒューリスティックアルゴリズム。
  • sklearn-genetic-opt - 進化アルゴリズムを用いたハイパーパラメータ調整および特徴選択。 sklearn
  • SMAC3 - 順序モデルベースアルゴリズム構成。
  • Optunity - ハイパーパラメータ調整用の多様な最適化ライブラリを含むライブラリ。
  • hyperopt - Pythonにおける分散非同期ハイパーパラメータ最適化。
  • hyperopt-sklearn - sklearn向けのハイパーパラメータ最適化。 sklearn
  • sklearn-deap - scikit-learnでのグリッドサーチ代わりに進化アルゴリズムを使用。 sklearn
  • sigopt_sklearn - scikit-learnメソッドへのSigOptのラッパー。 sklearn
  • Bayesian Optimization - ガウスプロセスを用いたグローバル最適化のPython実装。
  • SafeOpt - 安全なベイズ最適化。
  • scikit-optimize - 順序モデルベース最適化と scipy.optimizeインターフェース。
  • Solid - Pythonで書かれた包括的な勾配なし最適化フレームワーク。
  • PySwarms - 粒子 swarm最適化におけるPython用研究ツールキット
  • Platypus - マルチオブジェクト最適化向け無料オープンソースPythonライブラリ
  • GPflowOpt - GPflowを用いたベイズ最適化。 sklearn
  • POT - Pythonの最適輸送ライブラリ
  • Talos - Kerasモデル向けのハイパーパラメータ最適化
  • nlopt - 非線形最適化(グローバルおよびローカル、制約付きまたは制約なし)用ライブラリ
  • OR-Tools - Googleが提供するオープンソース最適化ソフトウェアセット。SCIP、GLPK、GLOP、CP-SAT、CPLEX、Gurobiの6つのソルバーに統一されたプログラミングインターフェースを提供

特徴量エンジニアリング

全般

  • Featuretools - 自動特徴エンジニアリング
  • Feature Engine - sklearnに類似した機能を持つ特徴エンジニアリングパッケージ。 sklearn
  • OpenFE - 専門レベルのパフォーマンスを備えた自動特徴生成
  • skl-groups - set/“group”ベースの特徴に作用するscikit-learn拡張。 sklearn
  • Feature Forge - 機械学習特徴の作成とテストに用いるツールセット。 sklearn
  • few - sklearnとの互換性を持つ特徴エンジニアリングのラッパー。 sklearn
  • scikit-mdr - 特徴構築用のマルチファクターディメンシオナリリダクション(MDR)のscikit-learn互換版。 sklearn
  • tsfresh - 時系列から関連性のある特徴を自動抽出。 sklearn
  • dirty_cat - 汚れたテーブルデータ(特に分類および回帰用の文字ベース変数)上の機械学習。 sklearn
  • NitroFE - 移動窓特徴。 sklearn
  • sk-transformer - さまざまなpandasおよびscikit-learn互換の変換器を収録した、あらゆる前処理および特徴エンジニアリングステップに適用可能なツールセット。 pandas compatible
  • tubular - narwhalsで記述されたscikit-learn互換の変換器のコレクション。polarsまたはpandasの入力を受け取り、内部で選択されたライブラリを使用。 sklearnpandas compatible

特徴選択

  • scikit-feature - Pythonにおける特徴選択リポジトリ
  • boruta_py - ボルタのすべての関連特徴選択手法の実装。 sklearn
  • BoostARoota - 高速なxgboost特徴選択アルゴリズム。 sklearn
  • scikit-rebate - ReBATE、機械学習向けリラフベースの特徴選択アルゴリズムのセットをPythonでscikit-learnと互換性を持つように実装。 sklearn
  • zoofs - 進化アルゴリズムに基づいた特徴選択ライブラリ。

可視化

汎用

  • Matplotlib - Pythonによるプロット機能。
  • seaborn - matplotlibを用いた統計データ可視化。
  • prettyplotlib - データ可視化を簡単に美しいmatplotlibプロットを作成。
  • python-ternary - matplotlibを用いたPythonの三元プロットライブラリ。
  • missingno - Pythonの欠損データ可視化モジュール。
  • chartify - データサイエンティストが簡単にチャートを作成できるPythonライブラリ。
  • physt - 改善されたヒストグラム。

インタラクティブプロット

  • animatplot - matplotlibに基づいたプロットアニメーション用Pythonパッケージ。
  • plotly - インタラクティブかつ出版品質のグラフを生成するPythonライブラリ。
  • Bokeh - Python用のインタラクティブなウェブプロット
  • Altair - コード内で多くのデータ変換を簡単に実行できる宣言型統計可視化ライブラリ。
  • bqplot - IPython/Jupyterノートブック向けプロットライブラリ
  • pyecharts - Echartsから移行した、チャートおよび可視化ライブラリをPythonのインタラクティブ可視化ライブラリに。 pyecharts echarts

地図

  • folium - インタラクティブなオープンストリートマップ上でデータを可視化するための簡単な手段。
  • geemap - Google Earth Engine (GEE)を用いたインタラクティブマッピング用Pythonパッケージ。

自動プロット

  • HoloViews - プロットするのをやめて、データに注釈をつけて、データが自ら可視化できるようにする。
  • AutoViz: 1行のコードでデータを自動的に可視化(機械学習に最適)
  • SweetViz: データセット、ターゲット値、関連性を1行のコードで可視化・比較

NLP

  • pyLDAvis: インタラクティブなトピックモデルの可視化

デプロイ

  • fastapi - 現代的で高速(高性能)なPythonによるAPI開発用ウェブフレームワーク
  • streamlit - 機械学習モデルのデプロイを簡単にする
  • streamsync - フロントエンドはノーコード、バックエンドはPython。データアプリを作成するオープンソースフレームワーク。
  • gradio - Pythonで機械学習モデルのUIを作成するのに3分で可能。
  • Vizro - モジュラリティを備えたデータ可視化アプリケーションを作成するためのツールキット。
  • datapane - スクリプトやノートブックをインタラクティブなレポートに変換するためのAPIのコレクション。
  • binder - Jupyterノートブックの共有と実行を可能にする
  • Deepnote - DeepnoteはJupyterへのAI中心設計のドロップインリプレイス。スリムなUI、新しいブロック、ネイティブなデータ統合を備え、Python、R、SQLを好きなIDEでローカルで使用し、リアルタイムコラボレーション、Deepnoteアグエント、デプロイ可能なデータアプリにスケーリング可能。

統計

  • pandas_summary - pandasデータフレームのdescribe関数への拡張。 pandas compatible
  • Pandas Profiling - pandasデータフレームオブジェクトからHTMLプロファイリングレポートを作成。 pandas compatible
  • statsmodels - Pythonでの統計モデルと経済計量学。
  • stockstats - インラインの株価統計・指標サポートを備えたwrapper StockDataFrame based on the pandas.DataFrameを提供。
  • weightedcalcs - pandasベースのユーティリティで重み付き平均、中央値、分布、標準偏差などを計算。
  • scikit-posthocs - ペアワイズマルチプル比較のポストホコテスト。
  • Alphalens - 予測(アルファ)株式ファクターのパフォーマンス分析

データ操作

データフレーム

  • pandas - 強力なPythonデータ分析ツールキット。
  • polars - 高速かつマルチスレッド、ハイブリッドアウトオブコアのデータフレームライブラリ。
  • Arctic - 時系列およびティックデータ用の高性能データストア。
  • datatable - Python用のData.table。 R inspired/ported lib
  • pandas_profiling - pandas DataFrameオブジェクトからHTMLプロファイリングレポートを作成
  • cuDF - GPU DataFrameライブラリ。 pandas compatible GPU accelerated
  • blaze - NumPyおよびpandasとのBig Dataインターフェース。 pandas compatible
  • pandasql - SQL構文を使ってpandas DataFramesをクエリできる。 pandas compatible
  • pandas-gbq - pandasとGoogle BigQueryの連携。pandas compatible
  • xpandas - 1次元・2次元データコンテナと、データ分析用のTransformers機能を持つ The Alan Turing Institute
  • pysparkling - Apache SparkのRDDおよびDStreamインターフェースの純粋Python実装。 Apache Spark based
  • modin - 1行のコードを変更することでpandasワークフローを高速化。 pandas compatible
  • swifter - pandasデータフレームまたはシリーズに対して、最も高速な方法で任意の関数を適用するパッケージ。
  • pandas-log - 基本的なpandas操作に関するフィードバックを提供し、ビジネスロジックおよびパフォーマンス問題を検出するパッケージ。
  • vaex - Pythonにおけるアウトオブコアデータフレーム。10億行分の大きなテーブルデータを秒単位で視覚化・探索可能。
  • xarray - Xarrayは、NumPyおよびpandasの優れた特徴を組み合わせ、数値軸ラベルに名前付き次元を追加することで、より直感的で簡潔かつ誤りの少ないインデックスルーチンを提供。

パイプライン

  • pdpipe - pandasデータフレーム向けのSasyパイプライン。
  • SSPipe - Pythonのパイプ(|)演算子。データフレームおよびNumpy、Pytorchに対応。
  • pandas-ply - pandas向けの関数型データ操作。 pandas compatible
  • Dplython - Python向けのDplyr。 R inspired/ported lib
  • sklearn-pandas - sklearnとのpandas統合。 sklearn pandas compatible
  • Dataset - ランダムまたは順次バッチデータの扱いを便利にし、データ処理を定義できる。
  • pyjanitor - データクリーニング用のシンプルなAPI。 pandas compatible
  • meza - テーブルデータ処理用のPythonツールキット。
  • Prodmodel - データサイエンスパイプライン向けのビルドシステム
  • dopanda - pandasを分析環境で使う際のヒントとアドバイス。 pandas compatible
  • Hamilton - ラズリ評価されたPython関数の流れで指定された有向無サイクルグラフを適用するデータフレーム生成用マイクロフレームワーク

データ中心AI

  • cleanlab - 実際の世界の汚れたデータとラベルを扱うデータ中心AIの標準パッケージ。データ品質と機械学習
  • snorkel - 弱監督で訓練データを迅速に生成するシステム
  • dataprep - Pythonで数行のコードでデータを収集・クリーンアップ・可視化

合成データ

  • ydata-synthetic - 最先端の生成モデルを活用した合成テーブルデータおよび時系列データ生成パッケージ。 pandas compatible

分散コンピューティング

  • Horovod - TensorFlow、Keras、PyTorch、Apache MXNet向けの分散トレーニングフレームワーク。 sklearn
  • PySpark - PythonにApache Sparkのプログラミングモデルを露出。 Apache Spark based
  • Veles - 分散型機械学習プラットフォーム
  • Jubatus - 分散型オンライン機械学習向けのフレームワークおよびライブラリ
  • DMTK - マイクロソフトの分散機械学習ツールキット
  • PaddlePaddle - PArallel Distributed Deep LEarning
  • dask-ml - 分散型および並列型機械学習。 sklearn
  • Distributed - Pythonでの分散計算

実験管理

  • mlflow - 機械学習ライフサイクル向けオープンソースプラットフォーム
  • Neptune - 軽量な機械学習実験のトラッキング、結果可視化、管理ツール
  • dvc - データバージョン制御 | データとモデル向けGit | ML実験管理
  • envd - 🏕️ データサイエンスおよびAI/MLエンジニアリングチーム向けの機械学習開発環境
  • Sacred - 実験の設定、整理、ログ記録、再現を支援するツール
  • Ax - アダプティブな実験プラットフォーム。 sklearn

データ検証

  • great_expectations - データから期待できる内容を常に把握できる。
  • pandera - 軽量で柔軟かつ表現力の高い統計データテストライブラリ。
  • deepchecks - モデル開発、デプロイ、プロダクション中にMLモデルおよびデータの検証とテスト。 sklearn
  • evidently - 検証からプロダクションまでMLモデルの評価と監視。
  • TensorFlow Data Validation - 機械学習データの探索および検証に用いるライブラリ。
  • DataComPy- Pandas、Polars、Sparkのデータフレームを比較するライブラリ。統計情報を提供し、マッチ精度を調整できる。

評価

  • recmetrics - 推薦システムの評価に使えるメトリクスとプロットのライブラリ。
  • Metrics - 機械学習評価メトリクス。
  • sklearn-evaluation - モデル評価を簡単に行う:プロット、テーブル、マーカード報告書。 sklearn
  • AI Fairness 360 - データセットおよびMLモデルの公平性メトリクス、説明、データセットおよびモデルにおけるバイアスを軽減するアルゴリズム。
  • alibi-detect - 異常値、敵対的行動、ドリフト検出用アルゴリズム。sklearn

計算処理

  • NumPy - Pythonで科学計算を行うための基本パッケージ
  • Dask - タスクスケジューリングによる並列計算。 pandas compatible
  • bottleneck - Cで書かれた高速NumPy配列関数。
  • CuPy - NumPyに類似したAPIをCUDAで加速したものです。
  • scikit-tensor - Pythonによる多線形代数およびテンソル分解ライブラリ。
  • numdifftools - 1変数または複数変数における自動数値微分問題を解決。
  • quaternion - NumPyに四元数の組み込みサポートを追加。
  • adaptive - 数学関数のアダプティブかつ並列サンプリングに用いるツール。
  • NumExpr - NumPy用の高速数値式評価器。中間結果のメモリ割り当てを回避する統合コンピューティング仮想マシンを備え、計算を高速化。

ウェブスクレイピング

  • BeautifulSoup: 静的ウェブサイトをスクレイピングする初心者向けで最も簡単なライブラリ
  • Scrapy: 高速かつ拡張性の高いスクレイピングライブラリ。コア部分に触れないでルールを書くことができ、カスタマイズされたスクレイパーを作成可能
  • Selenium: Selenium Python API を使って、実際のユーザーが使うように直感的に Selenium WebDriver のすべての機能にアクセス
  • Pattern: Google、Twitter、Wikipediaなどの確立されたウェブサイト向けの高レベルスクレイピング。またNLP、機械学習アルゴリズム、可視化機能も備えている
  • twitterscraper: Twitterを効率的にスクレイピングするライブラリ

空間解析

  • GeoPandas - 地理データ用のPythonツール。pandas compatible
  • PySal - Python空間分析ライブラリ

量子コンピューティング

  • qiskit - Qiskitは、回路、アルゴリズム、アプリケーションモジュールレベルで量子コンピュータを扱うためのオープンソースSDK
  • cirq - Noisy Intermediate Scale Quantum (NISQ)回路の作成、編集、呼び出しを行うPythonフレームワーク
  • PennyLane - 量子機械学習、自動微分、ハイブリッド量子-クラシカル計算の最適化
  • QML - 量子機械学習用のPythonツールキット

変換

  • sklearn-porter - 学習済みscikit-learnの推定器をC、Java、JavaScriptなどにトランスパイル
  • ONNX - オープンニューラルネットワーク交換フォーマット
  • MMdnn - 異なるディープラーニングフレームワーク間のユーザーが相互作用を支援するツールセット
  • treelite - 決定木フォレスト用のユニバーサルモデル交換およびシリアライズフォーマット

コントリビューション

Contributions are welcome! :sunglasses:
Read the <a href=https://github.com/krzjoa/awesome-python-datascience/blob/master/CONTRIBUTING.md>contribution guideline.

ライセンス

This work is licensed under the Creative Commons Attribution 4.0 International License - CC BY 4.0