Awesome Python Data Science
Python Data Scienceを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
-
TabGAN - GANs、拡張モデル、LLMsを用いた合成テーブルデータ生成。

機械学習
汎用機械学習
- SciPy - 科学計算におけるPythonの基本アルゴリズム
- scikit-learn - Pythonにおける機械学習。

- PyCaret - オープンソースかつ低コードのPython機械学習ライブラリ。

- Shogun - 機械学習ツールボックス。
- xLearn - 高性能・使いやすく・スケーラブルな機械学習パッケージ。
- cuML - RAPIDS機械学習ライブラリ。

- modAL - Python3向けのモジュラーフレームワーク(アクティブ学習)。

- Sparkit-learn - PySpark + scikit-learn = Sparkit-learn.

- mlpack - スケーラブルなC++機械学習ライブラリ(Pythonバインディング)。
- dlib - C++で実世界の機械学習およびデータ分析アプリケーションを作成するためのツールキット(Pythonバインディング)。
- MLxtend - Pythonのデータ分析および機械学習ライブラリへの拡張および補助モジュール。

- hyperlearn - 50%以上高速、50%以上RAM使用量削減、GPU対応を再実装したsklearn、Statsmodels。

- Reproducible Experiment Platform (REP) - 人間が使える機械学習ツールボックス。

- scikit-multilearn - Python向けのマルチラベル分類。

- seqlearn - Python向けのシーケンス分類ツールキット。

- pystruct - Python向けのシンプルな構造化学習フレームワーク。

- sklearn-expertsys - scikit-learn向けの高度に解釈可能な分類器。

- RuleFit - rulefitの実装。

- metric-learn - Pythonにおけるメトリック学習アルゴリズム。

- pyGAM - Pythonにおける一般化加算モデル
- causalml - 機械学習アルゴリズムによるアップリフトモデリングと因果推論。

勾配ブースティング
- XGBoost - スケーラブルで、移植可能かつ分散型の勾配ブースト。

- LightGBM - 高速かつ分散型、高性能な勾配ブースト。

- CatBoost - 決定木ベースの勾梯ブーストを用いたオープンソースライブラリ。

- ThunderGBM - GPU上で高速なGBDTとランダムフォレスト。

- NGBoost - 確率予測用の自然勾梯ブースト
- TensorFlow Decision Forests - Kerasにおける決定木モデルの学習・サーバー提供・解釈に用いる最先端アルゴリズムのコレクション。

アンサンブル手法
- ML-Ensemble - 高性能なアンサンブル学習。

- Stacking - シンプルで実用的なスタッキングライブラリ(Pythonベース)。

- stacked_generalization - 機械学習のスタッキング一般化に用いるライブラリ。

- vecstack - スタッキング(機械学習技術)用のPythonパッケージ。

不均衡データセット
- imbalanced-learn - さまざまな手法による下サンプリングと上サンプリングを行うモジュール。

- imbalanced-algorithms - 不均衡データ上の学習に用いるアルゴリズムのPython実装。

カーネル法
- pyFM - Pythonにおけるファクタライゼーションマシン。

- fastFM - ファクタライゼーションマシン用のライブラリ。

- tffm - 任意の順序のファクタライゼーションマシンのTensorFlow実装。

- liquidSVM - SVMの実装。
- scikit-rvm - 関連ベクトルマシンのscikit-learn APIによる実装。

- ThunderSVM - GPUおよびCPU上で高速なSVMライブラリ。

深層学習
PyTorch
- PyTorch - Pythonでテンソルと動的ニューラルネットワークを強力なGPUアクセラレーションで実現。

- pytorch-lightning - PyTorch Lightningは単に整理されたPyTorchである。

- ignite - PyTorchでニューラルネットワークを訓練する際に役立つ高レベルのライブラリ。

