无码人妻丰满熟妇奶水区码,麻豆一区区三,亚洲日韩欧美精品综合,亚洲无码地址

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

機(jī)器之心報道

機(jī)器之心編輯部

PyCaret 庫支持在「低代碼」環(huán)境中訓(xùn)練和部署有監(jiān)督以及無監(jiān)督的機(jī)器學(xué)習(xí)模型,提升機(jī)器學(xué)習(xí)實驗的效率。

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

想提高機(jī)器學(xué)習(xí)實驗的效率,把更多精力放在解決業(yè)務(wù)問題而不是寫代碼上?低代碼平臺或許是個不錯的選擇。

最近,機(jī)器之心發(fā)現(xiàn)了一個開源低代碼機(jī)器學(xué)習(xí) Python 庫 PyCaret,它支持在「低代碼」環(huán)境中訓(xùn)練和部署有監(jiān)督以及無監(jiān)督的機(jī)器學(xué)習(xí)模型。

GitHub 地址:https://github.com/pycaret/pycaret

用戶文檔:https://www.pycaret.org/guide

Notebook 教程:https://www.pycaret.org/tutorial

PyCaret 庫支持?jǐn)?shù)據(jù)科學(xué)家快速高效地執(zhí)行端到端實驗,與其他開源機(jī)器學(xué)習(xí)庫相比,PyCaret 庫只需幾行代碼即可執(zhí)行復(fù)雜的機(jī)器學(xué)習(xí)任務(wù)。該庫適合有經(jīng)驗的數(shù)據(jù)科學(xué)家、傾向于低代碼機(jī)器學(xué)習(xí)解決方案的公民數(shù)據(jù)科學(xué)家,以及編程背景較弱甚至沒有的新手。

PyCaret 庫支持多種 Notebook 環(huán)境,包括 Jupyter Notebook、Azure notebook 和 Google Colab。從本質(zhì)上來看,PyCaret 是一個 Python 封裝器,封裝了多個機(jī)器學(xué)習(xí)庫和框架,如 sci-kit-learn、XGBoost、Microsoft LightGBM、spaCy 等。

機(jī)器學(xué)習(xí)實驗中所有步驟均可使用 PyCaret 自動開發(fā)的 pipeline 進(jìn)行復(fù)現(xiàn)。在 Pycaret 中所執(zhí)行的所有操作均按順序存儲在 Pipeline 中,該 Pipeline 針對模型部署進(jìn)行了完全配置。

不管是填充缺失值、轉(zhuǎn)換類別數(shù)據(jù)、執(zhí)行特征工程設(shè)計,還是調(diào)參,Pycaret 都能夠自動執(zhí)行。而且 pipeline 可以保存為二進(jìn)制文件格式,支持在不同環(huán)境中進(jìn)行遷移。

PyCaret 包含一系列函數(shù),用戶通過它們完成機(jī)器學(xué)習(xí)實驗。PyCaret 庫的函數(shù)可分為以下五個大類,涵蓋初始化、模型訓(xùn)練、集成、分析與部署

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

此外,PyCaret 提供 6 個模塊,支持有監(jiān)督和無監(jiān)督模型的訓(xùn)練和部署,分別是分類、回歸、聚類、異常檢測、自然語言處理和關(guān)聯(lián)規(guī)則挖掘。每個模塊封裝特定的機(jī)器學(xué)習(xí)算法和不同模塊均可以使用的函數(shù)。用戶可以根據(jù)實驗類型,將模塊導(dǎo)入環(huán)境中。

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

PyCaret 庫提供的六個模塊。

接下來,我們就來了解一下 PyCaret 庫的安裝和使用方法吧。

啟動 PyCaret

使用 pip 安裝 PyCaret。

使用命令行界面或 notebook 環(huán)境,運行下面的代碼進(jìn)行安裝:

pip install pycaret

Azure notebook 和 Google Colab 用戶,可以運行下列代碼進(jìn)行安裝:

!pip install pycaret

安裝 PyCaret 時會自動安裝所有依賴項,過程非常簡單,如下圖所示:

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

?

PyCaret 分步教程

數(shù)據(jù)獲取

