机器学习之基础算法(提升)

第一部分 提升

提升的概念

加粗样式

梯度提升方法 GBDT

梯度提升算法推导

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

XGBoost

决策树的描述

在这里插入图片描述

正则项的定义

在这里插入图片描述

XGBoost算法的推导

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

Adaboost

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
e2是误分点的权重之和
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

第二部分 代码示例

# /usr/bin/python
# -*- encoding:utf-8 -*-

import xgboost as xgb
import numpy as np

# 1、xgBoost的基本使用
# 2、自定义损失函数的梯度和二阶导
# 3、binary:logistic/logitraw


# 定义f: theta * x
def log_reg(y_hat, y):
    p = 1.0 / (1.0 + np.exp(-y_hat))
    g = p - y.get_label()
    h = p * (1.0-p)
    return g, h


def error_rate(y_hat, y):
    return 'error', float(sum(y.get_label() != (y_hat > 0.5))) / len(y_hat)


if __name__ == "__main__":
    # 读取数据
    data_train = xgb.DMatrix('agaricus_train.txt')
    data_test = xgb.DMatrix('agaricus_test.txt')
    print data_train
    print type(data_train)

    # 设置参数
    param = {
   'max_depth': 3, 'eta': 1, 'silent': 1, 'objective': 'binary:logistic'} # logitraw
    # param = {'max_depth': 3, 'eta': 0.3, 'silent': 1, 'objective': 'reg:logistic'}
    watchlist = [(data_test, 'eval'), (data_train, 'train')]
    n_round = 7
    # bst = xgb.train(param, data_train, num_boost_round=n_round, evals=watchlist)
    bst = xgb.train(param, data_train, num_boost_round=n_round, evals=watchlist, obj=log_reg, feval=error_rate)

    # 计算错误率
    y_hat = bst.predict(data_test)
    y = data_test.get_label()
    print y_hat
    print y
    error = sum(y != (y_hat > 0.5))
    error_rate = float(error) / len(y_hat)
    print '样本总数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一个机器学习算法工程师,以下是一个常见的学习路线: 1. 学习数学基础机器学习算法涉及许多数学概念,如线性代数、概率论和统计学。建议先打好数学基础,了解矩阵运算、概率分布和统计推断等内容。 2. 学习编程语言:掌握至少一种常用的编程语言,如Python或R。这些语言在机器学习领域被广泛应用,具有丰富的库和工具,方便实现和调试算法。 3. 学习机器学习算法:学习经典的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机和随机森林等。理解算法的原理、优缺点和适用场景。 4. 掌握深度学习框架:学习深度学习框架,如TensorFlow或PyTorch。深度学习在图像识别、语音处理和自然语言处理等领域有广泛应用,掌握相应的框架可以更高效地实现和训练深度神经网络。 5. 数据预处理和特征工程:了解数据清洗、特征提取和特征选择等技术。数据预处理是机器学习流程中重要的一环,对数据进行有效处理可以提升模型的性能。 6. 模型评估和调优:学习评估机器学习模型的方法,如交叉验证、指标选择和超参数调优等。了解常见的模型评估指标,如准确率、精确率、召回率和F1值等。 7. 实践项目:通过实际项目锻炼自己的技能,参与竞赛或者解决实际问题。实践中会面临各种挑战和困难,能够提升自己的解决问题的能力。 8. 持续学习和跟进最新研究:机器学习领域发展迅速,新的算法和技术不断涌现。保持持续学习的态度,关注最新的研究成果和技术趋势,保持自己的竞争力。 以上是一个大致的学习路线,具体的学习内容和深度可以根据个人兴趣和实际需求进行调整。希望能对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值