- skorch - scikit-learnと互換性のあるニューラルネットワークライブラリでPyTorchをラップ。 <img height=“20” src=” alt=“PyTorch based/compatible”> <img height=“20” src=” alt=“sklearn”> https://raw.githubusercontent.com/krzjoa/awesome-python-data-science/6612257f3e38af232bd08eef25ffc53b92c1b72d/img/sklearn_big.png” https://raw.githubusercontent.com/krzjoa/awesome-python-data-science/6612257f3e38af232bd08eef25ffc53b92c1b72d/img/pytorch_big2.png”
- Catalyst - PyTorch DLおよびRL研究用の高レベルユーティリティ。

- ChemicalX - 薬品ペアスコアリング用のPyTorchベースのディープラーニングライブラリ。

TensorFlow
- TensorFlow - Googleが提供するデータフローグラフによるスケーラブルマシンラーニングの計算。

- TensorLayer - 研究者およびエンジニア向けのディープラーニングおよび強化学習ライブラリ。

- TFLearn - TensorFlow向けの高レベルAPIを備えたディープラーニングライブラリ。

- Sonnet - TensorFlowベースのニューラルネットワークライブラリ。

- tensorpack - TensorFlow上のニューラルネットワーク訓練インターフェース。

- tfdeploy - TensorFlowグラフをデプロイし、高速評価とnumpyで動作するTensorFlowなし環境にエクスポート。

- tensorflow-upstream - TensorFlow ROCm版。

- TensorFlow Fold - TensorFlowにおける動的計算グラフを使ったディープラーニング。

- TensorLight - TensorFlow向けの高レベルフレームワーク。

- Mesh TensorFlow - モデル並列化を容易に。

- Ludwig - コードを書かずに深層学習モデルを訓練・テストできるツールボックス。

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

- keras-contrib - Kerasコミュニティによる貢献。

- Hyperas - Keras + Hyperopt:便利なハイパーパラメータ設定用のシンプルなラッパー。

- Elephas - Keras と Spark を使って分散深層学習。

- qkeras - 量子化深層学習ライブラリ。

その他
- transformers - PyTorch、TensorFlow、JAX向けの最先端機械学習。 <img height=“20” src=” alt=“sklearn”> <img height=“20” src=” alt=“PyTorch based/compatible”> https://raw.githubusercontent.com/krzjoa/awesome-python-data-science/6612257f3e38af232bd08eef25ffc53b92c1b72d/img/pytorch_big2.png” https://raw.githubusercontent.com/krzjoa/awesome-python-data-science/6612257f3e38af232bd08eef25ffc53b92c1b72d/img/tf_big2.png”
- Tangent - 純粋Pythonによるソースからソースへのデバッグ可能な導関数。
- autograd - NumPyコードの導関数を効率的に計算。
- Caffe - 深層学習用の高速オープンフレームワーク。
- nnabla - ソニーが提供するニューラルネットワークライブラリ。
自動機械学習
- auto-sklearn - scikit-learnのエステimatorへの自動化された代替ツール。

- Auto-PyTorch - PyTorch向けの自動アーキテクチャ探索とハイパーパラメータ最適化。

- AutoKeras - 深層学習向けの自動機械学習ライブラリ。

- AutoGluon - 画像、テキスト、テーブル、時系列、マルチモーダルデータ向けの自動機械学習。
- TPOT - 機械学習パイプラインを遺伝プログラミングで最適化する自動機械学習ツール。

- MLBox - 強力な自動機械学習Pythonライブラリ。
自然言語処理
- torchtext - テキストおよびNLP用のデータローダーと抽象化。

- KerasNLP - Kerasを用いたモジュラーネイチャルラングュエージプロセッシングワークフロー。

- spaCy - 産業レベルの自然言語処理。
- NLTK - 自然言語処理研究開発を支援するモジュール、データセット、チュートリアル。
- CLTK - クラシカルな言語ツールキット
- gensim - 人間向けのトピックモデル化
- pyMorfologik - Morfologik.のPythonバインディング
- skift - PythonのfastText向けScikit-learnのラッパー。