該教程使用「糖尿病」數(shù)據(jù)集,目標(biāo)是根據(jù)血壓、胰島素水平以及年齡等多種因素預(yù)測患者的預(yù)后情況(1 或 0)。數(shù)據(jù)集參見 PyCaret 的 GitHub 地址。

直接從 PyCaret 庫中導(dǎo)入數(shù)據(jù)集的最簡單方法是使用 pycaret.datasets 模塊中的 get_data 函數(shù)。

from *pycaret.datasets* import *get_data*

diabetes = *get_data*('diabetes')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

get_data 的輸出。

PyCaret 可以直接處理 Pandas 數(shù)據(jù)幀。

環(huán)境配置

在 PyCaret 中執(zhí)行任意機(jī)器學(xué)習(xí)實驗的第一步都是,通過導(dǎo)入所需模塊并初始化 setup() 來設(shè)置環(huán)境。如下示例中使用的模塊是 pycaret.classification。

模塊導(dǎo)入后,將通過定義數(shù)據(jù)結(jié)構(gòu)「糖尿病」和目標(biāo)變量「類變量」來初始化 setup()。

from *pycaret.classification* import ***exp1 = *setup*(diabetes, target = 'Class variable')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

所有預(yù)處理的步驟都會應(yīng)用至 setup() 中,PyCaret 擁有 20 余項功能可運用于 ML 相關(guān)的數(shù)據(jù)準(zhǔn)備,例如根據(jù) setup 函數(shù)中定義的參數(shù)來創(chuàng)建 Transformation pipeline,同時也會自動協(xié)調(diào) Pipeline 中所有的相關(guān)性及依賴關(guān)系。這樣面對測試或者未見過的數(shù)據(jù)集,用戶無需再手動管理或是調(diào)整執(zhí)行的順序。

PyCaret 的 Pipeline 可輕松地在各環(huán)境之間相互遷移,比如大規(guī)模運行或是輕松部署到生產(chǎn)環(huán)境中。下圖展示了 PyCaret 首次發(fā)布時可用的預(yù)處理功能:

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

PyCaret 的預(yù)處理功能。

數(shù)據(jù)預(yù)處理是機(jī)器學(xué)習(xí)的必要步驟,比如當(dāng)初始化 setup() 時,缺失值填充、分類變量編碼、標(biāo)簽編碼(將 yes or no 轉(zhuǎn)化為 1 or 0)以及 train-test-split 會自動執(zhí)行。

模型比較

這是監(jiān)督機(jī)器學(xué)習(xí)實驗(分類或回歸模塊)應(yīng)該進(jìn)行的第一步。compare_models 函數(shù)訓(xùn)練模型庫中的所有模型,并使用 k 折交叉驗證(默認(rèn) k=10)來比較常見的評估指標(biāo)。所使用的評估指標(biāo)如下所示:

分類模塊:準(zhǔn)確度、AUC、Recall、精度、F1 和 Kappa;

回歸模塊:MAE、MSE、RMSE、R2、RMSLE 和 MAPE。

*compare_models*()

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

compare_models() 函數(shù)的輸出。Output from compare_models( ) function

默認(rèn)使用 10 折交叉驗證來評估指標(biāo),可以通過改變 fold 參數(shù)值來改變評估結(jié)果。默認(rèn)使用精度值(由高到低)來分類 table,同樣可以通過改變 sort 參數(shù)值來改變分類結(jié)果。

模型創(chuàng)建

在 PyCaret 的任何模塊中,創(chuàng)建模型就像編寫 create_model 一樣簡單,它只需要一個參數(shù),即作為字符串輸入來傳遞的模型名稱。此函數(shù)返回具有 k 折交叉驗證分?jǐn)?shù)和訓(xùn)練好的模型對象的表格。

adaboost = *create_model*('adaboost')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

變量「adaboost」存儲一個由*create_model*函數(shù)返回的訓(xùn)練模型對象,該對象是 scikit 學(xué)習(xí)估計器??梢酝ㄟ^在變量后使用標(biāo)點(.)來訪問訓(xùn)練對象的原始屬性。參見下面的示例:

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

訓(xùn)練好的模型對象的屬性。

