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