日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 知識百科

用開源項目AutoXGB助力AutoML開發,實現幾行代碼構建應用API 譯文

來源: 責編: 時間:2023-08-07 16:30:07 347觀看
導讀 譯者 | 朱先忠審校 | 梁策 孫淑娟AutoML簡介自動機器學習(AutoML)能夠自動運行各種機器學習過程,并優化錯誤度量以生成最佳模型。這些過程包括數據預處理、編碼、縮放、優化

譯者 | 朱先忠DIs28資訊網——每日最新資訊28at.com

審校 | 梁策 孫淑娟DIs28資訊網——每日最新資訊28at.com

AutoML簡介DIs28資訊網——每日最新資訊28at.com

DIs28資訊網——每日最新資訊28at.com

自動機器學習(AutoML)能夠自動運行各種機器學習過程,并優化錯誤度量以生成最佳模型。這些過程包括數據預處理、編碼、縮放、優化超參數、模型訓練、生成制品和結果列表。自動化機器學習過程可以快速開發人工智能解決方案,讓用戶體驗變得友好,并通常以低代碼即可生成準確結果。DIs28資訊網——每日最新資訊28at.com

目前市場上流行的一些著名AutoML庫包括:DIs28資訊網——每日最新資訊28at.com

LightAutoMLMLJarEvalMLFLAMLPyCaretAutoGluonH2O 3DIs28資訊網——每日最新資訊28at.com

在這篇教程中,我們將使用美國1994年人口普查時的收入數據來預測一個人的年收入是否超過5萬美元。這是一個經典的二分類問題,我們將在CC0公共域許可下使用Kaggle成人普查收入數據集進行預測。該數據由美國硅圖公司(SGI,Silicon Graphics)數據挖掘和可視化部門的羅尼·克哈伊(Ronny Kohavi)和巴里·貝克爾(Barry Becker)從美國1994年人口普查局數據庫中提供。但是,我們這里不去深入研究數據分析或模型工作方式,只是僅用幾行代碼來構建一個優化的機器學習模型,并使用FastAPI服務器對該模型進行訪問。DIs28資訊網——每日最新資訊28at.com

AutoXGB項目簡介DIs28資訊網——每日最新資訊28at.com

AutoXGB是一個開源、簡單、有效的AutoML輔助開發工具,可以直接從CSV文件中訓練模型表格數據集。AutoXGB使用XGBoost(優化的分布式梯度增強庫)來訓練模型,使用Optuna(為機器學習、深度學習特別設計的自動超參數優化框架)進行超參數優化,并使用基于Python的FastAPI框架并以API的形式提供模型推理。DIs28資訊網——每日最新資訊28at.com

下面讓我們從安裝AutoXGB開始介紹。如果在運行服務器時遇到錯誤,請確保預先已正確安裝了FastAPI框架和unvicorn服務器程序。安裝AutoXGB的命令如下:DIs28資訊網——每日最新資訊28at.com

pip install autoxgbDIs28資訊網——每日最新資訊28at.com
初始化DIs28資訊網——每日最新資訊28at.com

接下來,我們將深入介紹AutoXGB函數的特征,以及如何使用與之相關的各項參數來改進計算結果或減少訓練時間。AutoXGB函數的各項參數含義說明如下:DIs28資訊網——每日最新資訊28at.com

train_filename:訓練數據所在的路徑。output:存儲工件的輸出文件夾的路徑。test_filename:測試數據所在路徑。如果未指定,則僅保存折外預測(out-of-fold predictions,簡稱“OOF預測”)數據。task:如果未指定該參數值,系統將自動推斷其值。此參數有兩個取值:DIs28資訊網——每日最新資訊28at.com

1."classification"DIs28資訊網——每日最新資訊28at.com

2."regression"DIs28資訊網——每日最新資訊28at.com

idx:如果未指定該參數值,系統將自動使用名稱id生成 id列。targets:如果未指定該參數值,則假定目標列被命名為目標(target),并將該問題視為一個二分類、多類分類或單列回歸三種問題之一。此參數可以使用如下兩種取值:DIs28資訊網——每日最新資訊28at.com

