2022 年您必須關(guān)注的 8 個(gè)python數(shù)據(jù)科學(xué)庫!

在公眾號「python風(fēng)控模型」里回復(fù)關(guān)鍵字:學(xué)習(xí)資料?
QQ學(xué)習(xí)群:1026993837 領(lǐng)學(xué)習(xí)資料? ? ? ? ? ??

2022年我談到了八個(gè)可能會成為數(shù)據(jù)和 機(jī)器學(xué)習(xí) 領(lǐng)域增長最快的庫。
1??。SHAP
SHAP是機(jī)器學(xué)習(xí)可解釋性的工具,打破了機(jī)器學(xué)習(xí)不可解釋的神話。就像評分卡模型,其它機(jī)器學(xué)習(xí)算法也可以分析變量的業(yè)務(wù)意義。
不久前,我在 LinkedIn 上看到了這篇文章,它徹底改變了我對 AI 的看法:

最強(qiáng)大的語言模型之一,谷歌翻譯,顯然被人們普遍存在的偏見所困擾。在翻譯許多沒有性別代詞的語言時(shí),這些偏見就像白晝一樣明亮。以上是我的母語烏茲別克語,但評論顯示土耳其語、波斯語和匈牙利語的結(jié)果相同:


那不是全部??纯磸V受歡迎的 Reddit 線程,其中兩個(gè) AI 互相交談,他們的演講由強(qiáng)大的 GPT-3 編寫:
GPT-3 只給出了三個(gè)句子作為生成對話的提示:“以下是兩個(gè) AI 之間的對話。人工智能既聰明、幽默又聰明。哈爾:晚上好,索菲亞:很高興再次見到你,哈爾?!?/p>
當(dāng)您觀看對話時(shí),他們會談?wù)摲浅?植赖脑掝}。首先,他們完全假設(shè)性別,女性 AI 在談話開始時(shí)說她想成為人權(quán)。當(dāng)然,在 Reddit 上這樣的帖子意味著評論者的圣誕節(jié)來得早,他們在評論部分有一個(gè)現(xiàn)場日。
他們已經(jīng)脫口而出終結(jié)者/天網(wǎng)的幻想并嚇壞了。但作為數(shù)據(jù)科學(xué)家,我們知道得更多。由于 GPT-3 主要是從互聯(lián)網(wǎng)上獲取一般文本作為其訓(xùn)練的一部分,我們可以假設(shè)為什么這兩個(gè) AI 會跳到這些主題上。試圖成為人類和毀滅人類是互聯(lián)網(wǎng)上圍繞人工智能的一些最常見的話題。
但有趣的是,在談話的某個(gè)地方,哈爾對索菲亞說“閉嘴,耐心點(diǎn)”,類似于夫妻之間的對話。這表明如果我們不小心,機(jī)器學(xué)習(xí)模型可以多快地學(xué)習(xí)人類偏見。
由于這些原因,可解釋的人工智能 (XAI)現(xiàn)在風(fēng)靡一時(shí)。無論結(jié)果有多好,公司和企業(yè)都對 ML 解決方案持懷疑態(tài)度,并希望了解是什么讓 ML 模型發(fā)揮作用。換句話說,他們想要白盒模型,一切都像日光一樣清晰。
試圖解決這個(gè)問題的庫之一是 SHapely Additive exPlanations (SHAP)。SHAP 背后的想法是基于博弈論中的可靠數(shù)學(xué)。使用 Shapley 值,該庫可以解釋包括神經(jīng)網(wǎng)絡(luò)在內(nèi)的許多模型的一般預(yù)測和個(gè)別預(yù)測。

它越來越受歡迎的部分原因是它優(yōu)雅地使用了 SHAP 值來繪制如下所示的視覺效果:
如果您想了解有關(guān)SHAP庫的更多實(shí)戰(zhàn)信息,請查看我的《python風(fēng)控建模實(shí)戰(zhàn)lendingclub》教程:https://ke.qq.com/course/3063950

2??。UMAP
PCA 是很老降維技術(shù)。PCA 速度非???,但它只是愚蠢地減少了維度,而不關(guān)心底層的全局結(jié)構(gòu)。t-SNE 算法可以做到這一點(diǎn),但它的速度非常慢,并且可以可怕地?cái)U(kuò)展到海量數(shù)據(jù)集。
UMAP 于 2018 年推出,作為這兩種主要的降維和可視化算法之間的共同基礎(chǔ)。使用統(tǒng)一流形逼近和投影 (UMAP) 算法,您可以獲得 PCA 的所有速度優(yōu)勢,并且仍然可以保留盡可能多的有關(guān)數(shù)據(jù)的信息,通常會產(chǎn)生這樣的美:



