pyCaret效率倍增開(kāi)源低代碼的python機(jī)器學(xué)習(xí)工具
PyCaret 是一個(gè)開(kāi)源、低代碼的 Python 機(jī)器學(xué)習(xí)庫(kù),可自動(dòng)執(zhí)行機(jī)器學(xué)習(xí)工作流。它是一種端到端的機(jī)器學(xué)習(xí)和模型管理工具,可以以指數(shù)方式加快實(shí)驗(yàn)周期并提高您的工作效率。歡迎收藏學(xué)習(xí),喜歡點(diǎn)贊支持,文末提供技術(shù)交流群。
與其他開(kāi)源機(jī)器學(xué)習(xí)庫(kù)相比,PyCaret 是一個(gè)替代的低代碼庫(kù),可用于僅用幾行代碼替換數(shù)百行代碼。 這使得實(shí)驗(yàn)速度和效率呈指數(shù)級(jí)增長(zhǎng)。 PyCaret 本質(zhì)上是圍繞多個(gè)機(jī)器學(xué)習(xí)庫(kù)和框架(例如 scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray 等)的 Python 包裝器。
PyCaret 的設(shè)計(jì)和簡(jiǎn)單性受到數(shù)據(jù)科學(xué)家這一新興角色的啟發(fā),可以執(zhí)行以前需要更多技術(shù)專長(zhǎng)的簡(jiǎn)單和中等復(fù)雜的分析任務(wù)。
PyCaret 時(shí)間序列模塊
PyCaret 的新時(shí)間序列模塊現(xiàn)已提供測(cè)試版。 秉承 PyCaret 的簡(jiǎn)單性,它與現(xiàn)有的 API 保持一致,并帶有很多功能。 統(tǒng)計(jì)測(cè)試、模型訓(xùn)練和選擇(30 多種算法)、模型分析、自動(dòng)超參數(shù)調(diào)優(yōu)、實(shí)驗(yàn)記錄、云部署等, 所有這一切只需要幾行代碼(就像 pycaret 的其他模塊一樣)。 如果您想嘗試一下,請(qǐng)查看官方的快速入門筆記本。
您可以使用 pip 安裝此庫(kù)。 如果你在同一個(gè)環(huán)境中安裝了 PyCaret,由于依賴沖突,你必須為 pycaret-ts-alpha 創(chuàng)建一個(gè)單獨(dú)的環(huán)境。
pip install pycaret-ts-alpha
接下來(lái)安排如下
PyCaret 的時(shí)間序列模塊中的工作流程非常簡(jiǎn)單。 它從設(shè)置功能開(kāi)始,您可以在其中定義預(yù)測(cè)范圍 fh 和折疊次數(shù)。 您還可以將 fold_strategy 定義為擴(kuò)展或滑動(dòng)。
設(shè)置后,著名的 compare_models 函數(shù)訓(xùn)練和評(píng)估從 ARIMA 到 XGboost(TBATS、FBProphet、ETS 等)的 30 多種算法。
plot_model 函數(shù)可以在訓(xùn)練之前或之后使用。 在訓(xùn)練前使用時(shí),它使用 plotly 界面收集了大量時(shí)間序列 EDA 圖。 與模型一起使用時(shí),plot_model 處理模型殘差,并可用于訪問(wèn)模型擬合。
最后,predict_model 用于生成預(yù)測(cè)。
加載數(shù)據(jù)
import pandas as pd from pycaret.datasets import get_data data = get_data('pycaret_downloads') data['Date'] = pd.to_datetime(data['Date']) data = data.groupby('Date').sum() data = data.asfreq('D') data.head()
# plot the data data.plot()
這個(gè)時(shí)間序列是從 pip 每天下載 PyCaret 庫(kù)的次數(shù)。
初始化設(shè)置
# with functional API from pycaret.time_series import * setup(data, fh = 7, fold = 3, session_id = 123) # with new object-oriented API from pycaret.internal.pycaret_experiment import TimeSeriesExperiment exp = TimeSeriesExperiment() exp.setup(data, fh = 7, fold = 3, session_id = 123)
統(tǒng)計(jì)測(cè)試
check_stats()
探索性數(shù)據(jù)分析
# functional API plot_model(plot = 'ts') # object-oriented API exp.plot_model(plot = 'ts')
# cross-validation plot plot_model(plot = 'cv')
# ACF plot plot_model(plot = 'acf')
# Diagnostics plot plot_model(plot = 'diagnostics')
# Decomposition plot plot_model(plot = 'decomp_stl')
模型訓(xùn)練和選擇
# functional API best = compare_models() # object-oriented API best = exp.compare_models()
時(shí)間序列模塊中的 create_model 就像在其他模塊中一樣。
# create fbprophet model prophet = create_model('prophet') print(prophet)
tune_model 也沒(méi)有太大不同。
tuned_prophet = tune_model(prophet) print(tuned_prophet)
plot_model(best, plot = 'forecast')
# forecast in unknown future plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 30})
# in-sample plot plot_model(best, plot = 'insample')
# residuals plot plot_model(best, plot = 'residuals')
# diagnostics plot plot_model(best, plot = 'diagnostics')
保存模型
# finalize model final_best = finalize_model(best) # generate predictions predict_model(final_best, fh = 90)
# save the model save_model(final_best, 'my_best_model')
以上就是pyCaret效率倍增開(kāi)源低代碼的python機(jī)器學(xué)習(xí)工具的詳細(xì)內(nèi)容,更多關(guān)于python機(jī)器學(xué)習(xí)工具Pycaret的資料請(qǐng)關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。