1.["target"]DIs28資訊網——每日最新資訊28at.com

2.["target1", "target2"]DIs28資訊網——每日最新資訊28at.com

features:如果未指定該參數值, 除去id、targets和kfold列外的所有列都會被使用。指定值方式例如:DIs28資訊網——每日最新資訊28at.com

1.features = ["col1", "col2"]DIs28資訊網——每日最新資訊28at.com

categorical_features:如果未指定該參數值,將自動推斷分類列。指定值方式例如:DIs28資訊網——每日最新資訊28at.com

1.categorical_features = ["col1", "col2"]DIs28資訊網——每日最新資訊28at.com

use_gpu:如果未指定該參數值,將不啟用GPU計算功能。指定值方式例如:DIs28資訊網——每日最新資訊28at.com

1.use_gpu = TrueDIs28資訊網——每日最新資訊28at.com

2.use_gpu = FalseDIs28資訊網——每日最新資訊28at.com

num_folds:用來進行交叉驗證的折(fold)的個數。seed:隨機種子的重復性。num_trials:運行的Optuna試驗次數;默認值為1000。time_limit:以秒計量的optuna試驗時限。DIs28資訊網——每日最新資訊28at.com

1.如果未指定,將運行所有試驗。此時(默認)有time_limit = None。DIs28資訊網——每日最新資訊28at.com

fast:如果fast參數值設置為True,超參數調整將只使用一次,從而減少優化時間。之后,將在折(fold)的其余部分進行訓練,并生成OOF和測試預測。DIs28資訊網——每日最新資訊28at.com

在我們的測試項目中,除了參數train_filename、output、target、num_folds、seed、num_trails和time_limit之外,我們將大多數參數的值設置為默認值。項目中各參數的完整設置情況,如下所示:DIs28資訊網——每日最新資訊28at.com

from autoxgb import AutoXGBDIs28資訊網——每日最新資訊28at.com
train_filename = "binary_classification.csv"DIs28資訊網——每日最新資訊28at.com
output = "output"DIs28資訊網——每日最新資訊28at.com
test_filename = NoneDIs28資訊網——每日最新資訊28at.com
task = NoneDIs28資訊網——每日最新資訊28at.com
idx = NoneDIs28資訊網——每日最新資訊28at.com
targets = ["income"]DIs28資訊網——每日最新資訊28at.com
features = NoneDIs28資訊網——每日最新資訊28at.com
categorical_features = NoneDIs28資訊網——每日最新資訊28at.com
use_gpu = FalseDIs28資訊網——每日最新資訊28at.com
num_folds = 5DIs28資訊網——每日最新資訊28at.com
seed = 42DIs28資訊網——每日最新資訊28at.com
num_trials = 100DIs28資訊網——每日最新資訊28at.com
time_limit = 360DIs28資訊網——每日最新資訊28at.com
fast = FalseDIs28資訊網——每日最新資訊28at.com
訓練與優化DIs28資訊網——每日最新資訊28at.com

現在,我們可以使用AutoXGB函數定義模型,并將之前定義的參數添加到模型中。最后,我們將調用axgb.train()函數開始訓練過程。此時,將運行XGBoost和Optuna,并輸出各種制品(包括模型、預測、結果、配置、參數、編碼器等)。DIs28資訊網——每日最新資訊28at.com

axgb = AutoXGB(DIs28資訊網——每日最新資訊28at.com
train_filename=train_filename,DIs28資訊網——每日最新資訊28at.com
output=output,DIs28資訊網——每日最新資訊28at.com
test_filename=test_filename,DIs28資訊網——每日最新資訊28at.com
task=task,DIs28資訊網——每日最新資訊28at.com
idx=idx,DIs28資訊網——每日最新資訊28at.com
targets=targets,DIs28資訊網——每日最新資訊28at.com
features=features,DIs28資訊網——每日最新資訊28at.com
categorical_features=categorical_features,DIs28資訊網——每日最新資訊28at.com
use_gpu=use_gpu,DIs28資訊網——每日最新資訊28at.com
num_folds=num_folds,DIs28資訊網——每日最新資訊28at.com
seed=seed,DIs28資訊網——每日最新資訊28at.com
num_trials=num_trials,DIs28資訊網——每日最新資訊28at.com
time_limit=time_limit,DIs28資訊網——每日最新資訊28at.com
fast=fast,DIs28資訊網——每日最新資訊28at.com
)DIs28資訊網——每日最新資訊28at.com
axgb.train()DIs28資訊網——每日最新資訊28at.com