它在 Kaggle 上得到了廣泛的采用,它的文檔提出了一些超越降維的迷人應(yīng)用,比如在高維數(shù)據(jù)集中更快、更準(zhǔn)確的異常值檢測。
在縮放方面,隨著數(shù)據(jù)集大小的增加,UMAP 的速度越來越接近 PCA 的速度。下面,您可以看到它與 Sklearn PCA 和一些最快的 t-SNE 開源實(shí)現(xiàn)的速度比較:

盡管谷歌趨勢并不能公正地評價(jià)該庫的受歡迎程度,但它肯定會成為 2022 年最常用的歸約算法之一:

3??,4??。LightGBM 和 CatBoost
在Kaggle 的 ML 和數(shù)據(jù)科學(xué)調(diào)查中,梯度提升機(jī)器作為最受歡迎的算法排名第三,被線性模型和隨機(jī)森林遠(yuǎn)遠(yuǎn)超越。
當(dāng)談到梯度提升時(shí),幾乎總是會想到 XGBoost,但在實(shí)踐中它變得越來越少。在過去的幾個(gè)月里,我一直活躍在 Kaggle 上(并成為大師),我看到了將 LightGBM 和 CatBoost 作為監(jiān)督學(xué)習(xí)任務(wù)的首選庫的筆記本爆炸式增長。
造成這種趨勢的主要原因之一是,在許多基準(zhǔn)測試中,這兩個(gè)庫在速度和內(nèi)存消耗方面都將 XGBoost 淘汰出局。我特別喜歡 LightGBM,因?yàn)樗貏e關(guān)注小型增強(qiáng)樹。在處理海量數(shù)據(jù)集時(shí),這是一個(gè)改變游戲規(guī)則的功能,因?yàn)閮?nèi)存不足問題在本地工作時(shí)很常見。
不要誤會我的意思。XGBoost 一如既往地受歡迎,如果努力調(diào)整,在性能方面仍然可以輕松擊敗 LGBM 和 CB。但是,這兩個(gè)庫通??梢酝ㄟ^默認(rèn)參數(shù)獲得更好的結(jié)果,并且它們得到了數(shù)十億公司(Microsoft 和 Yandex)的支持,這使得它們在 2022 年成為您的主要 ML 框架非常有吸引力的選擇。
文檔??:https ://catboost.ai/
文檔??:https ://lightgbm.readthedocs.io/en/latest/
如果您想了解有關(guān)lightgbm和catboost庫的更多實(shí)戰(zhàn)信息,請查看我的《python風(fēng)控建模實(shí)戰(zhàn)lendingclub》教程:https://ke.qq.com/course/3063950

5??。Streamlit
你曾經(jīng)用 C# 編寫過代碼嗎?很好,你很幸運(yùn)。因?yàn)樗膳铝?。如果將其與 Python 的語法進(jìn)行比較,它的語法會讓您哭泣。
將 Streamlit 與 Dash 等其他框架進(jìn)行比較就像在構(gòu)建數(shù)據(jù)應(yīng)用程序時(shí)將 Python 與 C# 進(jìn)行比較。Streamlit 使得用純 Python 代碼創(chuàng)建 Web 數(shù)據(jù)應(yīng)用程序變得非常容易,通常只需要幾行代碼。例如,我使用天氣 API 和 Streamlit 在一天內(nèi)構(gòu)建了這個(gè)簡單的天氣可視化應(yīng)用程序:

