《深入理解XGBOOST》学习笔记
最近在学习一些机器学习的简单模型算法,为记录并积累最通俗的说法,进行如下记录:
KNN( K-Nearest Neighbors):K近邻算法:
**主要思想:**特征空间中的一个样本,如果与其最相思的k个样本中的大部分属于某个类别,则该样本也属于该类别。
解决问题:
KNN既可以解决分类问题,也可以解决回归问题。
对于分类问题,离样本最近的个邻居中占多数的类别作为该样本的类别。如果k=1则选取最近邻居的类别作为该样本的类别;
对于回归问题,样本的预测值是最近的k个邻居的平均值。
理解:
k可以选一个,也可以选多个。
计算步骤:
(来源)百度百科中的比较通俗
https://baike.baidu.com/item/%E9%82%BB%E8%BF%91%E7%AE%97%E6%B3%95/1151153?fromtitle=knn&fromid=3479559&fr=aladdin
总体来说,KNN分类算法包括以下4个步骤: [4]
①准备数据,对数据进行预处理 [4] 。
②计算测试样本点(也就是待分类点)到其他每个样本点的距离 [4] 。笔者注:其他每个样本就是训练集
③对每个距离进行排序,然后选择出距离最小的K个点 [4] 。
④对K个点所属的类别进行比较,根据少数服从多数的原则,将测试样本点归入在K个点中占比最高的那一类 [4] 。
关键因素:
包括度量距离、K值选择、决策规则、归一法
1.度量距离:欧氏距离、明科夫斯基距离、曼哈顿距离、余炫相似度
2.K值选择:影响估计误差,近似误差
3.决策规则:主要用于分类问题,多数投票表决,多数票所属的类别作为预测样本的预测类别。