🏆🏆🏆教程全知识点简介:1.定位、目标。2. K-近邻算法涵盖距离度量、k值选择、kd树、鸢尾花种类预测数据集介绍、练一练、交叉验证网格搜索、facebook签到位置预测案例。3. 线性回归包括线性回归简介、线性回归损失和优化、梯度下降法介绍、波士顿房价预测案例、欠拟合和过拟合、正则化线性模型、正规方程推导方式、梯度下降法算法比较优化、维灾难。4. 逻辑回归涵盖逻辑回归介绍、癌症分类预测案例(良恶性乳腺癌肿瘤预测、获取数据)、ROC曲线绘制。5. 朴素贝叶斯算法包括朴素贝叶斯算法简介、概率基础复习、产品评论情感分析案例(取出内容列数据分析、判定评判标准好评差评)。6. 支持向量机涵盖SVM算法原理、SVM损失函数、数字识别器案例。7. 决策树算法包括决策树分类原理、cart剪枝、特征工程特征提取、决策树算法api、泰坦尼克号乘客生存预测案例。8. EM算法涵盖初识EM算法、EM算法介绍。9. HMM模型包括马尔科夫链、HMM简介、前向后向算法评估观察序列概率、维特比算法解码隐藏状态序列、HMM模型API介绍。10. 集成学习进阶涵盖Bagging、xgboost算法原理、otto案例(Otto Group Product Classification Challenge xgboost实现)、数据变化可视化、lightGBM、stacking算法基本思想、住房月租金预测。11. 聚类算法包括聚类算法api初步使用、聚类算法实现流程、模型评估、算法优化、特征降维、用户对物品类别喜好细分案例、算法选择指导。12. 数学基础涵盖向量与矩阵范数、朗格朗日乘子法、Huber Loss、极大似然函数取对数原因。