- Phonemizer - 複数言語に対応したシンプルなテキスト-to-フォノメス変換器
- flair - 最先端NLPを実現する非常にシンプルなフレームワーク
コンピューター聴覚
- torchaudio - PyTorch向けのオーディオライブラリ。

- librosa - オーディオおよび音楽分析用のPythonライブラリ
- Yaafe - オーディオ特徴量の抽出
- aubio - オーディオおよび音楽分析用のライブラリ
- Essentia - オーディオおよび音楽分析、説明、合成用のライブラリ
- LibXtract - シンプルで、ポータブルで、軽量なオーディオ特徴量抽出関数を備えたライブラリ
- Marsyas - オーディオ信号に対する音楽分析、検索、合成
- muda - 注記されたオーディオデータを拡張するためのライブラリ
- madmom - オーディオおよび音楽信号処理用のPythonライブラリ
コンピュータービジョン
- torchvision - コンピュータビジョンに特化したデータセット、変換、モデル。

- PyTorch3D - PyTorch3Dは、FAIRが提供する3Dデータを使った深層学習の再利用可能なコンポーネントのライブラリ。

- KerasCV - Kerasを使った産業レベルのコンピュータビジョンワークフロー。

- OpenCV - オープンソースコンピュータビジョンライブラリ
- Decord - 深層学習用の効率的なビデオローダー。スマートなシャッフルを備え、非常に使いやすい。
- MMEngine - OpenMMLabによる深層学習モデルの訓練用基礎ライブラリ。

- scikit-image - 画像処理用SciKit(SciPy向けツールボックス)。
- imgaug - 機械学習実験用の画像拡張
- imgaug_extension - imgaugへの追加拡張機能。
- Augmentor - 機械学習用のPythonによる画像拡張ライブラリ。
- albumentations - 高速画像拡張ライブラリおよび他のライブラリを簡単に利用できるラッパー。
- LAVIS - 言語と視覚の知能を一括で提供するライブラリ。
時系列
- sktime - 時系列データを扱う機械学習の統一フレームワーク。

- skforecast - 機械学習モデルを用いた時系列予測
- darts - 時系列データの簡単な操作および予測を行うPythonライブラリ。
- statsforecast - 統計的および経済モデルを用いた高速予測。
- mlforecast - 機械学習に基づくスケーラブル時系列予測。
- neuralforecast - 機械学習に基づくスケーラブル時系列予測。
- tslearn - 時系列データ専用の機械学習ツールキット。

- tick - 統計学的学習モジュールで、特に時系列モデルに焦点を当てる。

- 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ベースの強化学習ライブラリ。

- Acme - 強化学習のコンポーネントおよびエージェントを提供するライブラリ。
- Catalyst-RL - 強化学習研究向けPyTorchフレームワーク。

- d3rlpy - オフライン強化学習ライブラリ。
- DI-engine - OpenDILab決定AIエンジン。

- TF-Agents - TensorFlowベースの強化学習ライブラリ。

- TensorForce - 応用強化学習向けTensorFlowライブラリ。

- TRFL - TensorFlow強化学習。

- Dopamine - 強化学習アルゴリズムの高速プロトタイピングに特化した研究フレームワーク。
- keras-rl - Kerasと互換の強化学習ライブラリ。

- garage - 再現性のある強化学習研究向けツールキット。
- Horizon - 応用強化学習向けプラットフォーム。
- rlpyt - PyTorchにおける強化学習。

- cleanrl - 高品質なシングルファイル実装の深層強化学習アルゴリズム(PPO、DQN、C51、DDPG、TD3、SAC、PPG)を、研究者向けの機能で提供。
- Machin - PyTorch向けの強化学習ライブラリ。

- SKRL - PyTorchおよびJAX向けのモジュラリティを備えた強化学習ライブラリ。NVIDIA Isaac Gym、Isaac OrbitおよびOmniverse Isaac Gymに対応。

- Imitation - シミュレーションおよび報酬学習アルゴリズムの、クリーンなPyTorch実装。

グラフ機械学習
- pytorch_geometric - PyTorch向けの幾何学的深層学習拡張ライブラリ。

