自动化流程:
模型选择
特征工程
调参
模型融合
表格数据集#
表格化的
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