ディープ ラーニングに一般的に使用される Python ライブラリ (コア ライブラリ、ビジュアライゼーション、NLP、コンピューター ビジョン、ディープ ラーニングなど)

(1) コア ライブラリと統計: Numpy、Scipy、Pandas、StatsModels。

(2) 視覚化: Matplotlib、Seaborn、Plotly、Bokeh、Pydot、Scikit-learn、XGBoost/LightGBM/CatBoost、Eli5。

(3)ディープラーニング:Tensorflow、PyTorch、Keras。

(4) 分散ディープラーニング: Distkeras / elephas/spark-deep-learning。

(5) 自然言語処理: NLTK、SpaCy、Gensim。

(6) データ収集: Scrapy。

1. コアライブラリと統計

  • Numpy: 科学アプリケーション ライブラリから始めましょう。NumPy は、この分野の主要なパッケージの 1 つです。これは大規模な多次元配列と行列を処理するように設計されており、広範な高度な数学関数と実装されたメソッドにより、これらのオブジェクトを使用してさまざまな操作を実行できます。この 1 年間、NumPy には多くのアップデートが行われました。バグ修正と互換性の問題に加えて、主要な更新には NumPy オブジェクトの印刷形式が含まれます。さらに、特定の関数は、Python で使用可能な任意のエンコーディングのファイルを処理できるようになりました。
  • SciPy: 科学計算用のもう 1 つのコア ライブラリはSciPyです。NumPy に基づいており、その機能が拡張されています。SciPy のメイン データ構造もやはり多次元配列であり、Numpy によって実装されます。このパッケージには、線形代数、確率論、積分計算などのタスクを解決するのに役立つツールが含まれています。SciPy はさまざまなオペレーティング システムに適応できます。今年、Scipy は多くの機能アップデート、特にオプティマイザーをもたらしました。さらに、多くの新しい BLAS および LAPACK 関数がカプセル化されています。
  • Pandas:  Pandas は、高度なデータ構造とさまざまな分析ツールを提供します。このパッケージの優れた機能は、かなり複雑なデータ操作を 1 つまたは 2 つのコマンドに変換できることです。Pandas には、時系列機能だけでなく、データのグループ化、フィルター処理、結合のための多くの組み込みメソッドが含まれています。年間を通じて行われる Pandas のアップデートには、何百もの新機能、バグ修正、API の変更が含まれます。
  • StatsModels:  Statsmodels は、統計モデルの推定、統計テストの実行など、統計データ分析に一般的に使用される手法です。その助けを借りて、多くの機械学習手法を実装できます。このライブラリは常に更新されています。今年は、時系列の改善と新しいカウント モデル (GeneralizedPoisson、Zero-Inflated Model、NegativeBinomialP) に加え、新しい多変量手法 (因子分析、MANOVA、ANOVA の反復測定) が導入されました。

2. 視覚化

  • Matplotlib: Matplotlib は、2 次元のチャートとグラフを作成するための低レベル ライブラリですこれを利用すると、ヒストグラムや散布図から非デカルト座標プロットまで、あらゆる種類のチャートを作成できます。さらに、多くの一般的なプロット ライブラリは matplotlib で使用するように設計されています。色、サイズ、フォント、凡例のスタイルなどがすべて変更されます。たとえば、軸の凡例の自動位置合わせや、より使いやすいカラー マッチングなどです。
  • Seaborn : Seaborn は本質的に、matplotlib ライブラリに基づく高レベルの API です。 これには、時系列、結合プロット、バイオリン プロット (データ密度分布を表示) などの複雑なタイプを含む、豊富な視覚化ライブラリが含まれています。seaborn のアップデートには主にバグ修正が含まれます。さらに、FacetGrid または FairGrid と強化されたインタラクティブな matplotlib バックエンドとの間の互換性が向上し、視覚化のためのパラメーターとオプションが追加されました。
  • Plotly: Plotly は、複雑なグラフィックスを簡単に構築できる人気のあるライブラリです。このパッケージは、対話型 Web アプリケーションに適しています。その視覚化には、等高線グラフィックス、三値プロット、および 3D チャートが含まれます今年のライブラリの更新には、アニメーションとクロストークの統合に加えて、「マルチリンク ビュー」のサポートが含まれています。
  • Bokeh: Bokeh ライブラリは JavaScript ウィジェットを使用して、ブラウザーでインタラクティブでスケーラブルな視覚エフェクトを作成します。このライブラリは、グラフィック、スタイル、リンク図、定義されたコールバック、その他多くの便利な機能の形式でさまざまな対話型機能を提供します。Bokeh は、カテゴリ目盛ラベルの回転、小さなズーム ツール、カスタム ツールヒント フィールドの拡張など、改善されたインタラクティブ機能を提供します。
  • Pydot: Pydot は、純粋な Python で書かれた Graphviz へのインターフェイスです。これを利用すると、デシジョン ツリーに基づいたニューラル ネットワークやアルゴリズムを構築するときによく使用されるグラフの構造を表示できます。

