ホームページ >テクノロジー周辺機器 >AI >人気の Python 機械学習ライブラリの傾向と比較

人気の Python 機械学習ライブラリの傾向と比較

WBOY
WBOY転載
2023-04-12 23:52:121130ブラウズ

Python は世界で最も人気のあるプログラミング言語の 1 つであり、ライブラリやフレームワークの数は増え続けています。最新情報をチェックしてください。

人気の Python 機械学習ライブラリの傾向と比較

#Python は世界で最も人気のあるプログラミング言語の 1 つであり、AI と ML の開発を促進するためのライブラリとフレームワークの数が増えています。 Python には 250 を超えるライブラリがあり、どのライブラリが自分のプロジェクトに最適であるかを知り、それらすべてに伴うテクノロジーの変化やトレンドに追いつくのは少し混乱するかもしれません。

ここでは、私が使用した人気のある Python 機械学習ライブラリを紹介します。使用されるシナリオに基づいて分類するために最善を尽くしました。これら以外にも多くのライブラリがありますが、私が使用していないものについては話せません。これらが最もよく使用されているものだと思います。

NumPy

NumPy は、他の機械学習パッケージとは異なる、よく知られた汎用の配列処理パッケージです。 n 次元配列 (ベクトル、行列、高次行列) の場合、NumPy は高性能 (ネイティブ コンパイル) サポートとさまざまな演算のサポートを提供します。ベクトル化された操作をサポートし、特に Python 式を低レベルのコード ディスパッチに変換し、データのさまざまなサブセット間で暗黙的にループします。

NumPy 関数

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

function start パラメータと stop パラメータは両方とも必須であり、所定の時間間隔にわたって均等に分散された値を返します。

  • numpy.repeat

numpy.repeat(a,repeats,axis=None)メソッドを使用して、配列の要素を繰り返します。 2 番目の入力は、指定された回数だけ繰り返されます。

  • numpy.random.randint

関数 numpy.random.randint(low, high=None, size=None, dtype='l') from [low, high] はランダムな整数を返します。高パラメータが存在しない (None) 場合は、[0, low] の範囲から乱数が選択されます。

Numpy はなぜそれほど人気が​​あるのですか?

つまり、NumPy に最適化されプリコンパイルされた C コードはすべての重労働を処理できるため、標準の Python 配列よりも高速になります。

NumPy は、科学計算で頻繁に使用される多くの数学プログラムを高速かつ簡単に使用できるようにします。

Pandas

Pandas は、「リレーショナル」データと「タグ付き」データを操作するための高速で適応性のある表現力豊かなデータ構造をサポートしているため、急速に最も広く使用されている Python データ分析ライブラリになりつつあります。 Pandas を必要とする実践的で現実的な Python データ分析の問題があります。 Pandas は、徹底的に最適化された信頼性の高いパフォーマンスを提供します。純粋にバックエンド コードを記述する場合は、C または Python のみが使用されます。

いくつかの Pandas 関数

pd.read_csv、pd.read_excel

最初に言及する関数は read_csv または read_excel です。これらの機能については明確な説明が提供されています。これらを使用して、CSV または Excel ファイルからデータを pandas DataFrame 形式に読み取ります。

df = pd.read_csv("PlayerStat.csv")

.read csv() 関数は、次の構文を使用して .txt ファイルを読み取ることもできます:

data = pd.read_csv(file.txt, sep=" ")
  • df.query()

ブール式数式ではデータをフィルタリングまたはクエリできます。クエリ関数を使用して、フィルター条件を文字列として適用できます。他の多くのプログラムよりも自由度が高くなります。

df.query("A > 4")

A が 4 より大きい行のみを返します。

  • df.iloc()

行と列のインデックスを引数として関数に渡します。これにより、DataFrame の適切なサブセットが返されます。

  • df[''].dtypes

もう 1 つの非常に基本的で人気のある機能です。分析、視覚化、または予測モデリングを開始する前に、変数のデータ型を知っておく必要があります。この手法を使用すると、各列のデータ型を取得できます。

  • df.dtypes

Pandas 対 Vaex

Vaex Python は、アウトオブコア データフレームを使用して大量の計算を高速化する Pandas ライブラリの代替ですデータ。大規模な表形式データセットを表示および研究するための、Vaex は、遅延アウトオブコア データ フレーム用の高性能 Python モジュールです (Pandas と同様)。単純な統計を使用して、1 秒あたり 10 億行以上を計算できます。さまざまな視覚化をサポートし、広範なインタラクティブなデータ探索を可能にします。

TensorFlow