- pytorch_geometric_temporal - PyTorch Geometric向けの時系列拡張ライブラリ。

- PyTorch Geometric Signed Directed - PyTorch Geometric向けの有向/有符号グラフニューラルネットワーク拡張ライブラリ。

- dgl - 既存の深層学習フレームワーク上に構築された、グラフ上の深層学習を容易にするPythonパッケージ。

- GRAPE - GRAPEは、予測および評価を目的としたRust/Pythonによるグラフ表現学習ライブラリ
- Spektral - グラフ上の深層学習。

- StellarGraph - グラフ上の機械学習。

- Graph Nets - TensorFlow上でグラフネットを構築。

- TensorFlow GNN - TensorFlowプラットフォーム上でグラフニューラルネットワークを構築するためのライブラリ。

- Auto Graph Learning -グラフ上の機械学習向けの自動機械学習フレームワークおよびツールキット。
- PyTorch-BigGraph - 大規模グラフ構造データから埋め込みを生成。

- Auto Graph Learning - グラフ上の機械学習向けの自動機械学習フレームワークおよびツールキット。
- Karate Club - グラフ構造データ向けの無教師学習ライブラリ。
- Little Ball of Fur - グラフ構造データのサンプリングを行うためのライブラリ。
- GreatX - PyTorchおよびPyTorch Geometric(PyG)をベースとしたグラフの信頼性ツールボックス。

- Jraph - Jax で実装されたグラフニューラルネットワークライブラリ
- TRL - 強化学習を用いたトランスフォーマー言語モデルの訓練
- Cleora - グラフ埋め込みエンジン
グラフ操作
- Networkx - Pythonでのネットワーク解析
- Rustworkx - Rustで実装された高性能Pythonグラフライブラリ
- graph-tool - グラフ(ネットワーク)の操作および統計解析に用いる効率的なPythonモジュール
- igraph - igraphのPythonインターフェース
ランキング学習と推薦システム
- LightFM - LightFMというハイブリッド推薦アルゴリズムのPython実装
- Spotlight - PyTorchを用いた深層推薦モデル
- Surprise - 推薦システムの構築および分析に用いるPythonのscikit
- RecBole - 統合された、包括的で効率的な推薦ライブラリ。

- allRank - allRankは、PyTorchに基づく学習-to-ランクのニューラルモデルの訓練フレームワーク。

- TensorFlow Recommenders - TensorFlowを用いた推薦システムモデルの構築用ライブラリ。

- TensorFlow Ranking - TensorFlowでの学習-to-ランク。

確率的グラフィカルモデル
- pomegranate - Python向けの確率的およびグラフィカルモデル。

- pgmpy - 確率的グラフィカルモデルを扱うPythonライブラリ
- pyAgrum - A GRaphical Universal Modeler
確率的手法
- pyro - PyTorchに基づく柔軟でスケーラブルな深層確率プログラミングライブラリ。

- PyMC - Pythonでのベイズ的確率モデル
- ZhuSuan - ベイズ深層学習。

- GPflow - TensorFlowにおけるガウス過程。

- InferPy - 深層確率モデルの簡単な実装。

- PyStan - ノーウィンターサンプラーを用いたベイズ推論(Pythonインターフェース).
- sklearn-bayes - scikit-learn APIを用いたベイズ機械学習用Pythonパッケージ。

- skpro - 確率モデルにおける監督型ドメイン無関係予測フレームワーク(The Alan Turing Instituteによる)。

- PyVarInf - PyTorchベース/互換性のあるベイズ深層学習と変分推論。

- emcee - affine不変MCMC用のPythonのアンサンブルサンプリングツールキット。
- hsmmlearn - 明示的な期間を持つ隠れた半マルコフモデル(HSMM)のためのライブラリ。
- pyhsmm - HSMMおよびHMMにおけるベイズ推論。
- GPyTorch - PyTorchにおけるガウス過程の高効率かつモジュラリティの高い実装。

