隱藏的寶藏:使用這些 Python 庫改變您的機器學習工作流程(python machine庫)
T特別是數(shù)據(jù)科學領域,擁有大量的工具和庫,使我們能夠從數(shù)據(jù)中提取知識。然而,在常用的Python庫(如NumPy,Pandas,Matplotlib,Seaborn,scikit-learn等)的表面之下,存在一個鮮為人知但功能強大的庫的寶庫,它們可以為您的機器學習工作流程提供顯著的推動力。
有哪些常見的機器學習庫?
機器學習項目主要由NumPy,Pandas,Matplotlib,Seaborn和Scikit-Learn等庫支持。NumPy具有強大的數(shù)組操作能力,對于數(shù)值計算是必不可少的。Pandas 通過其 DataFrame 結構簡化了數(shù)據(jù)處理和分析。為了創(chuàng)建引人入勝的數(shù)據(jù)可視化表示,Matplotlib和Seaborn是不可或缺的資源。Scikit-Learn為各種機器學習任務(如聚類,回歸和分類)提供了一個全面的工具包。當共同利用這些資源時,數(shù)據(jù)科學家能夠有效地審查、評估和建模數(shù)據(jù)。
低調機器學習庫
? 熊貓分析
Python 熊貓分析模塊是自動進行探索性數(shù)據(jù)分析 (EDA) 的強大工具。它會生成一份廣泛的報告,其中包含有關數(shù)據(jù)集的有見地的信息,包括要保留哪些變量以及要刪除哪些變量。
from pandas_profiling import ProfileReportprofile = ProfileReport(df, title='Dataset Report', explorative=True)profile.to_notebook_iframe()
使用時,該庫提供了對正在處理的數(shù)據(jù)的幾個重要見解。其中一些包括:
概述:*本節(jié)概述了數(shù)據(jù)集,包括變量和觀測值的數(shù)量以及不同類型的變量。*
相關性 — 本節(jié)使用熱圖來說明數(shù)據(jù)集中變量之間的關系。它允許在各種相關圖之間切換,包括皮爾遜的 r、肯德爾的 τ、斯皮爾曼的 ρ 和 Phik (φk)。
警告 — 本節(jié)包含有關具有大量零、NaN 值和高度基數(shù)分類變量的變量的注意事項。
? 缺失
這個用于可視化數(shù)據(jù)集中缺失數(shù)據(jù)的驚人工具是Python missingno包。它提供了許多功能來幫助分析師和數(shù)據(jù)科學家理解其數(shù)據(jù)中缺失值的分布和存在。它提供了一些驚人的可視化效果,例如:
矩陣圖 — 這描繪了數(shù)據(jù)集中 NULL/NAN/缺失值的整個存在的視覺圖片。
pip install missingnoimport missingno as msnomsno.matrix(df)
條形圖 — 這將創(chuàng)建每個要素列的值計數(shù)的條形圖,不包括每個要素列中的缺失值。
msno.bar(df, color="dodgerblue", sort="ascending", figsize=(8,6), fontsize=8)
熱圖 — 這可用于創(chuàng)建關聯(lián)熱圖,以識別和分析列之間的相關性。
msno.heatmap(df)
登多圖 — 這提供了不同特征之間的相關性和缺失信息存在的分層表示。
msno.dendrogram(df)
? 皮卡雷特
適用于 Python 的開源低代碼 PyCaret 機器學習模塊嘗試自動執(zhí)行評估和對比回歸和分類的機器學習算法所涉及的關鍵過程。它旨在縮短從假設到見解所需的時間,因此經(jīng)驗豐富的數(shù)據(jù)科學家和新手都可以從中受益。
許多機器學習項目階段,包括特征工程、模型訓練、評估和數(shù)據(jù)預處理,都由 PyCaret 自動化。此外,它還提供了比較多個機器學習模型和微調超參數(shù)的功能。
您可以使用 pip 安裝 PyCaret:
pip install pycaret
要使用 PyCaret 進行分類,您可以通過以下方式執(zhí)行此操作:
from pycaret.classification import *clf = setup(data, target='target_column')best = compare_models()
要使用 PyCaret 進行回歸,您可以通過以下方式執(zhí)行此操作:
from pycaret.regression import *clf = setup(data, target='target_column')best = compare_models()
? 鐘擺
在 Python 中管理日期和時間的一個非常有用的工具是鐘擺包。在處理日期和時間時,它提供了比 Python 內置的日期時間模塊更可靠、對開發(fā)人員友好的 API。您可以使用 Pendulum 快速完成日期和時間的格式化、解析和算術運算等活動。它是管理應用程序中與時間相關的數(shù)據(jù)的有效工具,因為它還提供時區(qū)和持續(xù)時間計算等功能。
該庫的一些關鍵功能包括:
DateTime 實例 — 使用 now() 函數(shù)獲取當前日期和時間,或使用 datetime() 函數(shù)獲取 特定日期和時間,您可以構建 DateTime 對象。使用 local() 函數(shù),您還可以構建具有特定時區(qū)的 DateTime 實例。
import pendulumdt = pendulum.datetime(2020, 11, 27)print(dt)local = pendulum.local(2020, 11,27)print(local)print(local.timezone.name)
時區(qū)轉換 — 庫的 in_timezone() 和 convert() 函數(shù)使在多個時區(qū)之間切換變得簡單。
utc_time = pendulum.now('UTC')kolkata_time = utc_time.in_timezone('Asia/Kolkata')print('Current Date Time in Kolkata =', kolkata_time)Sydney_tz = pendulum.timezone('Australia/Sydney')sydney_time = sydney_tz.convert(utc_time)print('Current Date Time in Sydney =', sydney_time)
日期時間操作 — 可以使用 add() 和 subtract() 函數(shù)調整日期和時間 。每個方法都會生成一個新的 DateTime 實例。
dt = pendulum.parse('1997-11-21T22:00:00', tz = 'Asia/Calcutta')print(dt)dt = pendulum.from_format('2020/11/21', 'YYYY/MM/DD')print(dt)
持續(xù)時間和周期計算 — 庫中的 duration() 函數(shù)允許您生成可在 DateTime 實例中添加或減去的持續(xù)時間。 period() 函數(shù)還可用于確定兩個 DateTime 實例之間的時間間隔。
time_delta = pendulum.duration(days = 2, hours = 10, years = 2)print(time_delta)print('future date =', pendulum.now() time_delta)start = pendulum.datetime(2021, 1, 1)end = pendulum.datetime(2021, 1, 31)period = pendulum.period(start, end)print(period.days)
結論
總之,用于機器學習的隱藏 Python 庫提供了有價值的工具,可以促進您的項目。從高效的時間管理到增強的數(shù)據(jù)可視化,這些資源擴展了您的能力。探索這些隱藏的寶石可以提高工作效率和工作的準確性。隨著 Python 的發(fā)展,嘗試鮮為人知的庫是保持領先地位的明智之舉。如果您嘗試過上述任何庫,請告訴我。我很想聽聽你最喜歡的低調Python ML庫,如果它們不在這篇文章中,那就更多了!在評論中讓我知道!