精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

AutoML領域開源開發利器AutoGloon之實戰演練 原創

發布于 2024-7-17 08:09
瀏覽
0收藏

通過本文,你將了解如何借助開源庫AutoGloon成功勝出Kaggle競賽并學習擊敗其他對手的技巧。此外,你還會了解到基于AutoGloon框架僅需4行代碼足可以擊敗99%的數據科學家。

引言

在兩項受歡迎的Kaggle比賽中,AutoGloon僅在對原始數據進行了4小時的訓練后就擊敗了99%的參賽數據科學家(AutoGloon團隊,《AutoGloon:將AutoML用于文本、圖像和表格數據》,2020年)。

上面這句話摘自AutoGloon的研究論文(https://arxiv.org/abs/2003.06505),完整地概括了我們本文將要探索的內容:一個機器學習框架,它以最少的編碼實現了令人印象深刻的性能。你只需要四行代碼就可以建立一個完整的ML管道;否則,這項任務可能需要數小時。是的,只有四行代碼!你不妨先一睹為快:

from autogluon.tabular import TabularDataset, TabularPredictor
train_data = TabularDataset('train.csv')
predictor = TabularPredictor(label='Target').fit(train_data, 
presets='best_quality')
predictions = predictor.predict(train_data)

這四行代碼通過自動識別每列的數據類型完成數據預處理,然后通過找到有用的列組合來實現特征工程,再通過組合來進行模型訓練,以便在給定時間內識別出性能最好的模型。請注意,在此處代碼中,我甚至沒有指定機器學習任務的類型(回歸/分類),而是由AutoGloon自動進行標簽檢查并自行確定任務。

我是在提倡這種算法嗎?也不一定。雖然我很欣賞AutoGloon的強大功能,但我更喜歡那些不會將數據科學簡化為Kaggle比賽中的準確性得分的解決方案。然而,隨著這些模型越來越受歡迎和廣泛采用,了解它們是如何工作的,它們背后的數學和代碼,以及如何利用或超越它們變得非常重要。

1.AutoGloon概述

AutoGloon是一個由亞馬遜網絡服務(AWS)創建的開源機器學習庫。它旨在為你處理整個ML過程;具體來說,這包括從準備數據到選擇最佳模型并調整其設置的整個過程。

AutoGloon庫將簡潔性與一流的性能相結合。它采用了集成學習和自動超參數調整等先進技術,以確保你創建的模型高度準確。這意味著,你可以開發強大的機器學習解決方案,而不會陷入技術細節的泥潭。

該庫負責數據預處理、特征選擇、模型訓練和評估,這大大減少了建立穩健的機器學習模型所需的時間和精力。此外,AutoGloon擴展性良好,適用于小型項目和大型復雜數據集。

對于表格數據,AutoGloon既可以處理分類任務(將數據分類到不同的組中),也可以處理回歸任務(預測連續結果)。它還支持文本數據,使其適用于情感分析或主題分類等任務。此外,它還可以管理圖像數據,幫助進行圖像識別和物體檢測。

盡管AutoGloon的幾個變體版本是為了更好地處理時間序列數據、文本和圖像而構建的,但在這里我們將重點關注處理表格數據的變體版本。如果你喜歡這篇文章,并希望未來深入了解它的這個開源庫的變體版本,請告訴我。(AutoGloon團隊,《AutoGloon:將AutoML用于文本、圖像和表格數據》,2020年)

2.AutoML概述

(1)什么是AutoML?

AutoML(Automated Machine Learning,自動化機器學習)的縮寫,是一種將機器學習應用于現實世界問題的整個過程自動化的技術。AutoML的主要目標是使機器學習更容易訪問和高效,允許人們在不需要深入專業知識的情況下開發模型。正如我們已經看到的,它可以處理數據預處理、特征工程、模型選擇和超參數調整等任務,這些任務通常既復雜又耗時(He等,《AutoML:最新技術綜述》,2019年)。

多年來,AutoML的概念有了顯著的發展。最初,機器學習需要專家的大量手動工作,他們必須仔細選擇特征、調整超參數并選擇正確的算法。隨著該領域的發展,處理越來越大和復雜的數據集的自動化需求也在增長。早期自動化部分流程的努力為現代AutoML系統鋪平了道路。如今,AutoML使用集成學習和貝葉斯優化等先進技術,以最少的人為干預創建高質量的模型(Feurer等人,“高效和穩健的自動機器學習”,2015年,鏈接:https://www.arxiv.org/abs/1908.00709)。

近幾年,AutoML領域出現了幾家參與研究團隊,每個參與者都提供其獨特的特征和功能支持。AutoGloon由亞馬遜網絡服務公司開發,以其在各種數據類型中的易用性和強大性能而聞名(AutoGloon團隊,“AutoGlooN:針對文本、圖像和表格數據的AutoML”,2020年)。Google Cloud團隊研發的AutoML提供了一套機器學習產品,允許開發人員以最小的工作量訓練高質量的模型。H2O.ai團隊提供了一種H2O AutoML,能夠針對監督和非監督學習任務提供自動機器學習功能(H2O.ai團隊,“H2O AutoML:可擴展的自動機器學習”,2020年,鏈接:https://www.automl.org/wp-content/uploads/2020/07/AutoML_2020_paper_61.pdf)。DataRobot團隊則專注于企業級的AutoML解決方案,旨在為模型部署和管理提供強大的工具支持。微軟的Azure機器學習也具有AutoML功能,能夠與其他Azure服務無縫集成,形成全面的機器學習解決方案。

(2)AutoML的關鍵組件

AutoGluon工作流程如下圖所示:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

AutoGloon工作流

任何機器學習流水線的第一步都是數據預處理。這包括通過處理缺失值、刪除重復項和更正錯誤來清理數據。數據預處理還包括將數據轉換為適合分析的格式,例如歸一化值、編碼分類變量和縮放特征。適當的數據預處理至關重要,因為數據的質量直接影響機器學習模型的性能。

一旦數據被清除,下一步就是特征工程。這個過程包括創建新的特征或修改現有的特征,以提高模型的性能。特征工程可以簡單到基于現有數據創建新列,也可以復雜到使用領域知識創建有意義的特征。正確的特征可以顯著增強模型的預測能力。

準備好數據并設計好特征后,下一步就是模型選擇。有許多算法可供選擇,每種算法都有其優缺點,這取決于手頭的問題。AutoML系統能夠評估多個模型,以確定適合于給定任務的最佳模型。這可能包括比較決策樹、支持向量機、神經網絡和其他模型,看看哪種模型的數據表現最好。

選擇模型后,下一個挑戰是超參數優化。超參數是控制機器學習算法行為的設置,例如神經網絡中的學習率或決策樹的深度。找到超參數的最佳組合可以極大地提高模型性能。AutoML使用網格搜索、隨機搜索等技術,以及貝葉斯優化等更先進的方法來自動化這一過程,確保對模型進行微調以獲得最佳結果。

最后一步是模型評估和選擇。這涉及到使用交叉驗證等技術來評估模型對新數據的概括程度。各種性能指標,如準確性、精確度、召回率和F1分數,用于衡量模型的有效性。AutoML系統自動化這一評估過程,確保所選模型最適合給定任務。評估完成后,將選擇性能最佳的模型進行部署(AutoGloon團隊,《AutoGloon:將AutoML用于文本、圖像和表格數據》,2020年)。

(3)AutoML的挑戰

雖然AutoML節省了時間和精力,但它在計算資源方面可能要求很高。超參數調整和模型選擇等自動化任務通常需要運行多次迭代并訓練多個模型,這對無法獲得高性能計算的小型組織或個人來說可能是一個挑戰。

另一個挑戰是需要定制。盡管AutoML系統在許多情況下都非常有效,但它們可能并不總是能立即滿足特定的要求。有時,自動化過程可能無法完全捕捉特定數據集或問題的獨特方面。用戶可能需要調整工作流程的某些部分,如果系統沒有提供足夠的靈活性或用戶缺乏必要的專業知識,這可能會很困難。

盡管存在這些挑戰,但AutoML的好處往往大于缺點。它大大提高了生產力,擴大了可訪問性,并提供了可擴展的解決方案,使更多的人能夠利用機器學習的力量(Feuer等人,《高效和穩健的自動化機器學習》,2015年)。

3.AutoGloon庫數學理論支持

(1)AutoGloon的架構

AutoGloon的架構旨在自動化從數據預處理到模型部署的整個機器學習工作流程。該體系結構由幾個相互連接的模塊組成,每個模塊負責流程的特定階段。

第一步是數據模塊,它處理加載和預處理數據。該模塊處理諸如清理數據、處理缺失值以及將數據轉換為適合分析的格式等任務。例如,考慮一個存在缺失值的數據集X。數據模塊可以使用平均值或中位數估算這些缺失值:

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy='mean')
X_imputed = imputer.fit_transform(X)

一旦數據經過預處理,特征工程模塊就會接管過來。該組件生成新特征或轉換現有特征,以增強模型的預測能力。諸如對分類變量進行一次熱編碼或為數字數據創建多項式特征之類的技術是常見的。例如,對分類變量進行編碼可能如下所示:

from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder()
X_encoded = encoder.fit_transform(X)

AutoGloon的核心是模型模塊。該模塊包括一系列機器學習算法,如決策樹、神經網絡和梯度提升機。它在數據集上訓練多個模型并評估它們的性能。例如,決策樹可以按照以下方式進行訓練:

from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

超參數優化模塊自動搜索每個模型的最佳超參數。它使用網格搜索、隨機搜索和貝葉斯優化等方法。Snoek等人的論文中詳細介紹了貝葉斯優化(2012年:https://arxiv.org/abs/1206.2944),他們建立了一個概率模型來指導搜索過程:

from skopt import BayesSearchCV
search_space = {'max_depth': (1, 32)}
bayes_search = BayesSearchCV(estimator=DecisionTreeClassifier(), 
search_spaces=search_space)
bayes_search.fit(X_train, y_train)

訓練后,評估模塊使用準確性、精確度、召回率和F1分數等指標評估模型性能。交叉驗證通常用于確保模型能夠很好地推廣到新數據:

from sklearn.model_selection import cross_val_score
scores = cross_val_score(model, X, y, cv=5, scoring='accuracy')
mean_score = scores.mean()

AutoGloon的集成模塊非常出色,它將多個模型的預測結合起來,生成一個更準確的預測。采用堆疊、裝袋和混合等技術。例如,可以使用BaggingClassifier進行裝袋:

from sklearn.ensemble import BaggingClassifier
bagging = BaggingClassifier(base_estimator=DecisionTreeClassifier(), 
n_estimators=10)
bagging.fit(X_train, y_train)

最后,部署模塊負責將最佳模型或集成部署到生產中。這包括導出模型、對新數據生成預測以及將模型集成到現有系統中:

import joblib
joblib.dump(bagging, 'model.pkl')

總之,上述這些組件協同工作,使機器學習管道自動化,使用戶能夠快速高效地構建和部署高質量的模型。

(2)AutoGloon中的集成學習

集成學習是AutoGloon的一個關鍵功能,它增強了提供高性能模型的能力。通過組合多個模型,集成方法提高了預測的準確性和穩健性。AutoGloon利用了三種主要的集成技術:堆疊、裝袋和混合。

堆疊

堆疊涉及在同一數據集上訓練多個基本模型,并將它們的預測用作更高級別模型(通常稱為元模型)的輸入特征。這種方法利用了各種算法的優勢,使集合能夠做出更準確的預測。堆疊過程可以用數學表示如下:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

堆疊公式

這里,h1表示基本模型,h2是元模型。每個基本模型h1取輸入特征xi并產生預測。然后,這些預測被用作元模型h2的輸入特征,并最終計算出最終預測值y^。通過組合不同基礎模型的輸出,堆疊可以捕獲數據中更廣泛的模式,從而提高預測性能。

袋裝

Bagging(Bootstrap Aggregation的縮寫)通過在不同的數據子集上訓練同一模型的多個實例來提高模型的穩定性和準確性。這些子集是通過對原始數據集進行隨機采樣并進行替換來創建的。最終預測通常通過對回歸任務的所有模型的預測進行平均或通過對分類任務進行多數投票來進行。

從數學上講,裝袋可以表示如下:

對于回歸:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

Bagging公式中的回歸

對于分類:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

裝袋中的分類

這里,hi表示在數據的不同子集上訓練的第i個模型。對于回歸,最終預測y^是每個模型所做預測的平均值。對于分類,最終預測y^是模型中最頻繁預測的類別。

裝袋的方差縮減效果可以用大數定律來說明,該定律指出,來自多個模型的預測的平均值將收斂到期望值,從而減少總體方差,提高預測的穩定性。可以說明為:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

裝袋中的方差縮減

通過對數據的不同子集進行訓練,裝袋也有助于減少過擬合并提高模型的可推廣性。

混合

混合類似于堆疊,但實現更簡單。在混合中,數據被分為兩部分:訓練集和驗證集。基本模型在訓練集上進行訓練,它們在驗證集上的預測用于訓練最終模型,也稱為混合器或元學習器。混合使用了一個保持驗證集,這可以使其更快地實現:

# 簡單訓練驗證拆分的混合示例
train_meta, val_meta, y_train_meta, y_val_meta = train_test_split(X, y, 
test_size=0.2)
base_model_1.fit(train_meta, y_train_meta)
base_model_2.fit(train_meta, y_train_meta)
preds_1 = base_model_1.predict(val_meta)
preds_2 = base_model_2.predict(val_meta)
meta_features = np.column_stack((preds_1, preds_2))
meta_model.fit(meta_features, y_val_meta)

這些技術確保最終預測更加準確和穩健,利用多個模型的多樣性和優勢來提供卓越的結果。

(3)超參數優化

超參數優化包括為模型找到最佳設置,以最大限度地提高其性能。AutoGloon使用貝葉斯優化、早期停止和智能資源分配等先進技術自動化了這一過程。

貝葉斯優化

貝葉斯優化旨在通過建立目標函數的概率模型來找到最優的超參數集。它使用過去的評估結果來做出下一步要嘗試哪些超參數的明智決定。這對于有效地導航大型和復雜的超參數空間特別有用,減少了找到最佳配置所需的評估數量:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

貝葉斯優化公式

其中,f(θ)是想要優化的目標函數,例如模型精度或損失值。θ表示超參數。E[f(θ)]是給定超參數θ的目標函數的期望值。

貝葉斯優化包括兩個主要步驟:

  • 代理建模:基于過去的評估,建立一個概率模型,通常是高斯過程,以近似目標函數
  • 采集函數:該函數通過平衡勘探(嘗試超參數空間的新區域)和開發(專注于已知表現良好的區域)來確定下一組要評估的超參數。常見的采集函數包括預期改進(EI)和置信上限(UCB)。

與網格或隨機搜索方法相比,該優化以迭代方式更新代理模型和采集函數以收斂于具有較少評估的最優超參數集。

早停技術

一旦模型在驗證集上的性能停止改善,早停技術可以防止過擬合,并通過停止訓練過程來減少訓練時間。AutoGloon在訓練過程中監測模型的性能,并在進一步訓練不太可能產生顯著改進時停止該過程。這項技術不僅節省了計算資源,而且確保了模型能夠很好地推廣到新的、看不見的數據:

from sklearn.model_selection import train_test_split
from sklearn.metrics import log_loss
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2)
model = DecisionTreeClassifier()
best_loss = np.inf
for epoch in range(100):
model.fit(X_train, y_train)
val_preds = model.predict(X_val)
loss = log_loss(y_val, val_preds)
if loss < best_loss:
best_loss = loss
else:
break

資源配置策略

有效的資源分配在超參數優化中至關重要,尤其是在處理有限的計算資源時。AutoGloon采用了高保真度優化等策略,即系統最初使用數據子集或更少的迭代輪次來訓練模型,以快速評估其潛力。然后為有希望的模型分配更多的資源進行徹底評估。這種方法平衡了勘探和開發,確保計算資源得到有效利用:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

多保真度優化公式

在這個公式中:

  • hi表示第i個模型。
  • Ci是與模型hi相關聯的成本,例如所使用的計算時間或資源。
  • Resource(hi)表示分配給模型hi的總資源的比例。

通過最初訓練保真度降低的模型(例如,使用更少的數據點或迭代輪次),高保真度優化可以快速識別有希望的候選樣本。然后以更高的保真度對這些候選樣本進行訓練,確保計算資源得到有效使用。這種方法平衡了超參數空間的探索與已知良好配置的利用,從而實現高效和有效的超參數優化。

(4)模型評估和選擇

模型評估和選擇確保所選模型在新的、看不見的數據上表現良好。AutoGloon使用交叉驗證技術、性能指標和自動模型選擇標準自動化這一過程。

交叉驗證技術

交叉驗證包括將數據拆分為多個子集,并在不同的子集上訓練模型,同時在其余部分上進行驗證。AutoGloon使用k倍交叉驗證等技術,將數據劃分為k個子集,對模型進行k次訓練和驗證,每次都以不同的子集作為驗證集。這有助于獲得對模型性能的可靠估計,并確保評估不會因特定的訓練測試劃分而產生偏差:

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

交叉驗證精度公式

性能指標

為了評估模型的質量,AutoGloon依賴于各種性能指標,這些指標取決于手頭的特定任務。對于分類任務,常見的指標包括準確性、精密度、召回率、F1分數和ROC曲線下面積(AUC-ROC)。對于回歸任務,通常使用平均絕對誤差(MAE)、均方誤差(MSE)和R平方等度量。AutoGloon在評估過程中自動計算這些指標,以便全面了解模型的優勢和劣勢:

from sklearn.metrics import accuracy_score, precision_score, recall_score, 
f1_score
y_pred = model.predict(X_val)
accuracy = accuracy_score(y_val, y_pred)
precision = precision_score(y_val, y_pred)
recall = recall_score(y_val, y_pred)
f1 = f1_score(y_val, y_pred)

自動模型選擇標準

在評估模型后,AutoGloon使用自動標準來選擇性能最好的模型。這包括比較不同模型的性能指標,并選擇在任務的最相關指標方面表現出色的模型。AutoGloon還考慮了模型復雜性、訓練時間和資源效率等因素。自動化的模型選擇過程確保所選模型不僅性能良好,而且在現實世界場景中部署和使用也很實用。通過自動化選擇,AutoGloon消除了人為偏見,并確保采用一致和客觀的方法來選擇最佳型號:

best_model = max(models, key=lambda model: model['score'])

4.基于Python的AutoGloon示例工程

在開始使用AutoGloon之前,你需要設置一下開發環境。這涉及到安裝必要的庫和依賴項等操作。

你可以使用pip安裝AutoGloon。為此,只需打開終端或命令提示符,然后運行以下命令:

pip install autogluon

此命令將安裝AutoGloon及其所需的依賴項。

接下來,你需要下載數據。你需要安裝Kaggle,以便下載本文提供示例的數據集:

pip install kaggle

安裝后,通過在終端中運行這些命令下載數據集。請確保你處于與.py文件相同的目錄中:

mkdir data
cd data
kaggle competitions download -c playground-series-s4e6
unzip "Academic Succession/playground-series-s4e6.zip"

或者,你可以從最近的Kaggle競賽“基于學術成功數據集的分類”中手動下載數據集。該數據集可免費用于商業用途(https://creativecommons.org/licenses/by/4.0/)。

一旦環境設置好,你就可以使用AutoGloon來構建和評估機器學習模型。首先,你需要加載并準備數據集。AutoGloon使這個過程變得簡單明了。假設你有一個名為train.CSV的CSV文件,其中包含你的訓練數據:

from autogluon.tabular import TabularDataset, TabularPredictor
# 加載數據集
train_df = TabularDataset('data/train.csv')

加載數據后,可以使用AutoGloon訓練模型。在本例中,我們將訓練一個模型來預測名為“target”的目標變量,并使用準確性作為評估指標。我們還將啟用超參數調整和自動堆疊,以提高模型性能:

# 訓練模型
predictor = TabularPredictor(
label='Target',
eval_metric='accuracy',
verbosity=1
).fit(
train_df,
presets=['best_quality'],
hyperparameter_tune=True,
auto_stack=True
)

訓練結束后,你可以使用排行榜評估模型的表現,排行榜提供了模型在訓練數據上的表現摘要:

#評估模型
leaderboard = predictor.leaderboard(train_df, silent=True)
print(leaderboard)

排行榜為你提供了AutoGloon訓練的所有模型的詳細比較。

AutoML領域開源開發利器AutoGloon之實戰演練-AI.x社區

現在,讓我們詳細解釋一下上面表格中的幾個關鍵列及其含義:

  • model:此列列出了模型的名稱。例如,RandomForestEntr_BAG_L1指的是使用熵作為標準的隨機森林模型,并使用級別1版本打包。
  • score_test:這顯示了模型在數據集上的準確性。分數為1.00表示某些模型具有完美的準確性。與其名稱相反,score_test是在訓練過程中使用的訓練數據集。
  • score_val:這顯示了模型在驗證數據集上的準確性。請注意這一點,因為它顯示了模型在看不見的數據上的表現。
  • eval_metric:使用的評估指標,在本例中指準確性。
  • pred_time_test:對測試數據進行預測所花費的時間。
  • pred_time_val:對驗證數據進行預測所花費的時間。
  • fit_time:訓練模型所花費的時間。
  • pred_time_test_marginal:集合中的模型在測試數據集上添加的額外預測時間。
  • pred_time_val_marginal:集合中的模型在驗證數據集上添加的額外預測時間。
  • fit_time_marginal:模型在集合中添加的額外訓練時間。
  • stack_level:表示模型的堆疊級別。1級模型是基礎模型,而2級模型是使用1級模型的預測作為特征的元模型。
  • can_infer:指示模型是否可以用于推理。
  • fit_order:訓練模型的順序。

查看一下所提供的排行榜數據,我們可以看到一些模型,如RandomForestEntr_BAG_L1和RandomForest Gini_BAG_L具有完美的訓練精度(1000000),但驗證精度略低,這表明可能存在過度擬合。WeightedEnsemble_L2結合了1級模型的預測,通常通過平衡其基本模型的強度來顯示良好的性能。

LightGBMLarge_BAG_L1和XGBoost_BAG_L1等模型具有競爭性的驗證分數以及合理的訓練和預測時間,使其成為最終部署方案的有力候選模型。

fit_time和pred_time列提供了對每個模型的計算效率的深入了解,這對實際應用至關重要。

除了排行榜之外,AutoGloon還提供了一些高級功能,允許你自定義訓練過程、處理不平衡的數據集和執行超參數調整。

通過調整擬合方法的參數,可以自定義訓練過程的各個方面。例如,可以更改訓練迭代次數,指定要使用的不同算法,或為每個算法設置自定義超參數。

from autogluon.tabular import TabularPredictor, TabularDataset
# 加載數據集
train_df = TabularDataset('train.csv')
#定義自制超級參數
hyperparameters = {
'GBM': {'num_boost_round': 200},
'NN': {'epochs': 10},
'RF': {'n_estimators': 100},
}
# 使用定制設置訓練模型
predictor = TabularPredictor(
label='Target',
eval_metric='accuracy',
verbosity=2
).fit(
train_data=train_df,
hyperparameters=hyperparameters
)

不平衡的數據集可能具有挑戰性,但AutoGloon提供了有效處理這些數據集的工具。可以使用諸如對少數類進行過采樣、對多數類進行欠采樣或應用成本敏感的學習算法等技術。AutoGloon可以自動檢測和處理數據集中的不平衡。

from autogluon.tabular import TabularPredictor, TabularDataset
#加載數據集
train_df = TabularDataset('train.csv')
#通過指定自定義參數處理不平衡的數據集
#AutoGloon可以在內部處理此問題,但為了清楚起見,在此處指定
hyperparameters = {
'RF': {'n_estimators': 100, 'class_weight': 'balanced'},
'GBM': {'num_boost_round': 200, 'scale_pos_weight': 2},
}
# 使用處理不平衡的設置來訓練模型
predictor = TabularPredictor(
label='Target',
eval_metric='accuracy',
verbosity=2
).fit(
train_data=train_df,
hyperparameters=hyperparameters
)

超參數調整對于優化模型性能至關重要。AutoGloon使用貝葉斯優化等先進技術自動完成這一過程。你可以通過在擬合方法中設置hyperparameter_tune=True來啟用超參數調整。

from autogluon.tabular import TabularPredictor, TabularDataset
# 加載數據集
train_df = TabularDataset('train.csv')
# 使用超參數優化訓練模型
predictor = TabularPredictor(
label='Target',
eval_metric='accuracy',
verbosity=2
).fit(
train_data=train_df,
presets=['best_quality'],
hyperparameter_tune=True
)

超越AutoML模型的可能性

經過上面的AutoGloon庫學習之后,不妨讓我們繼續探討如何進一步超越AutoML模型。假設你的主要目標是改進損失指標,而不是關注延遲、計算成本或其他指標。

如果你有一個非常適合深度學習的大型數據集,你可能會發現實驗深度學習架構更容易。AutoML框架在這一領域往往很困難,因為深度學習需要對數據集有深入的了解,而盲目應用模型可能會非常耗時和耗費資源。以下是一些可以幫助你開始深度學習的資源:

??https://towardsdatascience.com/the-math-behind-lstm-9069b835289d??

然而,真正的挑戰在于用傳統的機器學習任務擊敗AutoML。AutoML系統通常使用集成技術,這意味著你最終可能會做同樣的事情。一個好的開始策略可以是首先擬合一個AutoML模型。例如,使用AutoGloon,你可以確定哪些模型表現最好。然后,你可以采用這些模型,重新創建AutoGloon使用的集成架構。通過使用Optuna等技術進一步優化這些模型,你可能獲得更好的性能。以下是掌握Optuna的全面指南:

《Optuna的機器學習優化》:介紹如何在Python中微調每個機器學習算法。Optuna機器學習優化的終極指南,實現卓越的模型性能。文章地址:

??https://towardsdatascience.com/machine-learning-optimization-with-optuna-57593d700e52??

此外,將領域知識應用于特征工程可以為你提供優勢。了解數據的細節可以幫助你創建更有意義的功能,從而顯著提高模型的性能。如果可行,請擴充數據集以提供更多不同的訓練示例,這有助于提高模型的穩健性。

通過將上述這些策略與從初始AutoML模型中獲得的見解相結合,你就可以超越自動化方法并獲得更為卓越的訓練結果。

結論

AutoGloon通過自動化從數據預處理到模型部署的一切,徹底改變了ML過程。其尖端的架構、強大的集成學習技術和復雜的超參數優化使其成為機器學習新手和經驗豐富的數據科學家不可或缺的工具。借助于AutoGloon,你可以將復雜、耗時的任務轉換為簡化的工作流程,使你能夠以前所未有的速度和效率構建頂級模型。

然而,要想真正在機器學習中脫穎而出,就不能僅僅依賴AutoGloon。將其作為啟動項目的基礎,并深入了解有效的模型策略。然后,以此為基礎,深入了解你的數據,并將領域知識應用于功能工程。最后,嘗試自定義模型,還要嘗試在AutoGloon的初始產品之外對其進行微調。

參考文獻

  • Erickson,N.、Mueller,J.、Charpentier,P.、Kornblith,S.、Weissenborn,D.、Norris,E.…和Smola,A.(2020)。《AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data》。arXiv預印本arXiv:2003.0605。
  • Snoek,J.、Larochelle,H.和Adams,R.P.(2012)。《機器學習算法的實用貝葉斯優化》。Advances in neural information processing systems,25。
  • Pedregosa,F.,Varoquex,G.,Gramfort,A.,Michel,V.,Thirion,B.,Grisel,O.,…和Duchesnay,é。(2011)。《Scikit學習:Python中的機器學習》。Journal of machine learning research,12(10月),2825–2830。
  • AutoGloon團隊。《AutoGluon: AutoML for Text, Image, and Tabular Data》,2020。
  • Feuer,Matthias等,《Efficient and Robust Automated Machine Learning》,2015年。
  • 何,辛,等。《AutoML: A Survey of the State-of-the-Art》。2020。
  • Hutter,Frank等人,《Automated Machine Learning: Methods, Systems, Challenges》,2019年。
  • H2O.ai,《H2O AutoML: Scalable Automatic Machine Learning》,2020年。

譯者介紹

朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。

原文標題:AutoML with AutoGluon: ML workflow with Just Four Lines of Code,作者:Cristian Leo

鏈接:

??https://towardsdatascience.com/automl-with-autogluon-transform-your-ml-workflow-with-just-four-lines-of-code-1d4b593be129。??

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2024-7-17 08:14:51修改
收藏
回復
舉報
回復
相關推薦
涩视频在线观看| 一本一道久久a久久精品综合| 91精品国产高潮对白| 亚洲69av| 3d动漫精品啪啪一区二区竹菊| 国产91视频一区| 五月天丁香社区| 一级性生活免费视频| 麻豆国产一区| 欧美性jizz18性欧美| 欧美日韩国产一二| 99精品免费观看| 亚洲一区网站| 欧美成人精品影院| 欧美激情亚洲色图| 玖玖玖免费嫩草在线影院一区| 欧美在线一区二区三区| 美女av免费观看| 成人h小游戏| 成人国产电影网| 成人免费看黄网站| 亚洲婷婷综合网| 97精品一区| 日韩精品亚洲视频| 一级全黄裸体片| 亚洲tv在线| 在线观看欧美黄色| 日韩欧美一区三区| 欧美14一18处毛片| 亚洲人吸女人奶水| 五码日韩精品一区二区三区视频| 粉嫩小泬无遮挡久久久久久| 久久国内精品视频| 国产激情综合五月久久| 国产在线观看免费av| 99re6这里只有精品| 精品视频久久久久久久| 亚洲熟妇一区二区| 国产精品亚洲欧美日韩一区在线| 粉嫩久久久久久久极品| 国产视频一区三区| 久久久久久久久久久国产| 黄色裸体一级片| 欧美激情在线免费| 日韩精品福利在线| 艳妇乳肉亭妇荡乳av| 91精品入口| 日韩午夜激情视频| 久久久久久久久久久久久久久国产| 成人欧美magnet| 精品欧美激情精品一区| 青青在线视频免费观看| 黄色网页在线免费看| 国产精品激情偷乱一区二区∴| 欧美日韩成人一区二区三区 | 日本亚洲三级在线| 国产精品盗摄久久久| 国产又粗又猛又爽又| 久久国产精品99国产| 欧美孕妇与黑人孕交| 制服.丝袜.亚洲.中文.综合懂色| 最新国产拍偷乱拍精品| 久久久久久亚洲精品中文字幕| 青青草手机在线视频| 欧美fxxxxxx另类| 欧美精品一区二区免费| 青青草手机视频在线观看| 欧美色图麻豆| 国内精品久久久久| www欧美在线| 天堂va蜜桃一区二区三区漫画版| 国产精品h在线观看| 中国女人真人一级毛片| 九九国产精品视频| 97超级碰碰| 天天综合天天综合| 国产婷婷一区二区| 三年中文高清在线观看第6集| 男人和女人做事情在线视频网站免费观看 | 国产精品爽爽爽| 国产欧美一区二区三区视频在线观看| 国产福利精品导航| 久久久亚洲综合网站| 国产精品久久久久久久龚玥菲| 国产精品美日韩| 不卡免费追剧大全电视剧网站| 欧美日韩国产成人在线观看| 日韩久久精品视频| 日韩不卡免费视频| 亚洲xxxxx性| 欧美特黄一级视频| 中文字幕av一区二区三区免费看| dy888午夜| av漫画网站在线观看| 日韩欧美精品免费在线| 国产美女18xxxx免费视频| 国产色噜噜噜91在线精品| 亚洲色图日韩av| 国产又黄又爽又无遮挡| 国产视频一区免费看| 国产日韩在线观看av| 黄色av网站免费在线观看| 国产色爱av资源综合区| 黄色片免费在线观看视频| 精品国产免费人成网站| 欧美一区二区三区不卡| 成年人在线观看av| 一区二区三区毛片免费| 2020久久国产精品| 99国产在线播放| 久久久久久久久久电影| 国产传媒久久久| 日本欧美在线| 亚洲欧美一区二区精品久久久| 久久久久亚洲av片无码| 麻豆精品网站| 国产尤物99| 97超碰在线公开在线看免费| 欧美亚洲动漫另类| 亚洲精品乱码久久久久久久| 欧美在线91| 国产精品视频在线播放| 日韩电影免费| 亚洲超碰97人人做人人爱| 91网址在线观看精品| 精品色999| 人妖精品videosex性欧美| 亚洲国产精品久久久久久6q| 1024成人网| 久久99999| 精品免费一区二区| 日本久久久久久久| 神马久久久久久久久久| 黑人巨大亚洲一区二区久| av电影一区二区| 国产在线无码精品| 2020国产精品小视频| 亚洲天堂av图片| 天天综合网久久综合网| 不卡的av在线| 日韩五码在线观看| 国产成人一二片| 欧美高清第一页| 精品国产亚洲av麻豆| 国产精品电影院| 性生生活大片免费看视频| 国产一区三区在线播放| 欧美一级视频免费在线观看| 天天躁日日躁狠狠躁喷水| 五月天激情综合| 久久精品女同亚洲女同13| 国产精品啊啊啊| 999视频在线观看| 欧美另类tv| 精品国产成人系列| 日韩 欧美 综合| 91网站视频在线观看| 91九色在线观看视频| 亚洲美女15p| 国产成人精品在线| 在线视频91p| 555www色欧美视频| 青青草原在线免费观看视频| 国产成人在线网站| 国产夫妻自拍一区| 日韩在线影视| 国产福利视频一区二区| 欧美精品videos另类| 91精品啪在线观看国产60岁| 免费中文字幕在线观看| av一区二区三区| 国产wwwxx| 亚洲欧美在线专区| 国产精品久久7| 免费福利视频一区二区三区| 中文国产成人精品久久一| 夜夜嗨aⅴ一区二区三区| 亚洲丝袜制服诱惑| 天天躁日日躁狠狠躁av| 久久精品道一区二区三区| 日韩一区不卡| 亚洲性视频在线| 亲子乱一区二区三区电影| 日本韩国在线视频爽| 天堂久久一区二区三区| 俺也去精品视频在线观看| 国产精品一区二区三区在线免费观看| 夜夜揉揉日日人人青青一国产精品| 日本黄色动态图| 日韩精品一级中文字幕精品视频免费观看| 亚洲一区二区在线看| 91久久偷偷做嫩草影院电| 欧洲美女7788成人免费视频| 男女啪啪在线观看| 亚洲黄色片网站| 在线观看免费观看在线| 亚洲国产日韩a在线播放性色| 欧美做受xxxxxⅹ性视频| 国产精品18久久久久| av天堂永久资源网| 欧美另类视频| 日韩动漫在线观看| 精品国产导航| 91在线高清视频| 免费电影日韩网站| 欧美激情高清视频| 日本福利在线| 亚洲欧美日本精品| 丰满少妇一级片| 欧美日韩国产大片| 毛片视频网站在线观看| 亚洲人成7777| 欧美激情 一区| 久久综合九色综合欧美亚洲| 一个人看的视频www| 日本三级亚洲精品| 日本免费不卡一区二区| 牛牛国产精品| 亚洲一区综合| 狠狠综合久久av一区二区蜜桃| 国产成人成网站在线播放青青| 成人全视频免费观看在线看| 88国产精品欧美一区二区三区| 成人看片免费| 日韩专区在线播放| 超碰国产在线观看| 亚洲视频一区二区三区| 少妇精品高潮欲妇又嫩中文字幕| 欧美一区二区视频免费观看| 中文字幕一区二区免费| 色呦呦网站一区| 五月天婷婷久久| 午夜激情一区二区| 国产精品第72页| 一区二区三区不卡视频| 国产va在线播放| 亚洲精品欧美激情| 美女的奶胸大爽爽大片| 亚洲视频每日更新| 黄色录像免费观看| 国产精品美女www爽爽爽| 欧美中文字幕一区二区三区亚洲| 久久久久久久麻豆| 国产精品美女久久久久久2018 | 日韩亚洲在线视频| 亚洲欧美日韩国产一区| 日韩在线一级片| 亚洲色诱最新| 97在线播放视频| 日韩高清不卡一区二区| 99热手机在线| 久久av资源网| 1314成人网| 粉嫩av一区二区三区粉嫩| 欧美图片自拍偷拍| 99久久综合国产精品| 五月婷婷综合在线观看| 国产欧美日韩亚州综合| 亚洲欧美va天堂人熟伦| 国产精品美女www爽爽爽| 日本午夜在线观看| 一区二区三区欧美在线观看| 久久久久亚洲AV| 精品久久久久久中文字幕一区奶水| 日韩av女优在线观看| 黑人巨大精品欧美一区二区免费| 综合激情网五月| 欧美亚男人的天堂| 国产裸体永久免费无遮挡| 日韩一区二区精品在线观看| 动漫av一区二区三区| 精品呦交小u女在线| www.国产精品.com| 欧美床上激情在线观看| av电影在线地址| 国产成人免费av电影| 白嫩亚洲一区二区三区| 国产伦精品一区二区三区视频孕妇 | 91插插插插插插| 亚洲福利一区二区三区| 日本视频免费观看| 51精品秘密在线观看| 人妻无码中文字幕免费视频蜜桃| 亚洲乱码一区二区| 日本在线观看免费| 午夜精品视频在线| 黄色精品视频| 国产欧美一区二区视频| 成人免费看片39| 国产精品无码免费专区午夜| 久久最新视频| 日本黄色一级网站| 久久久一区二区| 欧美又粗又大又长| 色综合久久久久| 亚洲h视频在线观看| 亚洲色图色老头| 懂色av一区| 国产在线高清精品| 丝袜连裤袜欧美激情日韩| 免费观看黄色大片| 久久精品123| 成人欧美一区二区三区黑人孕妇| 精品国产一级片| 亚洲另类欧美自拍| 欧美videosex性极品hd| 国产精品亚发布| 竹菊久久久久久久| 国产成人艳妇aa视频在线| 麻豆久久久久久| 极品粉嫩小仙女高潮喷水久久| 自拍偷拍国产亚洲| 无码人妻丰满熟妇奶水区码| 亚洲福利小视频| caoporm免费视频在线| 亚洲综合图色| 中文一区二区视频| segui88久久综合9999| 国产欧美日韩免费| 天堂av一区二区三区在线播放| 在线观看成人一级片| 香蕉久久夜色精品| 欧美日韩人妻精品一区在线| 中文字幕在线免费不卡| 亚洲综合久久网| 亚洲国产中文字幕在线观看| 成人在线免费看黄| 国产精品日韩欧美| 你微笑时很美电视剧整集高清不卡| 久久久久久久香蕉| 国产精品原创巨作av| 精品少妇一区二区三区密爱| 在线观看区一区二| 韩国三级在线观看久| 66m—66摸成人免费视频| 欧美a级大片在线| 天天成人综合网| 久久国产人妖系列| 日本女人性生活视频| 色综合久久99| 欧美大片aaa| 欧洲一区二区视频| 日韩美女毛片| 亚洲自偷自拍熟女另类| 99国产精品久| 中文字幕日韩一级| 亚洲精品国产精品国产自| 高h视频在线播放| 国产精品午夜av在线| 亚洲国产电影| 亚洲精品在线视频免费观看| 精品久久香蕉国产线看观看亚洲| 免费观看黄一级视频| 欧美精品久久久久| 精品人人人人| 116极品美女午夜一级| 久久久www免费人成精品| 四虎影院在线免费播放| 亚洲人成电影在线| av免费在线一区| 在线观看日韩羞羞视频| 国产真实精品久久二三区| 欧美久久久久久久久久久久| 精品国产99国产精品| 电影在线观看一区| 蜜桃日韩视频| 蜜乳av一区二区三区| 永久免费看mv网站入口| 日韩一级二级三级| 国产 欧美 日韩 在线| 亚洲区综合中文字幕日日| 国产免费人做人爱午夜视频| 国产色婷婷亚洲99精品小说| 6—12呦国产精品| 久久91精品国产91久久久| 激情小说一区| 五月婷婷狠狠操| 亚洲精品成人悠悠色影视| 日本黄色一区二区三区| 国产999精品视频| 国产精品88久久久久久| 免费观看污网站| 欧美亚洲高清一区二区三区不卡| caoporn97在线视频| 久久精品二区| 久久国产精品99精品国产| 久久久久亚洲av片无码下载蜜桃| 国产网站欧美日韩免费精品在线观看| 日韩福利一区| 大片在线观看网站免费收看| 91丨九色丨国产丨porny| 91免费视频播放| 91av在线看| 亚洲精品97| 日韩人妻一区二区三区| 91精品国产综合久久香蕉的特点| av中文字幕在线| 精品欧美国产| 国产一区美女在线| 青青视频在线免费观看|