訓練過程耗時10-12分鐘,我們可以看到下面的最佳訓練結果,并可以通過增加時間限制來提高F1分數。此外,我們還可以使用其他超參數來提高模型性能。DIs28資訊網——每日最新資訊28at.com

2022-02-09 18:11:27.163 | INFO | autoxgb.utils:predict_model:336 - Metrics: {'auc': 0.851585935958628, 'logloss': 0.3868651767621002, 'f1': 0.5351485750859325, 'accuracy': 0.8230396087432015, 'precision': 0.7282822005864846, 'recall': 0.42303153575005525}DIs28資訊網——每日最新資訊28at.com
使用CLI命令行進行訓練DIs28資訊網——每日最新資訊28at.com

為了使用bash終端方式進行模型訓練,我們可以使用命令autoxgb train。此時,我們將只需設置train_filename和output兩個參數即可。其中,參數train_filename用于確定訓練的二分類文件名,而參數output用于指出輸出文件夾位置。命令如下:DIs28資訊網——每日最新資訊28at.com

autoxgb train DIs28資訊網——每日最新資訊28at.com
--train_filename binary_classification.csv DIs28資訊網——每日最新資訊28at.com
--output output DIs28資訊網——每日最新資訊28at.com
Web APIDIs28資訊網——每日最新資訊28at.com

通過在終端中運行autoxgb 服務的方式,我們可以在本地運行FastAPI服務器。DIs28資訊網——每日最新資訊28at.com

DIs28資訊網——每日最新資訊28at.com

AutoXGB服務參數model_path:指向模型文件的路徑。在本文測試中,指向輸出文件夾。Port:服務器主機運行的端口號,值為8080。host:運行的服務器主機,IP地址是:0.0.0.0。workers:工作線程數或同時請求的數量。debug:顯示錯誤和成功的日志。在Deepnote云服務器上運行DIs28資訊網——每日最新資訊28at.com

為了在云上運行服務器,Deepnote使用ngrok創建了一個公共URL。我們只需要啟用該選項并使用8080端口即可。當然,如果您在本地運行,則無需此步,直接使用地址“http://0.0.0.0:8080”即可。DIs28資訊網——每日最新資訊28at.com

DIs28資訊網——每日最新資訊28at.com

我們提供了運行服務器的模型路徑、主機ip和端口號。DIs28資訊網——每日最新資訊28at.com

!autoxgb serve --model_path /work/output --host 0.0.0.0 --port 8080 --debugDIs28資訊網——每日最新資訊28at.com

結果顯示,我們的API運行平穩。您可以使用網址https://8d3ae411-c6bc-4cad-8a14-732f8e3f13b7.deepnoteproject.com來觀察相應的結果數據。DIs28資訊網——每日最新資訊28at.com

INFO: Will watch for changes in these directories: ['/work']DIs28資訊網——每日最新資訊28at.com
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)DIs28資訊網——每日最新資訊28at.com
INFO: Started reloader process [153] using watchgodDIs28資訊網——每日最新資訊28at.com
INFO: Started server process [163]DIs28資訊網——每日最新資訊28at.com
INFO: Waiting for application startup.DIs28資訊網——每日最新資訊28at.com
INFO: Application startup complete.DIs28資訊網——每日最新資訊28at.com
INFO: 172.3.161.55:40628 - "GET /docs HTTP/1.1" 200 OKDIs28資訊網——每日最新資訊28at.com
INFO: 172.3.188.123:38788 - "GET /openapi.json HTTP/1.1" 200 OKDIs28資訊網——每日最新資訊28at.com
INFO: 172.3.167.43:48326 - "GET /docs HTTP/1.1" 200 OKDIs28資訊網——每日最新資訊28at.com
INFO: 172.3.161.55:47018 - "GET /openapi.json HTTP/1.1" 200 OKDIs28資訊網——每日最新資訊28at.com
預測DIs28資訊網——每日最新資訊28at.com