- sklearn-crfsuite - CRFsuite向けscikit-learn風API。

モデルの説明
- 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.png” https://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)。

- yellowbrick - 機械学習モデル選定を支援する可視化分析および診断ツール。

- scikit-plot - scikit-learnオブジェクトにプロット機能を追加するための直感的なライブラリ。

- shap - 任意の機械学習モデルの出力を説明するための統一アプローチ。

- InterpretML - InterpretMLは、一般化加算モデル(GAMs)に基づく現代的な完全に解釈可能な機械学習モデルである説明可能なブーストマシン(EBM)を実装しています。このオープンソースパッケージは、EBMやその他のガラスボックスモデル、ブラックボックス説明についても可視化ツールを提供しています。

- ELI5 - 機械学習分類器のデバッグ/確認やその予測を説明するためのライブラリです。
- Lime - 任意の機械学習分類器の予測を説明します。

- FairML - FairMLは、機械学習モデルにおけるバイアスを審査するPython用ツールボックスです。

- L2X - 論文『Learning to Explain: An Information-Theoretic Perspective on Model Interpretation』における実験を再現するためのコードです。
- PDPbox - 部分依存プロットツールボックス。
- PyCEbox - Pythonによる個別条件期待プロットツールボックス。
- Skater - 機械学習モデルの解釈を支援するPythonライブラリ。
- model-analysis - TensorFlow向けのモデル分析ツール。

- themis-ml - バイアスを考慮した機械学習アルゴリズムを実装するライブラリ。

- treeinterpreter - scikit-learnの決定木およびランダムフォレストの予測を解釈します。

- AI Explainability 360 - データおよび機械学習モデルの解釈可能性と説明可能性。
- Auralisation - CNN(音声)で学習された特徴の聴覚化。
- CapsNet-Visualization - CapsNetの層を可視化して、その動作をよりよく理解するための可視化。
- lucid - ニューラルネットワークの解釈性に関する研究に用いるインフラとツールのコレクション。
- Netron - 深層学習および機械学習モデルの可視化ツール(Pythonコードは不要で、主なPython深層学習フレームワークからのモデルを可視化)。
- FlashLight - あなたのニューラルネットワーク向けの可視化ツール。
- tensorboard-pytorch - PyTorch(およびchainer, mxnet, numpy, …)向けのTensorboard。
遺伝的プログラミング
- gplearn - Pythonによる遺伝プログラミング。

- PyGAD - Pythonによる遺伝アルゴリズム。

- DEAP - Pythonによる分散型進化アルゴリズム
- karoo_gp - PythonでGPUをサポートした遺伝プログラミングプラットフォーム。

- monkeys - Pythonにおける強制型タイプの遺伝プログラミングフレームワーク。
- sklearn-genetic - scikit-learn向けの遺伝的特徴選択モジュール。

最適化
- Optuna - ハイパーパラメータ最適化フレームワーク。
- pymoo - Pythonにおける多目的最適化。
- pycma - CMA-ESのPython実装。
- Spearmint - ベイズ最適化。
- BoTorch - PyTorchにおけるベイズ最適化。

- scikit-opt - 最適化用のヒューリスティックアルゴリズム。
- sklearn-genetic-opt - 進化アルゴリズムを用いたハイパーパラメータ調整および特徴選択。

- SMAC3 - 順序モデルベースアルゴリズム構成。
- Optunity - ハイパーパラメータ調整用の多様な最適化ライブラリを含むライブラリ。
- hyperopt - Pythonにおける分散非同期ハイパーパラメータ最適化。
- hyperopt-sklearn - sklearn向けのハイパーパラメータ最適化。

- sklearn-deap - scikit-learnでのグリッドサーチ代わりに進化アルゴリズムを使用。

- sigopt_sklearn - scikit-learnメソッドへのSigOptのラッパー。