3. 機械学習

  • Scikit-learn: NumPy と SciPy に基づくこの Python モジュールは、データを操作するのに最適なライブラリの 1 つです。クラスタリング、回帰、分類、次元削減、モデル選択など、多くの標準的な機械学習およびデータ マイニング タスク用のアルゴリズムを提供します。今年のこのライブラリの更新には、複数のメトリクスを使用できるようにする相互検証への変更、最近傍回帰やロジスティック回帰などのいくつかのトレーニング方法への小規模な改善が含まれます。
  • XGBoost/LightGBM/CatBoost:ブースティングは最も一般的な機械学習アルゴリズムの 1 つであり、基本モデルのコレクション、つまりデシジョン ツリーを構築することで構成されますしたがって、このメソッドを迅速かつ簡単に実装するために設計された特殊なライブラリがあります。XGBoost、LightGBM および CatBoost は特に注意が必要です。これらのライブラリは、高度に最適化され、スケーラブルで高速な勾配ブースティングの実装を提供するため、データ サイエンティストや Kaggle コンテストの間で非常に人気があります。
  • Eli5:多くの場合、機械学習モデルによって予測される結果は完全には明確ではありませんが、eli5 ライブラリは問題の解決に役立ちます。機械学習モデルを視覚的にデバッグし、アルゴリズムの作業プロセスを段階的に追跡するためのパッケージです。scikit-learn 、XGBoost、LightGBM、lightning、および sklearn-crfsuite ライブラリと互換性があります

4. ディープラーニング

  • TensorFlow: TensorFlow は、Google Brain によって開発された人気の深い機械学習フレームワークです。複数のデータセットで人工ニューラル ネットワークを使用する機能を提供します。最も人気のある TensorFlow アプリケーションには、オブジェクト認識、音声認識などが含まれます。このライブラリは新しいバージョンでは非常に高速であり、新しい機能が導入されています。最新の修正には、潜在的なセキュリティ脆弱性と、1 台のコンピューター上の複数の GPU で Estimator モデルを実行できるようにする TensorFlow と GPU の統合の改善が含まれています。
  • PyTorch: PyTorch は、GPU アクセラレーションを使用してテンソル計算を実行し、動的な計算グラフを作成し、勾配を自動的に計算できる大規模なフレームワークです。これに加えて、PyTorch はニューラル ネットワークに関連するアプリケーションを解決するための豊富な API を提供します。このライブラリは、 Lua のラッパーを使用してC で実装されたオープンソースの深層学習ライブラリである Torch に基づいています。Python API は 2017 年に発表され、それ以来、このフレームワークの人気が高まり、ますます多くのデータ サイエンティストを惹きつけてきました。
  • Keras: Keras は、TensorFlow および Theano 上で実行される、ニューラル ネットワークを処理するための高レベル ライブラリです。CNTK と MxNet をバックエンドとして使用できるようになりました。これにより、多くの特定のタスクが簡素化され、単調なコードの量が大幅に削減されます。ただし、複雑なものによっては適さない場合があります。このライブラリでは、パフォーマンス、使いやすさ、ドキュメント、API がいくつか改善されています。新しい機能としては、Conv3DTranspose レイヤー、新しい MobileNet アプリケーション、自己正規化ネットワークなどがあります。
  • Dist-keras/elephas/spark-deep-learning:このような大量のデータは、Apache Sparkのような分散コンピューティング システムを使用すると より簡単に処理でき、ディープ ラーニングの可能性が再び広がります。したがって、dist-keraselephas と Spark-Deep-Learning は急速に開発されています。これらのパッケージは、Apache Spark の助けを借りて、Keras ライブラリに基づいてニューラル ネットワークを直接トレーニングできます。Spark-deep-learning は、Python ニューラル ネットワークを使用してパイプラインを作成するためのツールも提供します。

