Python 是全球最受歡迎的程式語言之一,擁有越來越多的程式庫和框架。看看最新的。
Python 是全球最受歡迎的程式語言之一,擁有越來越多的程式庫和框架來促進 AI 和ML 開發。 Python 中有超過 250 個函式庫,要知道哪個函式庫最適合您的專案並跟上所有這些函式庫帶來的技術變化和趨勢,可能會有點令人困惑。
以下是我使用過的流行的 Python 機器學習庫。我盡我所能根據哪些場景使用它們來對它們進行分類。除了這些之外,還有很多庫,但我無法談論我沒有使用過的庫,我認為這些是使用最多的庫。
NumPy 是一個眾所周知 的通用陣列處理包,與其他機器學習包不同。對於 n 維數組(向量、矩陣和高階矩陣),NumPy 提供了高效能(本機編譯)支援和對各種操作的支援。它支援向量化操作,特別是,將 Python 表達式轉換為低階程式碼調度,隱式循環跨資料的不同子集。
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
函數的start 和stop 參數都是必要的,它們傳回的值均勻分佈在預定的時間間隔內。
使用 numpy.repeat(a, repeats, axis=None) 方法重複陣列的元素。第二個輸入重複指定重複次數。
函數numpy.random.randint(low, high=None, size=None, dtype='l') 從[low, high] 傳回隨機整數。如果高參數不存在(無),則從範圍 [0, low] 中選擇隨機數。
簡而言之,NumPy 最佳化和預編譯的 C 程式碼可以處理所有繁重的工作,使其比標準Python 陣列更快。
NumPy 使科學計算中經常使用的許多數學程式變得快速且易於使用。
Pandas 正迅速成為使用最廣泛的 Python 資料分析函式庫,因為它支援處理「關係」和「標記」資料的快速、適應性和表達性資料結構。存在需要 Pandas 的實際和現實世界的 Python 資料分析問題。 Pandas 提供徹底優化和高度可靠的效能。只有 C 或 Python 用於純粹編寫後端程式碼。
要提到的第一個函數是 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("A > 4")只傳回 A 大於 4 的行。
tensor = tf.constant( I[1, 2, 3], [4, 5, 6]]) tf.zeros_like( tensor) # [ [0, 0, 0], [0, 0,0]從輸入影像建立黑色影像時,此功能可能會有所幫助。如果您希望直接定義表單,請使用 tf.zeros。如果您喜歡初始化 1 而不是 0,請使用 tf.ones_like。
这可以在您运行 TensorFlow 应用程序时帮助您。使用 Eager Execution 时,您不需要在会话中构建和运行图。这是有关急切执行的更多信息。
“Eager execution”必须是导入 TensorFlow 后的第一条语句。
Torch 的 Python 实现 Pytorch 得到 Facebook 的支持。它通过提供即时图形编译与上述技术竞争,通过不将图形视为不同和不透明的对象,使 Pytorch 代码与周围的 Python 更加兼容。相反,有许多灵活的技术可以即时构建张量计算。此外,它表现良好。它具有强大的多 GPU 能力,很像 Tensorflow;然而,Tensorflow 仍然适用于更大规模的分布式系统。虽然 Pytorch 的 API 文档齐全,但 Tensorflow 或 Keras 的 API 更加完善。然而,Pytorch 在不影响性能的情况下在灵活性和可用性方面取得了胜利,这无疑迫使 Tensorflow 重新思考和调整。Tensorflow 最近受到 Pytorch 的严重挑战,
Keras 是一个开源软件库,为人工神经网络提供 Python 接口。由于 Keras 名义上是独立于引擎的,所以理论上 Keras 代码可以被重用,即使引擎需要因性能或其他因素而改变。它的缺点是,当您希望创建非常新颖或专业的架构时,通常需要在 Keras 层下使用 Tensorflow 或 Theano。这主要发生在您需要使用复杂的 NumPy 索引时,这对应于 Tensorflow 中的聚集/分散和 Theano 中的 set/inc 子张量。
在 Keras 中,evaluate() 和 predict() 都可用。这些技术可以利用 NumPy 数据集。当数据经过测试后,我完成了对结果的评估。我使用这些技术来评估我们的模型。
每个 Keras 层都包含许多技术。这些层有助于构建、配置和训练数据。密集层有助于操作实现。我使用 flat 展平了输入。Dropout 启用输入丢失。我可以使用重塑工具重塑输出。我使用输入启动了一个 Keras 张量。
您可以获得中间层的输出。
一个相当简单的库是 Keras。它使得从层的中间层获取输出成为可能。您可以轻松地向现有层添加一个新层,以帮助您在中间获得输出。
Theano 是一个 Python 库和优化编译器,用于操作和评估数学表达式,尤其是矩阵值表达式。作为最古老和最成熟的,为 Theano 提供了优势和劣势。大多数用户请求的功能都已添加,因为它是旧版本。但是,其中一些实现有点过于复杂且难以使用,因为没有先例可循。该文档是可以通过但模棱两可的。由于没有简单的方法来检查中间计算,因此在 Theano 中让复杂的项目正常运行可能非常具有挑战性。他们通常使用调试器或通过查看计算图来进行调试。
我用 dscalar 方法声明了一个十进制标量变量。当下面的语句运行时,它会在您的程序代码中添加一个名为 C 的变量。
C = tensor.dscalar()
该函数接受两个参数,第一个是输入,第二个是函数的输出。根据下面的声明,第一个参数是一个包含 C 和 D 两项的数组。结果是一个标量单位,指定为 E。
f = theano.function([C,D], E)
我见过一个高技能的 Python 程序员迅速掌握新库的精妙之处并了解如何使用它。但是,无论是初学者、中级还是专家,选择一种编程语言还是在这种情况下选择一个库而不是另一个库,很大程度上取决于您项目的目标和需求。
以上是流行的 Python 機器學習庫的趨勢和比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!