- Bayesian Optimization - ガウスプロセスを用いたグローバル最適化のPython実装。
- SafeOpt - 安全なベイズ最適化。
- scikit-optimize - 順序モデルベース最適化と
scipy.optimizeインターフェース。 - Solid - Pythonで書かれた包括的な勾配なし最適化フレームワーク。
- PySwarms - 粒子 swarm最適化におけるPython用研究ツールキット
- Platypus - マルチオブジェクト最適化向け無料オープンソースPythonライブラリ
- GPflowOpt - GPflowを用いたベイズ最適化。

- POT - Pythonの最適輸送ライブラリ
- Talos - Kerasモデル向けのハイパーパラメータ最適化
- nlopt - 非線形最適化(グローバルおよびローカル、制約付きまたは制約なし)用ライブラリ
- OR-Tools - Googleが提供するオープンソース最適化ソフトウェアセット。SCIP、GLPK、GLOP、CP-SAT、CPLEX、Gurobiの6つのソルバーに統一されたプログラミングインターフェースを提供
特徴量エンジニアリング
全般
- Featuretools - 自動特徴エンジニアリング
- Feature Engine - sklearnに類似した機能を持つ特徴エンジニアリングパッケージ。

- OpenFE - 専門レベルのパフォーマンスを備えた自動特徴生成
- skl-groups - set/“group”ベースの特徴に作用するscikit-learn拡張。

- Feature Forge - 機械学習特徴の作成とテストに用いるツールセット。

- few - sklearnとの互換性を持つ特徴エンジニアリングのラッパー。

- scikit-mdr - 特徴構築用のマルチファクターディメンシオナリリダクション(MDR)のscikit-learn互換版。

- tsfresh - 時系列から関連性のある特徴を自動抽出。

- dirty_cat - 汚れたテーブルデータ(特に分類および回帰用の文字ベース変数)上の機械学習。

- NitroFE - 移動窓特徴。

- sk-transformer - さまざまなpandasおよびscikit-learn互換の変換器を収録した、あらゆる前処理および特徴エンジニアリングステップに適用可能なツールセット。

- tubular - narwhalsで記述されたscikit-learn互換の変換器のコレクション。polarsまたはpandasの入力を受け取り、内部で選択されたライブラリを使用。


特徴選択
- scikit-feature - Pythonにおける特徴選択リポジトリ
- boruta_py - ボルタのすべての関連特徴選択手法の実装。

- BoostARoota - 高速なxgboost特徴選択アルゴリズム。

- scikit-rebate - ReBATE、機械学習向けリラフベースの特徴選択アルゴリズムのセットをPythonでscikit-learnと互換性を持つように実装。

- 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のインタラクティブ可視化ライブラリに。
地図
- 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 Profiling - pandasデータフレームオブジェクトからHTMLプロファイリングレポートを作成。

- statsmodels - Pythonでの統計モデルと経済計量学。
- stockstats - インラインの株価統計・指標サポートを備えたwrapper
StockDataFramebased on thepandas.DataFrameを提供。 - weightedcalcs - pandasベースのユーティリティで重み付き平均、中央値、分布、標準偏差などを計算。
- scikit-posthocs - ペアワイズマルチプル比較のポストホコテスト。
- Alphalens - 予測(アルファ)株式ファクターのパフォーマンス分析
データ操作
データフレーム
- pandas - 強力なPythonデータ分析ツールキット。
- polars - 高速かつマルチスレッド、ハイブリッドアウトオブコアのデータフレームライブラリ。
- Arctic - 時系列およびティックデータ用の高性能データストア。
- datatable - Python用のData.table。

- pandas_profiling - pandas DataFrameオブジェクトからHTMLプロファイリングレポートを作成
- cuDF - GPU DataFrameライブラリ。

- blaze - NumPyおよびpandasとのBig Dataインターフェース。

- pandasql - SQL構文を使ってpandas DataFramesをクエリできる。

- pandas-gbq - pandasとGoogle BigQueryの連携。

- xpandas - 1次元・2次元データコンテナと、データ分析用のTransformers機能を持つ The Alan Turing Institute。
- pysparkling - Apache SparkのRDDおよびDStreamインターフェースの純粋Python実装。

