Rumah >Peranti teknologi >AI >Trend dan perbandingan perpustakaan pembelajaran mesin Python yang popular

Trend dan perbandingan perpustakaan pembelajaran mesin Python yang popular

WBOY
WBOYke hadapan
2023-04-12 23:52:121130semak imbas

Python ialah salah satu bahasa pengaturcaraan paling popular di dunia, dengan semakin banyak perpustakaan dan rangka kerja. Semak yang terkini.

Trend dan perbandingan perpustakaan pembelajaran mesin Python yang popular

Python ialah salah satu bahasa pengaturcaraan paling popular di dunia, dengan semakin banyak perpustakaan dan rangka kerja untuk memudahkan pembangunan AI dan ML. Terdapat lebih 250 perpustakaan dalam Python, dan ia boleh menjadi sedikit mengelirukan untuk mengetahui perpustakaan mana yang terbaik untuk projek anda dan mengikuti perubahan teknikal dan trend yang datang dengan kesemuanya.

Berikut ialah perpustakaan pembelajaran mesin Python yang popular yang telah saya gunakan. Saya telah melakukan yang terbaik untuk mengkategorikannya berdasarkan senario mana ia digunakan. Terdapat banyak perpustakaan selain ini tetapi saya tidak boleh bercakap tentang yang saya tidak pernah gunakan, saya rasa ini adalah yang paling banyak digunakan.

NumPy

NumPy ialah pakej pemprosesan tatasusunan tujuan umum yang terkenal yang berbeza daripada pakej pembelajaran mesin yang lain. Untuk tatasusunan n-dimensi (vektor, matriks dan matriks tertib tinggi), NumPy menyediakan sokongan dan sokongan berprestasi tinggi (disusun secara asli) untuk pelbagai operasi. Ia menyokong operasi bervektor, khususnya, menukar ungkapan Python kepada penghantaran kod peringkat rendah, secara tersirat menggelung merentasi subset data yang berbeza.

Fungsi NumPy

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

function The parameter mula dan henti kedua-duanya diperlukan dan nilai pulangan diagihkan sama rata dalam selang masa yang telah ditetapkan.

  • numpy.repeat

Gunakan kaedah numpy.repeat(a, repeats, axis=None) untuk mengulang elemen tatasusunan. Input kedua mengulangi bilangan kali yang ditentukan.

  • numpy.random.randint

Fungsi numpy.random.randint(rendah, tinggi=Tiada, saiz=Tiada, dtype='l') daripada [rendah , high] mengembalikan integer rawak. Jika parameter tinggi tidak wujud (Tiada), nombor rawak dipilih daripada julat [0, rendah].

Mengapa Numpy begitu popular

Ringkasnya, kod C yang dioptimumkan dan diprasusun NumPy boleh mengendalikan semua pengangkatan berat, menjadikannya lebih pantas daripada tatasusunan Python standard.

NumPy menjadikan banyak program matematik kerap digunakan dalam pengkomputeran saintifik dengan pantas dan mudah digunakan.

Panda

Panda dengan cepat menjadi perpustakaan analisis data Python yang paling banyak digunakan kerana ia menyokong struktur data yang pantas, boleh disesuaikan dan ekspresif untuk bekerja dengan data "perhubungan" dan "diteg". Terdapat masalah analisis data Python praktikal dan dunia sebenar yang memerlukan Panda. Pandas menyampaikan prestasi yang dioptimumkan sepenuhnya dan sangat dipercayai. Hanya C atau Python digunakan untuk menulis kod hujung belakang semata-mata.

Sesetengah fungsi Panda

pd.read_csv, pd.read_excel

Fungsi pertama yang disebut ialah read_csv atau read_excel. Penjelasan yang jelas telah disediakan untuk fungsi ini. Saya menggunakannya untuk membaca data daripada fail CSV atau Excel ke dalam format DataFrame panda.

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

fungsi.read csv() juga boleh membaca fail .txt menggunakan sintaks berikut:

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

Ekspresi Boolean boleh menapis atau menanyakan data. Saya boleh menggunakan kriteria penapis sebagai rentetan menggunakan fungsi pertanyaan. Ia menawarkan lebih banyak kebebasan daripada banyak program lain.

df.query("A > 4")

Kembalikan hanya baris yang A lebih besar daripada 4.

  • df.iloc()

Saya menghantar indeks baris dan lajur sebagai argumen kepada fungsi yang mengembalikan subset yang sesuai bagi DataFrame.

  • df[‘’].dtypes

Satu lagi ciri yang sangat asas dan popular. Sebelum memulakan sebarang analisis, visualisasi atau pemodelan ramalan, anda mesti mengetahui jenis data pembolehubah anda. Menggunakan teknik ini anda boleh mendapatkan jenis data setiap lajur.

  • df.dtypes

Panda vs Vaex

Vaex Python ialah alternatif kepada pustaka Pandas yang menggunakan Out of Core Dataframe untuk mengira sejumlah besar data data lebih cepat. Untuk melihat dan mengkaji set data jadual yang besar, Vaex ialah modul Python berprestasi tinggi untuk bingkai data luar teras yang malas (serupa dengan Pandas). Lebih daripada 1 bilion baris boleh dikira sesaat menggunakan statistik mudah. Ia menyokong pelbagai visualisasi, membolehkan penerokaan data interaktif yang meluas.

TensorFlow

TensorFlow ialah perpustakaan Python untuk pengiraan berangka pantas yang dibuat dan diterbitkan oleh Google. Tensorflow menggunakan bahasa dan nama fungsi yang berbeza daripada Theano, yang mungkin menjadikan penukaran daripada Theano lebih rumit daripada yang sepatutnya. Walau bagaimanapun, keseluruhan graf pengiraan dalam Tensorflow beroperasi sama seperti di Theano, dengan kelebihan dan kekurangan yang sama. Walaupun pengubahsuaian pada graf pengiraan mempunyai kesan yang ketara ke atas prestasi, fungsi eval Tensorflow hanya memudahkan sedikit untuk memerhati keadaan perantaraan. Tensorflow ialah teknologi pembelajaran mendalam pilihan berbanding Theano dan Caffe beberapa tahun lalu.

Fungsi terbina dalam TensorFlow

  • tf.zeros_like

Output fungsi ini ialah tensor jenis dan bentuk yang sama seperti input tetapi dengan nilai Tensor sifar.

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

Ciri ini mungkin berguna apabila mencipta imej hitam daripada imej input. Jika anda ingin mentakrifkan borang secara langsung, gunakan tf.zeros. Jika anda lebih suka memulakan dengan 1 dan bukannya 0, gunakan tf.ones_like.

  • tfpad

Menambah padding yang ditentukan di sekelilingnya dengan nilai tetap untuk meningkatkan dimensi tensor.

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

Atas ialah kandungan terperinci Trend dan perbandingan perpustakaan pembelajaran mesin Python yang popular. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam