PyCaret:機(jī)器學(xué)習(xí)模型開發(fā)變得簡(jiǎn)單
在當(dāng)今快節(jié)奏的數(shù)字世界中,機(jī)構(gòu)們使用低代碼/無(wú)代碼(LC/NC)應(yīng)用來快速構(gòu)建新的信息系統(tǒng)。本文將介紹 PyCaret,這是一個(gè)用 Python 編寫的低代碼機(jī)器學(xué)習(xí)庫(kù)。
PyCaret 是 R 編程語(yǔ)言中 Caret(分類和回歸訓(xùn)練Classification And REgression Training的縮寫)包的 Python 版本,具有許多優(yōu)點(diǎn)。
提高工作效率: PyCaret 是一個(gè)低代碼庫(kù),可讓你提高工作效率。由于花費(fèi)更少的時(shí)間進(jìn)行編碼,你和你的團(tuán)隊(duì)現(xiàn)在可以專注于業(yè)務(wù)問題。
易于使用: 這個(gè)簡(jiǎn)單易用的機(jī)器學(xué)習(xí)庫(kù)將幫助你以更少的代碼行執(zhí)行端到端的機(jī)器學(xué)習(xí)實(shí)驗(yàn)。
可用于商業(yè): PyCaret 是一個(gè)可用于商業(yè)的解決方案。它允許你從選擇的 notebook 環(huán)境中快速有效地進(jìn)行原型設(shè)計(jì)。
你可以在 Python 中創(chuàng)建一個(gè)虛擬環(huán)境并執(zhí)行以下命令來安裝 PyCaret 完整版:
pip install pycaret [full]
機(jī)器學(xué)習(xí)從業(yè)者可以使用 PyCaret 進(jìn)行分類、回歸、聚類、異常檢測(cè)、自然語(yǔ)言處理、關(guān)聯(lián)規(guī)則挖掘和時(shí)間序列分析。
使用 PyCaret 構(gòu)建分類模型
本文通過從 PyCaret 的數(shù)據(jù)倉(cāng)庫(kù)中獲取 Iris 數(shù)據(jù)集來解釋使用 PyCaret 構(gòu)建分類模型。
我們將使用 Google Colab 環(huán)境使事情變得簡(jiǎn)單,并按照下面提到的步驟進(jìn)行操作。
步驟 1
首先,通過給出以下命令安裝 PyCaret:
pip install pycaret
步驟 2
接下來,加載數(shù)據(jù)集,如圖 2 所示:
Loading the data set
from pycaret.datasets import get_data
dataset = get_data('iris')
(或者)
import pandas as pd
dataset = pd.read_csv('/path_to_data/file.csv')
步驟 3
現(xiàn)在設(shè)置 PyCaret 環(huán)境,如圖 2 所示:
PyCaret environment setup
from pycaret.classification import *
clf1 = setup(data=dataset, target = ‘species’)
PyCaret environment setup result
使用 PyCaret 構(gòu)建任何類型的模型,環(huán)境設(shè)置是最重要的一步。默認(rèn)情況下,setup() 函數(shù)接受參數(shù) data(Pandas 數(shù)據(jù)幀)和 target(指向數(shù)據(jù)集中的類標(biāo)簽變量)。setup() 函數(shù)的結(jié)果如圖 3 所示。 setup() 函數(shù)默認(rèn)將 70% 的數(shù)據(jù)拆分為訓(xùn)練集,30% 作為測(cè)試集,并進(jìn)行數(shù)據(jù)預(yù)處理,如圖 3 所示。
步驟 4
接下來,找到最佳模型,如圖 4 所示:
Finding the best model
best = compare_models()
默認(rèn)情況下,compare_models() 應(yīng)用十倍交叉驗(yàn)證,并針對(duì)具有較少訓(xùn)練時(shí)間的不同分類器計(jì)算不同的性能指標(biāo),如準(zhǔn)確度、AUC、召回率、精度、F1 分?jǐn)?shù)、Kappa 和 MCC,如圖 4 所示。通過將 tubro=True 傳遞給 compare_models() 函數(shù),我們可以嘗試所有分類器。
步驟 5
現(xiàn)在創(chuàng)建模型,如圖 5 所示:
Creating the model
lda_model=create_model (‘lda’)
線性判別分析分類器表現(xiàn)良好,如圖 4 所示。因此,通過將 lda 傳遞給 create_model() 函數(shù),我們可以擬合模型。
步驟 6
下一步是微調(diào)模型,如圖 6 所示。
Tuning the model
tuned_lda=tune_model(lda_model)
超參數(shù)的調(diào)整可以提高模型的準(zhǔn)確性。tune_model() 函數(shù)將線性判別分析模型的精度從 0.9818 提高到 0.9909,如圖 7 所示。
Tuned model details
步驟 7
下一步是進(jìn)行預(yù)測(cè),如圖 8 所示:
Predictions using the tuned model
predictions=predict_model(tuned_lda)
predict_model() 函數(shù)用于對(duì)測(cè)試數(shù)據(jù)中存在的樣本進(jìn)行預(yù)測(cè)。
步驟 8
現(xiàn)在繪制模型性能,如圖 9 所示:
Evaluating and plotting the model performance — confusion matrix
evaluate_model(tuned_lda)
evaluate_model() 函數(shù)用于以最小的努力開發(fā)不同的性能指標(biāo)。你可以嘗試它們并查看輸出。