数据科学/机器学习——集成模型【实例分析稍后放上,多稍后我也不确定...】

集成模型

  • “三个臭皮匠,顶个诸葛亮”,个体方法总有不足,博采众长,考虑问题不同视角,通过将多个模型的结果进行综合,集成方法通常能获得比单个学习模型更好的预测性能以及更准确的结果,常应用于有监督模型
  • 前提要求:基模型的预测能力比随即猜测好,且多个基模型之间具有差异性
  • 集成方法:增强模型的表达能力;降低误差,大幅度提升模型预测性能【前提:基模型之间相互独立】
  • 集成分类器误差:
  • 构建集成模型步骤
    • 构造多个基模型
      • 可同一类型也可不同
    • 根据一定策略,将基模型组合成集成模型
      • 多数投票方法、平均值方法、加权平均方法、堆叠方法【将基模型的输出当作输入,将数据真实标签当作输出从而训练一个新模型】
  • Bagging

    • 改进多个随机分类器性能
    • 主要:减小方差
    • 核心:自主抽样、Aggregating
    • 过程
      • 从训练数据中自助抽样获取多分抽样数据
        • 有放回、得到与原始数据集D大小一样的样本集Dt
        • 一个样本不被抽到的概率为1-1/n,则
        • D中有36.8%的数据不会出现在Dt中,训练集中包含63.2%的不同样本
        • 每个Dt学习得到一个训练器Mt
      • 利用抽样数据训练基模型
      • 平均所有基模型的预测结果得到集成模型
      • 对于分类问题,采用多数投票;回归问题,采用平均值
    • Bagging优势:
      • 大大降低模型的方差,适用于提高方差大但偏差小的基模型预测性能【方差大-单个模型不稳定,对训练数据轻微的改变能够造成其性能较明显的变化】
      • 可综合投票结果,从而提高稳定性、准确率
      • 便于并行化【数据获取及基模型训练互相没有关联】
    • 随机森林
      • 核心:随机
      • 应用:市场营销、股票市场分析、金融欺诈检测、基因组数据分析和疾病风险预测
      • 特点:
        • 对样本进行有放回抽样Bootstrap抽样【保证每棵树学习到的数据侧重点不同,提高了决策树之间的独立性】【前提:每棵树各不相同且预测结果相互独立】
        • 对特征进行随机抽样、特征阈值随机选取【引入随机性,进一步降低决策树之间的相关性】
        • 基本分类器:决策树
      • 特征数量m的选取(m<d特征维度)
        • 大的m值可以使得决策树的准确率提高,但是多棵决策树之间的相关性很高【独立性下降】
        • 需要较小的m值
        • 确定方法:交叉验证法【m值多取几次验证】;经验性的设置方法m=log2d+1
      • 性能评估和特征评估
        • 性能评估
          • 分类间隔
            • 森林中正确分类样本的决策树的比例减去错误分类样本的比例,平均随机森林在各个样本上的分类间隔得到随机森林的分类间隔
            • 大的分类间隔表示分类效果稳定,泛化效果较好
          • 袋外误差
            • 袋外样本:部分没有被抽样到称为被训练的样本
            • 袋外误差:随机森林对袋外样本的预测错误率
            • 计算方式:
              • 对每个样本,计算把该样本作为袋外样本的树对该样本的分类情况;
              • 简单多数投票作为该样本的分类结果;
              • 误分样本个数占样本总数的比率作为随机森林的袋外误差
        • 特征评估
          • 计算特征平均信息增益
            • 有利于具有更多特征值的特征,在不同特征的特征值种类有较大区别时会失效,不能用于解释特征的重要性
          • 计算每个特征对模型准确率的影响
            • 样本数量对结果有很大影响
            • 通过打乱样本某一特征的特征值顺序,产生新样本,将新样本放入建立好的随机森林模型中计算准确率,但对于重要特征来说,打乱顺序会极大降低模型的准确率。
        • 算法分析
          • 假设单棵决策树的方差为σ2(x),任意两棵决策树之间的相关性为ρ(x),则T棵决策树的集成随机森林模型的方差为
          • 随T的增加,方差的第二项逐渐减少→随机森林能够降低模型误差
          • 完全不相关-var=0;有很强的相关性var=σ2(x)
        • 随机森林优点:
          • 大大减小模型方差,提高预测能力
          • 处理高维数据,不用做特征选择
          • 样本和特征双重抽样且多个决策树的训练过程相互独立,因此随机森林能够处理样本数和特征数量很大的数据,并能很好进行并行化
          • 袋外误差代替交叉验证作用,达到了将数据集成不同的子集去验证模型的效果
          • 特征之间存在多重共线性不敏感,能在一定程度上处理缺失数据和不均衡数据
        • 随机森林缺点:
          • 在处理噪音较大的小规模数据和低维数据时,随机森林容易产生过度拟合问题
          • 相对于决策树,可解释性差,预测速度慢
  • Boosting

    • 串行训练多个模型,后面的模型是基于前面模型的训练结果(误差)
    • 主要:减小偏差
    • 基本想法:从训练数据集中训练得到一个弱分类器,下一个弱分类器基于前一个弱分类器的表现,重点关注前一个弱分类分类的样本,尽量将前一个弱分类器分错的样本分对【考试,错题本】
    • Boosting-改变样本权重,根据基模型的预测性能,给不同的基模型以不同的权重,基分类器的误差越高,则该基分类器的权重越低;Bagging-多数投票/平均,相当于每个基模型具有相同的权重
    • Boosting缺陷:需要预先知道弱分类模型的误差上界
      • AdaBoost
      • 不需要预先确定弱分类器的误差上界
      • 两个权重:
        • 样本权重:分错样本权重提高【下一个分类器注重于分错的样本,意将分错的样本分对】
        • 分类器权重:在最终的预测过程中,当前弱分类器占多大重要性,预测性能越高的弱分类器具有更高的权重
      • 流程
        • 给训练集的样本赋予一个权重,初始权重为1/n;
        • 每一次迭代过程中,被当前弱分类器分错的样本权重会相应同比例提高,分对的降低【权重由当前分类器加权错误率决定】
        • 将弱分类器以加权的形式线性组合成一个强分类器
        • 在这里插入图片描述
      • 误差分析
        • 泛化误差
        • 随着弱分类器数目T的增大,泛化误差上界会增大,从而可能导致过度拟合,但经验性结果表明,T达到上千级别,也不会过度拟合
      • AdaBoost优点:
        • 防止过拟合;减小方差、偏差;
        • 除了弱分类器数目T外,几乎没有额外的参数需要调整【弱分类器本身参数除外】
        • 提供一种框架,弱分类器可选择决策树或其他分类算法
      • AdaBoost缺点:
        • 集成多个弱分类器导致模型的可解释性降低
        • 对异常值敏感
        • 当弱分类器太复杂或效果太差时,容易导致过拟合
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: “IT行业收入表.xlsx”是一份包含了IT行业从业人员的工作经验、薪资等信息的数据表格。对于这样一个数据表格,我们可以尝试使用线性回归模型进行数据分析机器学习。 线性回归模型是一种基于线性关系建立的预测模型,其基本假设是自变量和因变量之间存在线性关系。在应用到这个数据表格中时,我们可以将工作经验作为自变量,薪资作为因变量来建立线性回归模型。通过训练和调整模型,我们可以预测不同工作经验下的薪资水平。 在使用线性回归模型时,我们需要注意以下几个方面: 首先,数据的准确性和完整性对于模型的精准度至关重要。在对数据进行分析时,我们需要仔细检查并清洗数据,保证数据的准确性和完整性。 其次,我们需要选择合适的算法和技术来训练模型,并进行模型选择和调整。对于这个数据表格中的简单线性回归模型,最小二乘法是常用的训练算法之一,但在实际应用中可能需要结合其他算法和技术来提高模型的预测精度。 最后,我们需要对模型的结果进行评估和解释。通过计算模型的 R2 值和 p 值等指标,我们可以评价模型的优劣,并根据模型的结果对不同的数据分析机器学习应用进行解释和指导。 总之,基于“IT行业收入表.xlsx”这样的数据表格,使用线性回归模型进行数据分析机器学习是一种有益的方法。通过仔细清洗数据、选择合适的算法和技术、对模型的结果进行评估和解释,我们可以获得更准确的数据分析机器学习预测结果。 ### 回答2: “IT行业收入表.xlsx”是一个关于IT行业的收入数据表格,可以利用Python中的线性回归模型进行数据分析机器学习。通过分析这个数据表格,我们可以了解IT行业不同职业的收入情况,对未来的职业选择和职业规划提供参考。 首先,使用Python的pandas包将“IT行业收入表.xlsx”导入程序中。然后,使用pandas提供的数据处理函数,对数据进行清洗和预处理。例如,可以使用dropna函数删除数据表格中的空值,使用groupby函数对不同职业的收入进行分组,并使用describe函数对数据做基本统计分析。 接下来,使用Python中的scikit-learn包构建线性回归模型。将整理好的数据集分成训练集和测试集,并使用LinearRegression函数进行模型训练和测试。根据训练的模型,可以预测不同职业的收入情况。 最后,使用Python中的可视化库matplotlib对数据进行可视化展示,以更直观地理解收入的分布情况和趋势。例如,可以使用散点图表示不同收入水平下的职业数量,或使用折线图表示不同职业的平均收入变化趋势。 总之,使用Python中的线性回归模型可以对“IT行业收入表.xlsx”进行大数据分析机器学习,为IT从业者和求职者提供参考和借鉴。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值