TensorFlow は、Google によって作成および公開された高速数値計算用の Python ライブラリです。 Tensorflow は Theano とは異なる言語と関数名を使用するため、Theano からの切り替えが必要以上に複雑になる可能性があります。ただし、Tensorflow の計算グラフ全体は Theano のものと同様に動作しますが、同じ長所と短所があります。計算グラフへの変更はパフォーマンスに大きな影響を与えますが、Tensorflow の eval 関数は中間状態の観察をわずかに容易にするだけです。 Tensorflow は、数年前の Theano や Caffe と比較して、ディープ ラーニング テクノロジとして好まれています。

TensorFlow 組み込み関数

  • tf.zeros_like

この関数の出力は、入力テンソルと同じタイプおよび形状のテンソルです。ただし、Tensor 値はゼロです。

tensor = tf.constant( I[1, 2, 3], [4, 5, 6]])
tf.zeros_like( tensor) # [ [0, 0, 0], [0, 0,0]

この関数は、入力画像から黒い画像を作成する場合に役立ちます。フォームを直接定義したい場合は、tf.zeros を使用します。 0 ではなく 1 で初期化したい場合は、tf.ones_like を使用してください。

  • tfpad

テンソルの周囲に定数値で指定されたパディングを追加して、テンソルの次元を増やします。

  • tf.enable_eager_execution

这可以在您运行 TensorFlow 应用程序时帮助您。使用 Eager Execution 时,您不需要在会话中构建和运行图。这是有关急切执行的更多信息。

“Eager execution”必须是导入 TensorFlow 后的第一条语句。

TensorFlow 与 PyTorch

Torch 的 Python 实现 Pytorch 得到 Facebook 的支持。它通过提供即时图形编译与上述技术竞争,通过不将图形视为不同和不透明的对象,使 Pytorch 代码与周围的 Python 更加兼容。相反,有许多灵活的技术可以即时构建张量计算。此外,它表现良好。它具有强大的多 GPU 能力,很像 Tensorflow;然而,Tensorflow 仍然适用于更大规模的分布式系统。虽然 Pytorch 的 API 文档齐全,但 Tensorflow 或 Keras 的 API 更加完善。然而,Pytorch 在不影响性能的情况下在灵活性和可用性方面取得了胜利,这无疑迫使 Tensorflow 重新思考和调整。Tensorflow 最近受到 Pytorch 的严重挑战,

Keras

Keras 是一个开源软件库,为人工神经网络提供 Python 接口。由于 Keras 名义上是独立于引擎的,所以理论上 Keras 代码可以被重用,即使引擎需要因性能或其他因素而改变。它的缺点是,当您希望创建非常新颖或专业的架构时,通常需要在 Keras 层下使用 Tensorflow 或 Theano。这主要发生在您需要使用复杂的 NumPy 索引时,这对应于 Tensorflow 中的聚集/分散和 Theano 中的 set/inc 子张量。

Keras 函数

  • 评估与预测

在 Keras 中,evaluate() 和 predict() 都可用。这些技术可以利用 NumPy 数据集。当数据经过测试后,我完成了对结果的评估。我使用这些技术来评估我们的模型。

  • Keras 中的图层

每个 Keras 层都包含许多技术。这些层有助于构建、配置和训练数据。密集层有助于操作实现。我使用 flat 展平了输入。Dropout 启用输入丢失。我可以使用重塑工具重塑输出。我使用输入启动了一个 Keras 张量。

您可以获得中间层的输出。

一个相当简单的库是 Keras。它使得从层的中间层获取输出成为可能。您可以轻松地向现有层添加一个新层,以帮助您在中间获得输出。

Theano

Theano 是一个 Python 库和优化编译器,用于操作和评估数学表达式,尤其是矩阵值表达式。作为最古老和最成熟的,为 Theano 提供了优势和劣势。大多数用户请求的功能都已添加,因为它是旧版本。但是,其中一些实现有点过于复杂且难以使用,因为没有先例可循。该文档是可以通过但模棱两可的。由于没有简单的方法来检查中间计算,因此在 Theano 中让复杂的项目正常运行可能非常具有挑战性。他们通常使用调试器或通过查看计算图来进行调试。

Theano 函数

  • 声明变量

我用 dscalar 方法声明了一个十进制标量变量。当下面的语句运行时,它会在您的程序代码中添加一个名为 C 的变量。

C = tensor.dscalar()
  • 定义 Theano 函数

该函数接受两个参数,第一个是输入,第二个是函数的输出。根据下面的声明,第一个参数是一个包含 C 和 D 两项的数组。结果是一个标量单位,指定为 E。

f = theano.function([C,D], E)

结论

我见过一个高技能的 Python 程序员迅速掌握新库的精妙之处并了解如何使用它。但是,无论是初学者、中级还是专家,选择一种编程语言还是在这种情况下选择一个库而不是另一个库,很大程度上取决于您项目的目标和需求。

以上が人気の Python 機械学習ライブラリの傾向と比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。