PyCaret 有 60 多個開源即用型算法。

模型調(diào)優(yōu)

tune_model 函數(shù)用于自動調(diào)優(yōu)機(jī)器學(xué)習(xí)模型的超參數(shù)。PyCaret 在預(yù)定義的搜索空間上使用隨機(jī)網(wǎng)格搜索。此函數(shù)返回具有 k 折交叉驗證分?jǐn)?shù)和訓(xùn)練好的模型對象的表格。

tuned_adaboost = tune_model('ada')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

在無監(jiān)督模塊中的 tune_model 函數(shù),比如 pycaret.nlp,pycaret.clustering 和 pycaret.anomaly 可以和監(jiān)督模塊結(jié)合使用。舉例而言,通過評估監(jiān)督 ML 模型中的目標(biāo)或者損失函數(shù),PyCaret 的 NLP 模塊可以用來調(diào)整準(zhǔn)確度或 R2 等指標(biāo)的數(shù)值。

模型集成

ensemble_model 函數(shù)用于集成訓(xùn)練好的模型。它只需要一個參數(shù),即訓(xùn)練好的模型對象。此函數(shù)返回具有 k 折交叉驗證分?jǐn)?shù)和訓(xùn)練好的模型對象的表格。

# creating a decision tree model

dt = *create_model*('dt')# ensembling a trained dt model

dt_bagged = *ensemble_model*(dt)

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

該庫默認(rèn)使用 Bagging 方法用于模型集成,用戶也可使用 ensemble_model 函數(shù)中的 method 參數(shù)將其轉(zhuǎn)換為 Boosting。

PyCaret 還提供了 blend_models 和 stack_models 功能,來集成多個訓(xùn)練好的模型。

模型繪制

訓(xùn)練好的機(jī)器學(xué)習(xí)模型的性能評估和診斷可以通過 plot_model 函數(shù)來完成,具體而言,將訓(xùn)練模型對象和 plot 類型作為 plot_model 函數(shù)中的字符串輸入(string input)。

# create a model

adaboost = *create_model*('ada')# AUC plot

*plot_model*(adaboost, plot = 'auc')# Decision Boundary

*plot_model*(adaboost, plot = 'boundary')# Precision Recall Curve

*plot_model*(adaboost, plot = 'pr')# Validation Curve

*plot_model*(adaboost, plot = 'vc')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

此外,用戶還可以使用 evaluate_model 函數(shù)在 notebook 的用戶界面上看到可視化圖。

*evaluate_model*(adaboost)

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

pycaret.nlp 模塊中的 plot_model 函數(shù)可用于可視化文本語料庫和語義主題模型。

?模型解釋?

數(shù)據(jù)中的關(guān)系呈非線性是實踐中常常出現(xiàn)的情況。這時總會看到基于樹的模型要比簡單的高斯模型的表現(xiàn)好得多。但這是以犧牲可解釋性為代價的,因為基于樹的模型無法像線性模型那樣提供簡單的系數(shù)。

PyCaret 通過 interpret_model 函數(shù)實現(xiàn)了 SHAP(SHapley Additive exPlanations)。

# create a model

xgboost = *create_model*('xgboost')# summary plot

*interpret_model*(xgboost)# correlation plot

*interpret_model*(xgboost, plot = 'correlation')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

測試數(shù)據(jù)集上特定數(shù)據(jù)點的解釋可以通過『reason』圖來評估。如下圖所示:在測試數(shù)據(jù)集上檢查首個實例。

*interpret_model*(xgboost, plot = 'reason', observation = 0)

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

模型預(yù)測

到目前為止,所看到的結(jié)果僅基于訓(xùn)練數(shù)據(jù)集上 k 折交叉驗證(默認(rèn) 70%)。所以為了得到模型在測試或者 hold-out 數(shù)據(jù)集上的預(yù)測結(jié)果和性能,用戶可以使用 predict_model 函數(shù)。如下所示:

# create a model

rf = *create_model*('rf')# predict test / hold-out dataset

rf_holdout_pred* = predict_model*(rf)

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