我們可以添加隨機輸入來預測某人的收入是否超過5萬美元。在本例中,我們使用FastAPI/docs選項訪問用戶界面。DIs28資訊網——每日最新資訊28at.com

輸入數據DIs28資訊網——每日最新資訊28at.com

我們使用FastAPI GUI來運行模型預測,這可以通過在服務器地址末尾添加/docs實現,例如“172.3.167.43:39118/docs”。本文項目中輸入的其他測試數據如下:DIs28資訊網——每日最新資訊28at.com

workclass:"Private"education:"HS-grad"marital.status:"Widowed"occupation:"Transport-moving"relationship:"Unmarried"race:"White"sex:"Male"native.country:"United-States"age:20fnlwgt:313986education.num:9capital.gain:0capital.loss:0hours.per.week:40DIs28資訊網——每日最新資訊28at.com

DIs28資訊網——每日最新資訊28at.com

測試結果DIs28資訊網——每日最新資訊28at.com

實驗的結果是:小于5萬美元的置信度為97.6%,而大于5萬美元的置信度為2.3%。DIs28資訊網——每日最新資訊28at.com

DIs28資訊網——每日最新資訊28at.com

使用Request庫進行測試DIs28資訊網——每日最新資訊28at.com

你還可以借助Python中的requests庫來測試API。這一步很簡單,你只需以字典的形式推送參數,然后就可以通過JSON格式獲得輸出結果。DIs28資訊網——每日最新資訊28at.com

import requestsDIs28資訊網——每日最新資訊28at.com
DIs28資訊網——每日最新資訊28at.com
params = {DIs28資訊網——每日最新資訊28at.com
"workclass": "Private",DIs28資訊網——每日最新資訊28at.com
"education": "HS-grad",DIs28資訊網——每日最新資訊28at.com
"marital.status": "Widowed",DIs28資訊網——每日最新資訊28at.com
"occupation": "Transport-moving",DIs28資訊網——每日最新資訊28at.com
"relationship": "Unmarried",DIs28資訊網——每日最新資訊28at.com
"race": "White",DIs28資訊網——每日最新資訊28at.com
"sex": "Male",DIs28資訊網——每日最新資訊28at.com
"native.country": "United-States",DIs28資訊網——每日最新資訊28at.com
"age": 20,DIs28資訊網——每日最新資訊28at.com
"fnlwgt": 313986,DIs28資訊網——每日最新資訊28at.com
"education.num": 9,DIs28資訊網——每日最新資訊28at.com
"capital.gain": 0,DIs28資訊網——每日最新資訊28at.com
"capital.loss": 0,DIs28資訊網——每日最新資訊28at.com
"hours.per.week": 40,DIs28資訊網——每日最新資訊28at.com
}DIs28資訊網——每日最新資訊28at.com
DIs28資訊網——每日最新資訊28at.com
article = requests.post(DIs28資訊網——每日最新資訊28at.com
f"https://8d3ae411-c6bc-4cad-8a14-732f8e3f13b7.deepnoteproject.com/predict",DIs28資訊網——每日最新資訊28at.com
json=params,DIs28資訊網——每日最新資訊28at.com
)DIs28資訊網——每日最新資訊28at.com
DIs28資訊網——每日最新資訊28at.com
data_dict = article.json()DIs28資訊網——每日最新資訊28at.com
print(data_dict)DIs28資訊網——每日最新資訊28at.com
## {'id': 0, '<=50K': 0.9762147068977356, '>50K': 0.023785298690199852}DIs28資訊網——每日最新資訊28at.com
DIs28資訊網——每日最新資訊28at.com
有關項目源碼DIs28資訊網——每日最新資訊28at.com

如果對本文項目的完整代碼及有關示例感興趣,請訪問下面幾個鏈接:DIs28資訊網——每日最新資訊28at.com

