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值选择

相关推荐
Ulyanov几秒前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲
智者知已应修善业1 小时前
【查找字符最大下标以*符号分割以**结束】2024-12-24
c语言·c++·经验分享·笔记·算法
91刘仁德2 小时前
c++类和对象(下)
c语言·jvm·c++·经验分享·笔记·算法
diediedei2 小时前
模板编译期类型检查
开发语言·c++·算法
阿杰学AI2 小时前
AI核心知识78——大语言模型之CLM(简洁且通俗易懂版)
人工智能·算法·ai·语言模型·rag·clm·语境化语言模型
mmz12072 小时前
分治算法(c++)
c++·算法
XiaoFan0122 小时前
将有向工作流图转为结构树的实现
java·数据结构·决策树
睡一觉就好了。3 小时前
快速排序——霍尔排序,前后指针排序,非递归排序
数据结构·算法·排序算法
Tansmjs3 小时前
C++编译期数据结构
开发语言·c++·算法
金枪不摆鳍3 小时前
算法-字典树
开发语言·算法