predict_model 函數(shù)還可以用來預(yù)測未見過的數(shù)據(jù)集?,F(xiàn)在,將訓(xùn)練時所使用的數(shù)據(jù)集用作新的未見過數(shù)據(jù)集的代理(proxy)。在實踐中,predict_model 函數(shù)會被迭代地使用,每次使用都會有一個新的未見過的數(shù)據(jù)集。

predictions = *predict_model*(rf, data = diabetes)

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

此外,對于使用 stack_models 和 create_stacknet 函數(shù)創(chuàng)建的模型,predict_model 函數(shù)可以預(yù)測它們的序列鏈。不僅如此,借助于 deploy_model 函數(shù),predict_model 函數(shù)還可以直接基于托管在 AWS S3 上的模型進(jìn)行預(yù)測。

模型部署

我們可以使用以下方法讓訓(xùn)練好的模型在未見過的數(shù)據(jù)集上生成預(yù)測:在訓(xùn)練模型的同一個 notebook 或 IDE 中使用 predict_model 函數(shù)。但是,在未見過的數(shù)據(jù)集上執(zhí)行預(yù)測是一個迭代的過程。其中,基于用例的不同,預(yù)測可以分為實時預(yù)測和批量預(yù)測。

PyCaret 的 deploy_model 函數(shù)允許部署整個 pipeline,包括云端訓(xùn)練的模型。

*deploy_model*(model = rf, model_name = 'rf_aws', platform = 'aws',

authentication = {'bucket' : 'pycaret-test'})

模型/實驗保存

訓(xùn)練完成后,包含所有預(yù)處理轉(zhuǎn)換和訓(xùn)練模型對象在內(nèi)的整個 pipeline 能夠以二進(jìn)制 pickle 文件的格式保存。

# creating model

adaboost = *create_model*('ada')# saving model*

save_model*(adaboost, model_name = 'ada_for_deployment')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

用戶也能夠以二進(jìn)制文件的格式保存整個實驗,包括所有中間輸出(intermediary output)。

*save_experiment*(experiment_name = 'my_first_experiment')

幾行代碼搞定ML模型,低代碼機(jī)器學(xué)習(xí)Python庫正式開源(m代碼編程)

最后,通過 PyCaret 所有模塊中可用的 load_model 和 load_experiment 函數(shù),用戶還可以下載保存的模型和實驗。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年1月12日 上午9:53
下一篇 2024年1月12日 上午10:09

