K-meas 聚类、KNN算法、决策树、随机森林

K-means 算法步骤

K-means 聚类的流程分为两个主要步骤:分配(Assignment)和更新(Update)。以下是详细步骤:

  1. 选择 K 值: 设定簇的数量 K。
  2. 初始化簇中心:随机选择 K 个数据点作为初始簇中心(centroids)。
  3. 分配步骤(Assignment Step): 对于数据集中的每个点,将它分配到最近的簇中心对应的簇。这里的"距离"通常使用欧氏距离(Euclidean distance)。
  4. 更新步骤(Update Step): 根据当前的簇分配,重新计算每个簇的中心,即计算簇内所有点的均值作为新的簇中心。
  5. 重复 3 和 4 步:不断重复分配和更新步骤,直到簇中心不再发生变化(收敛)或达到指定的最大迭代次数。

随机森林:

1. 原理

随机森林是一种集成学习方法,它由多个决策树组成,每个决策树都是一个弱学习器。在随机森林中,每个决策树都是基于对训练数据的随机子集进行训练而生成的。在进行预测时,随机森林会对每棵树的预测结果进行平均或投票,以得到最终的预测结果。

2. 工作流程

随机森林回归的工作流程如下:

步骤1:随机选择样本集

从训练数据集中随机选择一个样本集,这个样本集的大小通常和原始训练数据集的大小相同,但是每个样本的选择是随机的,并且可能会有重复。

步骤2:随机选择特征

对于每个决策树的训练过程中,从所有特征中随机选择一个子集。这个子集的大小通常小于总特征数,这样可以保证每个决策树的差异性。

步骤3:训练决策树

使用步骤1和步骤2中选择的样本集和特征子集,训练一个决策树模型。通常使用基尼系数或信息增益等指标来进行节点的划分,直到达到停止条件(如树的深度达到预定值)为止。

步骤4:重复步骤2和步骤3

重复多次步骤2和步骤3,生成多棵决策树。每棵树都是通过不同的样本集和特征子集训练得到的,因此它们之间具有一定的差异性。

步骤5:预测

对于回归问题,随机森林通过对每棵树的预测结果进行平均,得到最终的预测结果。

对于分类问题,对预测结果进行投票,获取投票最多的结果作为分类结果

3. 优缺点

优点:

鲁棒性强: 随机森林能够处理缺失数据和不平衡数据,并且不容易受到噪声的影响。

准确性高: 由于随机森林是通过多棵决策树集成而成,因此通常具有较高的准确性。

可解释性: 可以通过分析每棵树的结构来理解模型的预测过程,提高模型的可解释性。

缺点:

计算资源消耗大: 随机森林由多个决策树组成,训练和预测过程需要消耗大量的计算资源。

可能过拟合: 当训练样本较少或者特征维度较高时,随机森林容易过拟合。

不适合处理高维稀疏数据: 随机森林在处理高维稀疏数据时效果不佳。

KNN算法:

1、原理

K近邻(K-Nearest Neighbors)是一种基于实例的惰性学习 算法,用于分类与回归任务。其核心思想:相似样本在特征空间中距离相近。通过计算待测样本与训练集的距离,选取最近的K个邻居,根据邻居的类别投票决定分类结果。

2、 核心流程

  1. 输入:带标签的训练集、待分类样本、K值(邻居数)

  2. 计算距离:待测样本与所有训练样本的距离(如欧氏距离)

  3. 选择邻居:取距离最近的K个样本

  4. 投票决策:统计K个邻居的类别标签,多数类即为预测结果

3、K值选择

相关推荐
workflower2 小时前
单元测试-例子
java·开发语言·算法·django·个人开发·结对编程
MicroTech20254 小时前
微算法科技(MLGO)研发突破性低复杂度CFG算法,成功缓解边缘分裂学习中的掉队者问题
科技·学习·算法
墨染点香4 小时前
LeetCode 刷题【126. 单词接龙 II】
算法·leetcode·职场和发展
aloha_7895 小时前
力扣hot100做题整理91-100
数据结构·算法·leetcode
Tiny番茄5 小时前
31.下一个排列
数据结构·python·算法·leetcode
挂科是不可能出现的5 小时前
最长连续序列
数据结构·c++·算法
前端小L6 小时前
动态规划的“数学之魂”:从DP推演到质因数分解——巧解「只有两个键的键盘」
算法·动态规划
RTC老炮6 小时前
webrtc弱网-ReceiveSideCongestionController类源码分析及算法原理
网络·算法·webrtc
21号 16 小时前
9.Redis 集群(重在理解)
数据库·redis·算法
hadage2338 小时前
--- 数据结构 AVL树 ---
数据结构·算法