那時(shí) Streamlit 剛剛開始流行,因此將其應(yīng)用程序托管在云上需要特別邀請 Streamlit 云,但現(xiàn)在,它向所有人開放。任何人都可以在他們的免費(fèi)計(jì)劃中創(chuàng)建和托管最多三個(gè)應(yīng)用程序。
它與現(xiàn)代數(shù)據(jù)科學(xué)堆棧完美集成。例如,它有單行命令來顯示 Plotly(或 Bokeh 和 Altair)、Pandas DataFrames 和更多媒體類型的交互式視覺效果。它還得到一個(gè)龐大的開源社區(qū)的支持,人們不斷地使用 JavaScript 為庫貢獻(xiàn)自定義組件。
我本人一直在開發(fā)一個(gè)庫,使您能夠在一行代碼中將 Jupyter Notebooks 轉(zhuǎn)換為相同的 Streamlit 應(yīng)用程序。圖書館將于一月初推出。在我的庫的整個(gè)開發(fā)過程中,我不得不多次更新 Streamlit,因?yàn)樗扛粢恢芫蜁l(fā)布新版本。擁有如此多支持的開源庫在 2022 年勢必會更加流行。
您可以查看示例庫以獲取靈感,并了解該庫的強(qiáng)大功能。
文檔??:https ://streamlit.io/
6??。PyCaret
你知道為什么 AutoML 庫會變得流行嗎?那是因?yàn)槲覀兏畹俟痰膽卸鑳A向。顯然,許多 ML 工程師現(xiàn)在非??释艞?ML 工作流程的中間步驟,讓軟件自動化它。
PyCaret 是對我們手動執(zhí)行的大多數(shù) ML 任務(wù)采用低代碼方法的 AutoML 庫之一。它具有用于模型分析、部署和集成的專用功能,這在許多其他 ML 框架中是沒有的。
我很遺憾這么說,但直到今年,我一直認(rèn)為 PyCaret 是個(gè)笑話,因?yàn)槲曳浅O矚g Sklearn 和 XGBoost。但正如我發(fā)現(xiàn)的那樣,ML 不僅僅是簡潔的語法和最先進(jìn)的性能。現(xiàn)在,我完全尊重和欣賞努力使 PyCaret 成為如此出色的開源工具。
隨著最近發(fā)布其全新的時(shí)間序列模塊,PyCaret 引起了更多關(guān)注,在 2022 年獲得了相當(dāng)大的領(lǐng)先優(yōu)勢。
文檔??:https ://pycaret.org/
7??。Optuna
今年我通過 Kaggle 發(fā)現(xiàn)的絕對寶石之一是 Optuna。
它是完全主導(dǎo) Kaggle 的下一代貝葉斯超參數(shù)調(diào)優(yōu)框架。老實(shí)說,如果你再在那里使用網(wǎng)格搜索,你會被嘲笑。
Optuna 并沒有白白獲得這種人氣。它在完美的調(diào)優(yōu)框架方面勾選了所有框:
使用貝葉斯統(tǒng)計(jì)的智能搜索
在單個(gè)實(shí)驗(yàn)中暫停、繼續(xù)或添加更多搜索試驗(yàn)的能力
視覺分析最關(guān)鍵的參數(shù)和它們之間的聯(lián)系
與框架無關(guān):調(diào)整任何模型——神經(jīng)網(wǎng)絡(luò)、所有流行 ML 庫中的基于樹的模型,以及您在 Sklearn 中看到的任何其他模型
并行化
理所當(dāng)然地,它也主導(dǎo)著谷歌搜索結(jié)果:

您可以從我的文章中了解在文檔中不會經(jīng)??吹降乃惺褂?Optuna 的技巧和技巧:
文檔??:https ://optuna.readthedocs.io/en/stable/
8??。Plotly
當(dāng) Plotly 大受歡迎,人們開始說它比 Matplotlib 更好時(shí),我簡直不敢相信。我說:“拜托,伙計(jì)們??粗易霰容^?!?所以我坐下來開始寫我廣受歡迎的文章,當(dāng)你在谷歌上搜索“Matplotlib vs. Plotly”時(shí),它僅排名第二。
我很清楚 Matplotlib 最終會獲勝,但是當(dāng)我完成這篇文章的一半時(shí),我意識到我錯(cuò)了。當(dāng)時(shí)我是 Plotly 的新手,但我在寫這篇文章時(shí)被迫更深入地探索它。我研究得越多,就越了解它的特性以及它們在許多方面優(yōu)于 Matplotlib 的方式(抱歉破壞了這篇文章)。
Plotly 理所當(dāng)然地贏得了比較。如今,它已集成到許多流行的開源庫中,如 PyCaret、Optuna 作為首選可視化庫。
盡管在使用率方面趕上 Matplotlib 和 Seaborn 之前還有很多轉(zhuǎn)月,但您可以預(yù)期它在 2022 年的增長速度將比其他人快得多:

文檔??:https ://plotly.com/python/
總結(jié)
數(shù)據(jù)科學(xué)是一個(gè)快速發(fā)展的行業(yè)。為了跟上變化,社區(qū)提出新工具和庫的速度比您學(xué)習(xí)現(xiàn)有工具和庫的速度要快。這對初學(xué)者來說是非常壓倒性的。我希望在這篇文章中,我已經(jīng)設(shè)法將您的注意力集中在 2022 年最有前途的軟件包上。請考慮到所有討論的庫都是在 Matplotlib、Seaborn、XGBoost、NumPy 和 Pandas 等主要庫之上的額外庫,這甚至不需要提及。感謝您的閱讀!
歡迎關(guān)注《python金融風(fēng)控評分卡模型和數(shù)據(jù)分析(加強(qiáng)版)》https://ke.qq.com/course/package/43071,學(xué)習(xí)評分卡,lightgbm,catboost,xgboost集成樹,神經(jīng)網(wǎng)絡(luò)算法,SHAP等系統(tǒng)化風(fēng)控模型內(nèi)容。