相關(guān)推薦

  • 科研項目重復(fù)申請

    科研項目重復(fù)申請 科研項目重復(fù)申請是一種常見的現(xiàn)象,特別是在一些研究項目資金充足的機(jī)構(gòu)或國家。重復(fù)申請不僅可以浪費有限的研究資金,也會給研究人員帶來不必要的壓力和負(fù)擔(dān)。本文將探討科…

    科研百科 2025年2月3日
    4
  • 服務(wù)指南 – 八百客全流程定制化服務(wù)助力企業(yè)高效管理(八百客crm官網(wǎng))

    前言 八百客作為中國第一家CRM老牌廠商及中國企業(yè)在線CRM管理系統(tǒng)領(lǐng)軍者,不僅在系統(tǒng)本身上精益求精,與時俱進(jìn)不斷創(chuàng)新,還始終肩負(fù)“讓每位客戶享受定制化服務(wù)”的使命,更加注重客戶在…

    科研百科 2023年12月6日
    148
  • 課題負(fù)責(zé)人的職責(zé)

    課題負(fù)責(zé)人的職責(zé) 課題負(fù)責(zé)人是一個非常重要的角色,負(fù)責(zé)制定和指導(dǎo)課題的研究計劃,確保研究項目能夠按時、高質(zhì)量完成。以下是課題負(fù)責(zé)人應(yīng)該承擔(dān)的一些主要職責(zé)。 1. 確定研究目標(biāo)和研究…

    科研百科 2024年10月14日
    61
  • 科研項目 ppt模板 科研類ppt

    科研項目PPT模板 科研項目PPT模板是一種用于展示科研項目的模板,通常用于學(xué)術(shù)會議、報告、演示等場合。一個好的科研項目PPT模板不僅能夠吸引聽眾的注意力,還能夠清晰地傳達(dá)研究內(nèi)容…

    科研百科 2024年4月1日
    98
  • 專業(yè)丨工程管理專業(yè):未來工程中不可或缺的靈魂(工程管理專業(yè)需要具備的能力)

    高考資訊·指導(dǎo)雜志 大學(xué)、專業(yè)、學(xué)科、志愿、勵志……那些事兒 關(guān)注 在我們的前幾期文章中,評論區(qū)有讀者提出想了解工程管理專業(yè)。 工程管理到底是個什么樣的專業(yè)?主要研究什么?未來就業(yè)…

    2022年5月18日
    586
  • C#開發(fā)安卓

    C#是.NET框架中的一種編程語言,它可以用來開發(fā)安卓應(yīng)用程序。雖然C#不是原生的安卓開發(fā)語言,但是可以使用C#來編寫安卓應(yīng)用程序,這使得開發(fā)者可以使用.NET框架提供的功能和工具…

    科研百科 2024年11月28日
    2
  • 在基礎(chǔ)研究類科研機(jī)構(gòu)的評估上,德國馬普學(xué)會是這樣做的→

    原文刊載于《中國科學(xué)院院刊》2023年第10期“政策與管理研究”,原文標(biāo)題《基礎(chǔ)研究類科研機(jī)構(gòu)的評估——來自德國馬普學(xué)會的實踐與啟示》,本文為精簡改編版。 關(guān)忠誠1,2 陳曉雷1,…

    科研百科 2024年4月7日
    87
  • 科研項目調(diào)查情況說明

    科研項目調(diào)查情況說明 近年來,隨著科技的不斷發(fā)展,科研項目已經(jīng)成為推動科技進(jìn)步和社會發(fā)展的重要力量。然而,科研項目的順利進(jìn)行離不開科學(xué)的嚴(yán)謹(jǐn)態(tài)度和科學(xué)的調(diào)查方法。本文將對科研項目調(diào)…

    科研百科 2025年3月17日
    4
  • 論文算科研項目嗎

    論文是否算作科研項目,取決于具體的應(yīng)用場景和評估標(biāo)準(zhǔn)。在某些情況下,論文可以被視為科研項目,例如在研究自然科學(xué)、工程技術(shù)或社會科學(xué)等領(lǐng)域時,一篇針對特定問題或假設(shè)的論文可以被視為一…

    科研百科 2025年2月5日
    25
  • 重慶項目管理系統(tǒng)體驗

    重慶項目管理系統(tǒng)體驗 隨著現(xiàn)代商業(yè)的發(fā)展,項目管理水平也變得越來越重要。重慶項目管理系統(tǒng)是一種可以幫助企業(yè)管理項目、提高項目執(zhí)行效率和質(zhì)量的軟件系統(tǒng)。在這篇文章中,我將分享我使用重…

    科研百科 2024年12月23日
    5
亚洲男人第一av| ,,香港,国产乱码一区二区欧美 | 妇色在线视频| 久久精品女优| 久久精品国产亚洲AV香蕉片| 激情小说视频网| 综合亚州色| 日本在线中文视频观看| 日韩成人无码小说| 熟女人娶综合网| 骚涩一区爽| 亚洲福利AB| 激情另类欧美综合| 久久综合久久狠狠综合一区二区 | 人人操人人操人人艹人人操| 国产一区二区三区 欧美| 十八禁视频免费观看网页| 大香蕉亚洲欧美一区二区蜜桃| xxxxx精品| 国产精品不卡欧美日韩| 伊人大香蕉国产在线| 夜夜艹人人| 中文字幕三区十45女同| 啊啊啊啊啊啊啊啊嗯嗯嗯嗯嗯视频 | 九九色一级片| 久久九九黄| 国内自拍AV| 欧美大黑屌1| 日韩精品三四区| 久久a一本亚洲| 成人色网站| 艹逼艹到爽网站| 好色人妻涩爱av| 精品一区二区三区乱码app| 久久青青无码| 国产久一视频二区| 鸡巴暴艹你视频| 中文视频在线人人视频| 亚洲综合插逼网| 亚洲Aⅴ精品久久无码| 88国产精品欧美一区二区三区三|