DeepnoteGitHubDAGsHub結論DIs28資訊網——每日最新資訊28at.com

我本人曾借助AutoXGB并使用AutoML在Kaggle競賽中獲得過優異成績,并為一些機器學習項目開發過一個基礎模型。在整個機器學習過程中,有時結果可以快速而準確的獲得,但如果想要創建最先進的解決方案,則需要手動嘗試各種機器學習過程。DIs28資訊網——每日最新資訊28at.com

本教程帶我們學習了AutoXGB的各種功能,現在我們可以使用AutoXGB預處理數據,訓練XGboost模型,使用Optuna優化模型,以及FastAPI運行Web服務器。簡而言之,AutoXGB能夠為日常表格數據問題提供端到端的解決方案。DIs28資訊網——每日最新資訊28at.com

譯者介紹DIs28資訊網——每日最新資訊28at.com

朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。早期專注各種微軟技術(編著成ASP.NET AJX、Cocos 2d-X相關三本技術圖書),近十多年投身于開源世界(熟悉流行全棧Web開發技術),了解基于OneNet/AliOS+Arduino/ESP32/樹莓派等物聯網開發技術與Scala+Hadoop+Spark+Flink等大數據開發技術。DIs28資訊網——每日最新資訊28at.com

原文標題:No Brainer AutoML with AutoXGB,作者:Abid Ali AwanDIs28資訊網——每日最新資訊28at.com

 DIs28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-119-2254-0.html用開源項目AutoXGB助力AutoML開發,實現幾行代碼構建應用API 譯文

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 數據分析的12個神話被揭穿!

