机器学习集成模型随机森林、catboost、AutoML

RandomForestClassifier

RandomForestClassifier 是一种随机森林分类器,它是基于决策树的集成学习方法。下面是 RandomForestClassifier 常用的参数:

n_estimators:森林中树的数量。
criterion:衡量特征分割的质量指标,常用的有 “gini” 和 “entropy”。
max_depth:每棵树的最大深度,控制模型的复杂度和拟合能力。
min_samples_split:节点分裂所需的最小样本数。较小的值可能导致过拟合,较大的值可能导致欠拟合。
min_samples_leaf:叶子节点所需的最小样本数。与 min_samples_split 相似,用于控制过拟合和欠拟合。
max_features:每棵树在分割节点时考虑的特征数。可以是整数、浮点数或者字符串 “auto”、“sqrt”、“log2” 等。
bootstrap:是否使用自助采样法(bootstrap sampling)来构建每棵树。默认为 True。
random_state:随机种子,控制训练过程的可复现性。
class_weight:类别权重,用于处理数据不平衡问题。
n_jobs:并行运行的作业数量。可以使用 -1 来表示使用所有可用的处理器。

from sklearn.ensemble import RandomForestClassifier
'''
criterion:衡量分割质量的评价准则,默认值为"gini"。可选的值有"gini"和"entropy"。
max_depth:树的最大深度。默认值为None,表示树会一直生长,直到所有叶子节点都是纯净的或包含小于min_samples_split个样本。
min_samples_split:进行分割所需的最小样本数。默认值为2,表示至少要有2个样本才能进行节点分割。
min_samples_leaf:每个叶子节点所需的最小样本数。默认值为1,表示每个叶子节点至少包含1个样本。
max_features:寻找最佳分割时考虑的特征数量。默认值为"auto",表示考虑总特征数。可以设置为整数、浮点数或字符串。
bootstrap:是否使用自助法(bootstrap)采样。默认值为True,表示使用自助法采样。
class_weight:类别权重,可以用于处理不均衡数据集。默认值为None,表示所有类别的权重相等。
n_jobs:并行计算的作业数量。默认值为None,表示使用单个作业,-1表示使用所有可用的处理器。
verbose:控制训练过程中的详细程度。默认值为0,表示不输出详细信息。
'''

clf =RandomForestClassifier(n_estimators=100, random_state=42, criterion='gini', max_depth=None,
                             min_samples_split=2, min_samples_leaf=1, max_features='auto',
                           bootstrap=True, class_weight=None, n_jobs=-1, verbose=0)
clf.fit(X_train,y_train)

catboost

CatBoost 是一种梯度提升决策树(Gradient Boosting Decision Trees)的机器学习算法。它具有许多可调整的参数,用于控制模型的训练过程和性能。以下是 CatBoost 的一些常用参数:

iterations:迭代次数,指定要训练的树的数量。
learning_rate:学习率,控制每棵树的贡献程度。较低的学习率可以增加稳定性,但可能需要更多的迭代次数。
depth:树的最大深度,控制每棵树的复杂度。较深的树可以捕捉更复杂的特征,但也容易过拟合。
l2_leaf_reg:L2 正则化系数,用于控制模型的复杂度。较高的值可以减少过拟合,但可能降低模型的拟合能力。
bagging_temperature:Bagging 温度,控制样本采样的随机性。较高的值可以增加模型的随机性,减少过拟合的风险。
random_strength:特征随机性强度,控制特征选择的随机性。较高的值可以增加特征选择的随机性,减少过拟合的风险。
border_count:离散化数字特征的阈值数量。较高的值可以提高模型的精度,但会增加训练时间。
eval_metric:评估指标,用于衡量模型性能的指标,如 Logloss、RMSE(均方根误差)、MAE(平均绝对误差)等。
cat_features:类别特征的索引列表,指定哪些特征是分类变量。

!pip install catboost
from catboost import CatBoostClassifier
clf =CatBoostClassifier(learning_rate=0.01, depth=6, l2_leaf_reg=6,loss_function='Logloss')
clf.fit(X_train,y_train)

AutoML

AutoML(自动机器学习)是一种自动化的机器学习方法,它可以自动执行特征选择、超参数优化和模型选择等任务。AutoML 工具通常具有各种参数来控制整个自动化过程。下面是一些常见的 AutoML 参数:

task:指定要解决的任务类型,如分类(classification)、回归(regression)、聚类(clustering)等。
metrics:用于衡量模型性能的评估指标,如准确率(accuracy)、均方根误差(RMSE)、平均绝对误差(MAE)等。
algorithms:指定要尝试的算法或模型类型列表。
time_limit:指定 AutoML 搜索的时间限制,以秒为单位。
max_models:搜索过程中最大创建的模型数量限制。
ensemble_size:用于模型集成的子模型数量。
validation_strategy:用于划分数据集的验证策略,如交叉验证(cross-validation)、持久化验证(holdout validation)等。
data_preprocessing:数据预处理的方法、步骤或管道,如特征缩放、特征编码、缺失值处理等。
feature_selection:特征选择的方法或策略,用于选择最相关的特征。
hyperparameter_tuning:超参数优化的方法或策略,用于搜索最佳超参数组合。

!pip install FLAML
from flaml import AutoML
clf=AutoML()
clf.fit(X_train,y_train,task='classification',metric='accuracy',time_budget=3600)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值