自動化流程:
模型選擇
特徵工程
調參
模型融合
TobularDateset#
Tobular 表格化的
from autogluon.tabular import TabularDataset, TabularPredictor
data_root = 'https://autogluon.s3.amazonaws.com/datasets/Inc/'
# data_root + 'train.csv' = 'https://autogluon.s3.amazonaws.com/datasets/Inc/train.csv' 從鏈接中獲取數據
train_data = TabularDataset(data_root + 'train.csv')
test_data = TabularDataset(data_root + 'test.csv')
# 訓練模型
predictor = TabularPredictor(label='class').fit(train_data=train_data, presets = 'high_quality')
# preset 默認是 medium_quality ,可以換不同的參數,和計算性能有關
# 測試集預測
predictions = predictor.predict(test_data)
# 評估
predictor.evaluate(test_data, silent=True)
TabularPredictor 重要參數
- label:要預測的目標變量的列的名稱
- problem_type :- 預測問題的類型,二進制 / 多類分類還是回歸問題 (binary ,multiclass,regression,quantile)。如果 problem_type = None,則根據提供的數據集中標籤值推斷預測問題類型。
- eval_metric :評價指標。如果 eval_metric = None,則根據 problem_type 自動選擇。默認為二元和多類分類 ' accuracy ', ' root_mean_squared_error ' 用於回歸,' pinball_loss ' 用於分位數。
- 分類:[‘accuracy’, ‘balanced_accuracy’, ‘f1’, ‘f1_macro’, ‘f1_micro’, ‘f1_weighted’, ‘roc_auc’, ‘roc_auc_ovo_macro’, ‘average_precision’, ‘precision’, ‘precision_macro’, ‘precision_micro’, ‘precision_weighted’, ‘recall’, ‘recall_macro’, ‘recall_micro’, ‘recall_weighted’, ‘log_loss’, ‘pac_score’]
- 回歸:[‘root_mean_squared_error’, ‘mean_squared_error’, ‘mean_absolute_error’, ‘median_absolute_error’, ‘mean_absolute_percentage_error’, ‘r2’]
Fit 重要參數
-** train_data** (str 或 TabularDataset 或 pd.DataFrame) - 訓練數據的表
- time_limit (int, default = None) - fit () 應該運行多長時間 (以秒為單位的時鐘時間)
- presets :模型表現。 表現越好,耗時越長。[‘best_quality’, ‘high_quality’, ‘good_quality’, ‘medium_quality’, ‘optimize_for_deployment’, ‘interpretable’, ‘ignore_text’]
- num_bag_folds:K 折交叉驗證的折數
- excluded_model_types:不用哪些模型進行訓練 excluded_model_types=[‘KNN’, ‘custom’]
- num_stack_levels:stack 層數 一般 0-3