- modin - 1行のコードを変更することでpandasワークフローを高速化。

- swifter - pandasデータフレームまたはシリーズに対して、最も高速な方法で任意の関数を適用するパッケージ。
- pandas-log - 基本的なpandas操作に関するフィードバックを提供し、ビジネスロジックおよびパフォーマンス問題を検出するパッケージ。
- vaex - Pythonにおけるアウトオブコアデータフレーム。10億行分の大きなテーブルデータを秒単位で視覚化・探索可能。
- xarray - Xarrayは、NumPyおよびpandasの優れた特徴を組み合わせ、数値軸ラベルに名前付き次元を追加することで、より直感的で簡潔かつ誤りの少ないインデックスルーチンを提供。
パイプライン
- pdpipe - pandasデータフレーム向けのSasyパイプライン。
- SSPipe - Pythonのパイプ(|)演算子。データフレームおよびNumpy、Pytorchに対応。
- pandas-ply - pandas向けの関数型データ操作。

- Dplython - Python向けのDplyr。

- sklearn-pandas - sklearnとのpandas統合。

- Dataset - ランダムまたは順次バッチデータの扱いを便利にし、データ処理を定義できる。
- pyjanitor - データクリーニング用のシンプルなAPI。

- meza - テーブルデータ処理用のPythonツールキット。
- Prodmodel - データサイエンスパイプライン向けのビルドシステム
- dopanda - pandasを分析環境で使う際のヒントとアドバイス。

- Hamilton - ラズリ評価されたPython関数の流れで指定された有向無サイクルグラフを適用するデータフレーム生成用マイクロフレームワーク
データ中心AI
- cleanlab - 実際の世界の汚れたデータとラベルを扱うデータ中心AIの標準パッケージ。データ品質と機械学習
- snorkel - 弱監督で訓練データを迅速に生成するシステム
- dataprep - Pythonで数行のコードでデータを収集・クリーンアップ・可視化
合成データ
- ydata-synthetic - 最先端の生成モデルを活用した合成テーブルデータおよび時系列データ生成パッケージ。

分散コンピューティング
- Horovod - TensorFlow、Keras、PyTorch、Apache MXNet向けの分散トレーニングフレームワーク。

- PySpark - PythonにApache Sparkのプログラミングモデルを露出。

- Veles - 分散型機械学習プラットフォーム
- Jubatus - 分散型オンライン機械学習向けのフレームワークおよびライブラリ
- DMTK - マイクロソフトの分散機械学習ツールキット
- PaddlePaddle - PArallel Distributed Deep LEarning
- dask-ml - 分散型および並列型機械学習。

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

データ検証
- great_expectations - データから期待できる内容を常に把握できる。
- pandera - 軽量で柔軟かつ表現力の高い統計データテストライブラリ。
- deepchecks - モデル開発、デプロイ、プロダクション中にMLモデルおよびデータの検証とテスト。

- evidently - 検証からプロダクションまでMLモデルの評価と監視。
- TensorFlow Data Validation - 機械学習データの探索および検証に用いるライブラリ。
- DataComPy- Pandas、Polars、Sparkのデータフレームを比較するライブラリ。統計情報を提供し、マッチ精度を調整できる。
評価
- recmetrics - 推薦システムの評価に使えるメトリクスとプロットのライブラリ。
- Metrics - 機械学習評価メトリクス。
- sklearn-evaluation - モデル評価を簡単に行う:プロット、テーブル、マーカード報告書。

- AI Fairness 360 - データセットおよびMLモデルの公平性メトリクス、説明、データセットおよびモデルにおけるバイアスを軽減するアルゴリズム。
- alibi-detect - 異常値、敵対的行動、ドリフト検出用アルゴリズム。

計算処理
- NumPy - Pythonで科学計算を行うための基本パッケージ
- Dask - タスクスケジューリングによる並列計算。

- 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を効率的にスクレイピングするライブラリ
空間解析
量子コンピューティング
- 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