丁香五月亚洲,欧美孕妇XXX高清在线,国产中文资源,精品r视频在线

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

機器之心報道

機器之心編輯部

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PyCaret 庫提供的六個模塊。

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

啟動 PyCaret

使用 pip 安裝 PyCaret。

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

pip install pycaret

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

!pip install pycaret

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

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

?

PyCaret 分步教程

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

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

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

from *pycaret.datasets* import *get_data*

diabetes = *get_data*('diabetes')

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

get_data 的輸出。

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

環(huán)境配置

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

模塊導入后,將通過定義數(shù)據(jù)結構「糖尿病」和目標變量「類變量」來初始化 setup()。

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

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

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

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

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

PyCaret 的預處理功能。

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

模型比較

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

分類模塊:準確度、AUC、Recall、精度、F1 和 Kappa;

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

*compare_models*()

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

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

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

模型創(chuàng)建

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

adaboost = *create_model*('adaboost')

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

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

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

訓練好的模型對象的屬性。

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

模型調優(yōu)

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

tuned_adaboost = tune_model('ada')

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

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

模型集成

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

# creating a decision tree model

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

dt_bagged = *ensemble_model*(dt)

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

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

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

模型繪制

訓練好的機器學習模型的性能評估和診斷可以通過 plot_model 函數(shù)來完成,具體而言,將訓練模型對象和 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模型,低代碼機器學習Python庫正式開源(m代碼編程)

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

*evaluate_model*(adaboost)

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

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

?模型解釋?

數(shù)據(jù)中的關系呈非線性是實踐中常常出現(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模型,低代碼機器學習Python庫正式開源(m代碼編程)

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

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

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

模型預測

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

# create a model

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

rf_holdout_pred* = predict_model*(rf)

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

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

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

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

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

模型部署

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

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

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

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

模型/實驗保存

訓練完成后,包含所有預處理轉換和訓練模型對象在內的整個 pipeline 能夠以二進制 pickle 文件的格式保存。

# creating model

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

save_model*(adaboost, model_name = 'ada_for_deployment')

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

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

*save_experiment*(experiment_name = 'my_first_experiment')

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

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

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

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

相關推薦

  • 信息系統(tǒng)項目管理師是pmp

    信息系統(tǒng)項目管理師是pmp 信息系統(tǒng)項目管理師是pmp,是指在信息技術領域擔任項目經(jīng)理的職業(yè)人士。作為pmp,他們負責規(guī)劃和實施信息技術項目,包括軟件開發(fā)、系統(tǒng)集成、網(wǎng)絡建設和維護…

    科研百科 2025年1月25日
    3
  • 河口鎮(zhèn)召開推進黨支部標準化建設 落實黨建問責制度會議(黨支部標準化建設問題清單)

    11月2日,河口鎮(zhèn)召開機關干部及村干部會議,會議傳達了全區(qū)組織工作暨“五化五強”黨支部建設推進會議精神,組織學習了《蘭州市基層黨建工作問責辦法(執(zhí)行)》。之后,結合我鎮(zhèn)實際,對基層…

    科研百科 2023年7月19日
    327
  • 軟件項目進度管理表

    軟件項目進度管理表 在軟件開發(fā)過程中,進度管理是非常重要的一項工作。一個有效的進度管理表可以幫助項目管理人員更好地監(jiān)控項目進度,及時發(fā)現(xiàn)問題并采取必要的措施。本文將介紹軟件項目進度…

    科研百科 2024年9月27日
    1
  • 超市管理系統(tǒng)項目功能

    超市管理系統(tǒng)項目功能 隨著超市行業(yè)的發(fā)展,越來越多的超市開始采用管理系統(tǒng)來提高效率,減少錯誤,提高客戶滿意度。超市管理系統(tǒng)是一種功能強大的軟件,可以幫助超市管理人員實現(xiàn)各種管理功能…

    科研百科 2024年12月19日
    3
  • crm系統(tǒng) 開發(fā)

    CRM系統(tǒng)開發(fā)是指根據(jù)企業(yè)的需求和業(yè)務流程,開發(fā)一套適用于企業(yè)管理和客戶關系管理的軟件系統(tǒng)。隨著信息技術的發(fā)展和企業(yè)競爭的加劇,越來越多的企業(yè)意識到CRM系統(tǒng)的重要性,并開始積極投…

    科研百科 2024年2月23日
    94
  • 科研項目中 建設軟件 費用

    科研項目中建設軟件費用科研項目中建設軟件費用(湖南化工職業(yè)技術學院辦公室信息安全工程項目管理)未來幾年考研申請通過!孩子學習?對于所有的家長來,最關心就是孩子的學習,對吧?如何幫孩…

    科研百科 2024年11月26日
    4
  • 公司內部合同管理流程

    公司內部合同管理流程 隨著公司規(guī)模的不斷擴大,合同管理成為了公司管理中不可或缺的一部分。如何有效地管理合同,確保合同的合法性和有效性,是公司需要面對的問題。本文將介紹公司內部合同管…

    科研百科 2025年1月4日
    4
  • project項目管理系統(tǒng)

    Project 項目管理系統(tǒng): 提升項目管理效率的利器 Project 項目管理系統(tǒng)是一種高效的項目管理工具,可以幫助企業(yè)或個人更好地管理項目,提高項目管理的效率和質量。本文將介紹…

    科研百科 2024年8月16日
    10
  • 項目管理java

    項目管理Java 隨著信息技術的不斷發(fā)展,Java作為一門流行的編程語言,在項目管理中扮演著越來越重要的角色。本文將探討Java在項目管理中的使用,以及如何有效地利用它來實現(xiàn)項目目…

    科研百科 2024年5月25日
    43
  • 加班半個月,終于把“績效考核管理制度”匯編好了(完整版44頁)

    績效考核管理制度的意義在于,通過科學、公正、客觀的評估方法,對員工的工作表現(xiàn)和業(yè)績進行全面、準確的評價,從而激發(fā)員工的積極性和創(chuàng)造力,提高工作效率和質量,實現(xiàn)企業(yè)和員工的共同發(fā)展。

    科研百科 2024年1月21日
    121
久久久久成亚洲综合精品| 人人妻碰碰碰免费| 亚洲欧美日韩在线资源观看| 青草无码视频在线观看| 无码免费影院| 91久久久无码精品国产一区| 加勒比免费无码网址| 日韩色色网| 成人无码夜色旅行| 夫妻Av一区二区三区| 人妻中文字幕不卡| 波多野结衣多次高潮三个老人| 99国产精品一区在线| 国产一区 黑料| 337p日本欧亚洲| 国产福利一区二区在线精品 | 亚洲高清xxxxx| 国产三区免费视频| 亚洲综合日韩精品| 亚洲欧洲日产国产AV无码| 国产欧美日本| 1024香蕉网| 国产末成年女AV片在线| 产品精99久久久| 亚洲国产精品中文乱码AV| 黄色视频 你的| 91视频精品传媒| www日本精品| 激情欧美麻豆| 日本韩国欧洲黄色视频| 国产大学生粉嫩无套流白浆 | 欧美熟女乱伦一区二| 熟妇丰满多毛的大隂户| 精品无码一区二区三区四区五区| 影音先锋人妻| 国产主持人毛片| 亚洲一级无码在线| 久久精品人人做人人| 国产Av无码专区| 国产精品推荐av综合| 成人福利导航|