下一篇: 云計算開發:Python3-List sort()方法詳解

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国外成人在线| 欧美日韩一区二区在线观看视频| 篠田优中文在线播放第一区| 午夜精品网站| 久久久人成影片一区二区三区| 久久国内精品视频| 欧美成人69av| 国产精品高潮呻吟| 韩国精品一区二区三区| 亚洲国产精品一区二区www在线| 亚洲成色最大综合在线| 一本综合精品| 久久激情五月婷婷| 欧美激情综合| 国产精品一区二区久久久久| 亚洲成人中文| 亚洲一区二区三区在线视频| 久久久精彩视频| 欧美日韩免费| 国产自产2019最新不卡| 一本色道久久精品| 新67194成人永久网站| 欧美成人第一页| 国产精品中文字幕欧美| 亚洲肉体裸体xxxx137| 欧美一区二区三区精品电影| 欧美激情欧美激情在线五月| 国产日韩一区二区三区在线| 日韩视频免费观看高清完整版| 久久精品二区三区| 欧美性开放视频| 在线免费观看欧美| 午夜激情亚洲| 欧美日韩裸体免费视频| 精品粉嫩aⅴ一区二区三区四区| 亚洲婷婷国产精品电影人久久| 久久在线免费观看视频| 国产精品一二| av不卡在线看| 欧美成人性生活| 国内久久视频| 亚洲欧美一区二区在线观看| 欧美精品日韩精品| 在线观看视频一区| 欧美中日韩免费视频| 国产精品xvideos88| 91久久精品国产91久久| 久久精品在线播放| 国产精品男人爽免费视频1| 亚洲日本成人女熟在线观看| 久久久亚洲精品一区二区三区| 国产精品毛片大码女人| 99视频精品免费观看| 欧美69wwwcom| 一区二区在线视频观看| 欧美一区91| 国产精品青草久久| 一区二区三区四区国产| 欧美精品成人91久久久久久久| 狠狠88综合久久久久综合网| 欧美一区二区三区四区在线观看地址| 欧美日韩一区二区三区在线看| 亚洲国产一区二区三区高清| 久久久久国产精品厨房| 国产视频一区二区在线观看 | 国产精品初高中精品久久| 91久久综合| 欧美14一18处毛片| 1204国产成人精品视频| 久久青青草综合| 国产综合在线看| 久久福利精品| 国产亚洲欧美日韩美女| 欧美影院精品一区| 国产欧美日韩综合一区在线播放| 亚洲在线网站| 国产精品高潮呻吟久久av无限| 一本不卡影院| 欧美三级视频在线观看| 在线视频日韩| 国产精品成人观看视频免费 | 国产精品久久久久久户外露出 | 亚洲欧美国产三级| 国产精品区一区二区三区| 亚洲综合成人在线| 国产精品视频专区| 午夜日韩视频| 国产亚洲成av人片在线观看桃 | 久久精品噜噜噜成人av农村| 国产一区二区三区四区| 久久精品国产v日韩v亚洲 | 国产精品一区视频| 欧美在线黄色| 国内精品久久国产| 久久视频精品在线| 亚洲国产精品国自产拍av秋霞| 欧美二区在线观看| 一本到高清视频免费精品| 欧美天天综合网| 亚洲欧美日韩另类| 国产一区 二区 三区一级| 久久一区视频| 日韩视频一区二区三区在线播放| 欧美日韩在线观看一区二区| 亚洲一区视频在线观看视频| 国产日产欧美a一级在线| 久久精品官网| 亚洲国产精品一区制服丝袜| 欧美日韩成人精品| 亚洲欧美国产制服动漫| 黄色av一区| 欧美精品久久99久久在免费线| 亚洲调教视频在线观看| 国产在线成人| 欧美精品免费观看二区| 亚洲欧美日本视频在线观看| 国产一区视频在线观看免费| 欧美成人午夜| 亚洲一区尤物| 影音先锋亚洲精品| 欧美日韩成人一区二区| 亚洲欧美日本日韩| 雨宫琴音一区二区在线| 欧美日韩亚洲综合在线| 欧美在线地址| 亚洲人成在线观看一区二区| 国产精品免费久久久久久| 久久伊人免费视频| avtt综合网| 国产一本一道久久香蕉| 欧美精品1区| 欧美在线亚洲在线| 亚洲精品在线一区二区| 国产日韩欧美中文| 欧美经典一区二区| 欧美在线免费| av成人天堂| 伊人久久大香线| 国产精品成人在线观看| 久久综合久色欧美综合狠狠| 亚洲婷婷综合久久一本伊一区| 狠狠综合久久av一区二区老牛| 欧美日韩国产一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 99一区二区| 永久免费精品影视网站| 国产精品xnxxcom| 欧美成人自拍| 欧美在线看片a免费观看| 99成人在线| 一区在线播放视频| 国产精品视频网| 欧美人与禽猛交乱配| 久久久久久久成人| 亚洲永久网站| 亚洲精品视频中文字幕| 黄色精品网站| 国产乱码精品一区二区三| 欧美伦理一区二区| 久久尤物视频| 欧美一级专区免费大片| 一区二区三区www| 亚洲激情成人网| 黄色日韩在线| 国产日韩欧美在线观看| 国产精品videosex极品| 欧美激情亚洲自拍| 久久伊人免费视频| 久久国产精品一区二区| 亚洲永久免费精品| 亚洲最黄网站| 亚洲精品欧美一区二区三区| 在线成人国产| 国户精品久久久久久久久久久不卡| 国产精品成人一区二区三区吃奶| 欧美精品久久99| 免费人成网站在线观看欧美高清 | 欧美午夜精品理论片a级大开眼界| 欧美18av| 久久综合婷婷| 久久久久久一区二区三区| 午夜久久久久| 亚洲影院免费| 亚洲在线中文字幕| 国产精品99久久不卡二区| 亚洲日本中文| 亚洲国产小视频在线观看| 一区二区三区在线视频免费观看 | 亚洲精品极品| 亚洲人成亚洲人成在线观看图片 | 亚洲欧美日韩在线不卡| 亚洲午夜精品一区二区三区他趣| 日韩亚洲精品视频| 日韩视频精品| 日韩一区二区精品| 日韩视频专区| 9国产精品视频| 一区二区三区日韩在线观看| 99av国产精品欲麻豆| 99国产精品久久久久久久久久| 亚洲美女av在线播放| 亚洲免费精品| 亚洲午夜精品国产| 亚洲欧美国产日韩中文字幕|