📚📚👉👉👉本站这篇博客: https://www.jianshu.com/p/59470b72acc2 中查看
📚📚👉👉👉本站这篇博客: https://www.jianshu.com/p/c00dfabf33cd 中查看
📚📚👉👉👉本站这篇博客: https://www.jianshu.com/p/c00dfabf33cd 中查看
✨ 本教程项目亮点
🧠 知识体系完整:覆盖从基础原理、核心方法到高阶应用的全流程内容
💻 全技术链覆盖:完整前后端技术栈,涵盖开发必备技能
🚀 从零到实战:适合 0 基础入门到提升,循序渐进掌握核心能力
📚 丰富文档与代码示例:涵盖多种场景,可运行、可复用
🛠 工作与学习双参考:不仅适合系统化学习,更可作为日常开发中的查阅手册
🧩 模块化知识结构:按知识点分章节,便于快速定位和复习
📈 长期可用的技术积累:不止一次学习,而是能伴随工作与项目长期参考
🎯🎯🎯全教程总章节
🚀🚀🚀本篇主要内容
集成学习进阶
学习目标
- 知道xgboost算法原理
- 知道otto案例通过xgboost实现流程
- 知道lightGBM算法原理
- 知道PUBG案例通过lightGBM实现流程
- 知道stacking算法原理
- 知道住房月租金预测通过stacking实现流程
5.9 stacking算法基本思想
1 集成学习基本复习
Ensemble learning 中文名叫做集成学习,它并不是一个单独的机器学习算法,而是将很多的机器学习算法结合在一起, 把组成集成学习的算法叫做“个体学习器”。在集成学习器当中,个体学习器都相同,那么这些个体学习器可以叫做“基学习器”。
个体学习器组合在一起形成的集成学习,常常能够使得泛化性能提高,这对于“弱学习器”的提高尤为明显。弱学习器指的是比随机猜想要好一些的学习器。
在进行集成学习的时候, 希望 的基学习器应该是好而不同,这个思想在集成学习中经常体现。
- “好”就是说,你的基学习器不能太差,
- “不同”就是各个学习器尽量有差异。
集成学习有两个分类,一个是个体学习器存在强依赖关系、必须串行生成的序列化方法,以Boosting为代表。另外一种是个体学习器不存在强依赖关系、可同时生成的并行化方法,以Bagging和随机森林(Random Forest)为代表。
将个体学习器结合在一起的时候使用的方法叫做结合策略。对于分类问题, 可以使用投票法来选择输出最多的类。对于回归问题, 可以将分类器输出的结果求平均值。
上面说的投票法和平均法都是很有效的结合策略,还有一种结合策略是使用另外一个机器学习算法来将个体机器学习器的结果结合在一起,这个方法就是Stacking。
2 stacking 的基本思想
stacking 就是将一系列模型(也称基模型)的输出结果作为新特征输入到其他模型,这种方法由于实现了模型的层叠,即第一层的模型输出作为第二层模型的输入,第二层模型的输出作为第三层模型的输入,依次类推,最后一层模型输出的结果作为最终结果。本文会以两层的 stacking 为例进行说明。
stacking 的思想也很好理解,接下来 首先看两个简单的举例:
举例一:以论文审稿为例,首先是三个审稿人分别对论文进行审稿,然后分别返回审稿意见给总编辑,总编辑会结合审稿人的意见给出最终的判断,即是否录用。对应于stacking,这里的三个审稿人就是第一层的模型,其输出(审稿人意见)会作为第二层模型(总编辑)的输入,然后第二层模型会给出最终的结果。
举例二:A、B是学习器,C、D、E是进行答案再组织的次学习器,次学习器会组织利用底层模型提供的答案。
stacking 的思想很好理解,但是在实现时需要注意不能有泄漏(leak)的情况,也就是说对于训练样本中的每一条数据,基模型输出其结果时并不能用这条数据来训练。否则就是用这条数据来训练,同时用这条数据来测试,这样会造成最终预测时的过拟合现象,即经过stacking后在训练集上进行验证时效果很好,但是在测试集上效果很差。
为了解决这个泄漏的问题,需要通过 K-Fold 方法分别输出各部分样本的结果,这里以 5-Fold 为例,具体步骤如下
(1) 将数据划分为 5 部分,每次用其中 1 部分做验证集,其余 4 部分做训练集,则共可训练出 5 个模型 (2) 对于训练集,每次训练出一个模型时,通过该模型对没有用来训练的验证集进行预测,将预测结果作为验证集对应的样本的第二层输入,则依次遍历5次后,每个训练样本都可得到其输出结果作为第二层模型的输入 (3) 对于测试集,每次训练出一个模型时,都用这个模型对其进行预测,则最终测试集的每个样本都会有5个输出结果,对这些结果取平均作为该样本的第二层输入
上述过程图示如下
除此之外,用 stacking 或者说 ensemble 这一类方法时还需要注意以下两点:
- Base Model 之间的相关性要尽可能的小,从而能够互补模型间的优势
- Base Model 之间的性能表现不能差距太大,太差的模型会拖后腿
3 stacking的特点
使用stacking,组合1000多个模型,有时甚至要计算几十个小时。但是,这些怪物般的集成方法同样有着它的用处:
(1)它可以帮你打败当前学术界性能最好的算法
(2) 有可能将集成的知识迁移到到简单的分类器上
(3)自动化的大型集成策略可以通过添加正则项有效的对抗过拟合,而且并不需要太多的调参和特征选择。所以从原则上讲,stacking非常适合于那些“懒人”
(4)这是目前提升机器学习效果最好的方法,或者说是最效率的方法human ensemble learning 。
5.10 住房月租金预测
官网链接:住房月租金预测
1 数据背景
当今社会,房屋租金由装修情况、位置地段、户型格局、交通便利程度、市场供需量等多方面因素综合决定,对于租房这个相对传统的行业来说,信息严重不对称一直存在。一方面,房东不了解租房的市场真实价格,只能忍痛空置高租金的房屋;另一方面,租客也找不到满足自己需求高性价比房屋,这造成了租房资源的极大浪费。
本赛题将基于租房市场的痛点,提供脱敏处理后的真实租房市场数据。选手需要利用有月租金标签的历史数据建立模型,实现基于房屋基本信息的住房月租金预测,为该城市租房市场提供客观衡量标准。
2 任务
数据为某地4个月的房屋租赁价格以及房屋的基本信息, 对数据做了脱敏处理。
选手需要利用训练集中的房屋信息和月租金训练模型,利用测试集中的房屋信息对测试集数据中的房屋的月租金进行预测。
3 数据
数据分为两组,分别是训练集和测试集。
训练集为前3个月采集的数据,共196539条。
测试集为第4个月采集的数据,相对于训练集,增加了“id”字段,为房屋的唯一id,且无“月租金”字段,其它字段与训练集相同,共56279条。
训练集所含字段如下:
4 评分标准
算法通过计算预测值和真实房租月租金的均方根误差来衡量回归模型的优劣。均方根误差越小,说明回归模型越好。
均方根误差计算公式如下:
集成学习进阶
学习目标
- 知道xgboost算法原理
- 知道otto案例通过xgboost实现流程
- 知道lightGBM算法原理
- 知道PUBG案例通过lightGBM实现流程
- 知道stacking算法原理
- 知道住房月租金预测通过stacking实现流程
向量与矩阵的范数
1.向量的范数
向量的1-范数:; 各个元素的绝对值之和;
向量的2-范数:每个元素的平方和再开平方根;
向量的无穷范数:例:向量X=[2, 3, -5, -7] ,求向量的1-范数,2-范数和无穷范数。
向量的1-范数:各个元素的绝对值之和;=2+3+5+7=17;
向量的2-范数:每个元素的平方和再开平方根;;
向量的无穷范数:
(1)正无穷范数:向量的所有元素的绝对值中最大的;即X的正无穷范数为:7;
(2)负无穷范数:向量的所有元素的绝对值中最小的;即X的负无穷范数为:2;
2.矩阵的范数
设:向量,矩阵,例如矩阵A为:
A=[2, 3, -5, -7;
4, 6, 8, -4;
6, -11, -3, 16];
(1)矩阵的1-范数(列模):;矩阵的每一列上的元素绝对值先求和,再从中取个最大的,(列和最大);即矩阵A的1-范数为:27
(2)矩阵的2-范数(谱模):
,其中<span>λi\lambda_iλi</span><span>ATAATAATA</span><span>ATAATAATA</span>(3)矩阵的无穷范数(行模):![]](https://private.codecogs.com\gif.latex%7B%5Cleft%5C%7C%20A%20%5Cright%5C%7C_%5Cinfty%20%7D%20%3D%20%5Cmathop%20%7B%5Cmax%20%7D%5Climits_%7BX%20%5Cne%200%7D%20%5Cfrac%7B%7B%7B%7B%5Cleft%5C%7C%20%7BAX%7D%20%5Cright%5C%7C%7D_%5Cinfty%20%7D%7D%7D%7B%7B%7B