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

相关推荐
AuroraWanderll6 分钟前
类和对象(六)--友元、内部类与再次理解类和对象
c语言·数据结构·c++·算法·stl
leaves falling9 分钟前
c语言-给定两个数,求这两个数的最大公约数
数据结构·算法
SamtecChina20239 分钟前
Electronica现场演示 | 严苛环境下的56G互连
大数据·网络·人工智能·算法·计算机外设
Tim_1010 分钟前
【C++入门】05、复合类型-数组
开发语言·c++·算法
jikiecui10 分钟前
信奥崔老师:三目运算 (Ternary Operator)
数据结构·c++·算法
无限进步_11 分钟前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio
t1987512811 分钟前
同伦(Homotopy)算法求解非线性方程组
算法
Elwin Wong17 分钟前
从 Louvain 到 Leiden:保证社区连通性的社区检测算法研究解读
算法·社区检测·graphrag·louvain·leiden
liu****19 分钟前
git工具
git·python·算法·机器学习·计算机基础
一起努力啊~28 分钟前
算法刷题--链表
数据结构·算法·链表