5. 自然言語処理

  • NLTK: NLTK は、自然言語処理のための完全なプラットフォームであるライブラリのセットです。NLTK を利用すると、さまざまな方法でテキストを処理および分析したり、タグ付けしたり、情報を抽出したりできます。NLTK は、プロトタイピングや研究システムの構築にも使用されますこのライブラリのエンチャントには、API と互換性への小さな変更のほか、CoreNLP の新しいインターフェイスが含まれます。
  • SpaCy: SpaCy は、優れたデモ、API ドキュメント、およびデモ アプリケーションを含む自然言語処理ライブラリです。このライブラリは、Python の C 拡張機能である Cython 言語で書かれています。30 近くの言語をサポートし、シンプルな深層学習統合を提供し、堅牢性と高精度を保証します。SpaCy のもう 1 つの重要な特徴は、文書をフレーズに分割せずに文書全体を処理できるように設計されていることです。
  • Gensim: Gensim は、 Numpy と Scipy に基づいて構築された、強力なセマンティック分析、トピック モデリング、ベクトル空間モデリングのための Python ライブラリです。word2vec などの一般的な NLP アルゴリズムの実装を提供します。
  • Scrapy: Scrapy は、Web サイトのページをスキャンして構造化データを収集するクローラーを作成するためのクローラー ライブラリです。さらに、Scrapy は API からデータを抽出できます。このライブラリは拡張性と移植性があるため、非常に便利です。
  •  トークナイザー (Huggingface によって開発):研究および生産用に最適化された最先端の高速トークナイザー。

6. コンピュータビジョン

  • Pillow: PIL (Python Imaging Library)は、さまざまな画像形式を開いたり、操作したり、保存したりするためのサポートを追加する無料の Python プログラミング言語ライブラリですしかし、開発は停滞し、最後のバージョンは 2009 年にリリースされました。幸いなことに、Pillow は積極的に開発された PIL のフォークであり、インストールが簡単で、すべての主要なオペレーティング システムで実行でき、Python 3 をサポートしています。このライブラリには、ポイント操作、一連の組み込みコンボリューション カーネルを使用したフィルタリング、色空間変換などの基本的な画像処理関数が含まれています。
  • scikit-image: scikit-image は、NumPy 配列で使用するオープンソースの Python パッケージです。研究、教育、産業アプリケーション向けのアルゴリズムとユーティリティを実装します。これには、セグメンテーション、幾何学的変換、色空間操作、分析、フィルタリング、形態学、特徴検出などのアルゴリズムが含まれています。
  • OpenCV-Python:  OpenCV (オープン ソース コンピューター ビジョン ライブラリ) は、コンピューター ビジョン アプリケーションで最も広く使用されているライブラリの 1 つです。OpenCV-Python は OpenCV の Python API です。バックエンドは C/C++ で記述されたコードで構成されているため、OpenCV-Python は高速ですが、コーディングとデプロイも簡単です (フロントエンドの Python ラッパーのおかげで)。このため、計算負荷の高いコンピューター ビジョン プログラムを実行する場合に最適です。これには、物体検出、ビデオ分析、画像認識のためのアルゴリズムが含まれています。 
  • SimpleCV: SimpleCV は、コンピューター ビジョン アプリケーションを構築するためのもう 1 つのオープン ソース フレームワークです。ユーザーがデジタル画像にアクセスして操作できるようにします。このライブラリは、フィルター、形態学的演算、色変換、エッジ検出などの画像処理のためのさまざまな関数を提供します
  • Mahotas:  Mahotas は、Python 用のもう 1 つのコンピューター ビジョンおよび画像処理ライブラリです。これには、フィルタリングや形態学的操作などの従来の画像処理機能に加え、特徴点検出や局所記述子などの特徴計算のためのより最新のコンピュータ ビジョン機能が含まれています。

おすすめ

転載: blog.csdn.net/qq_43687860/article/details/132797409