机器学习第二天

本文介绍了KNN算法的基本原理,强调了k值选择对预测结果的影响,以及如何处理分类与回归中标签性质的不同。通过实例演示了如何使用KNN算法并探讨了过拟合与欠拟合的问题。
摘要由CSDN通过智能技术生成

1.KNN算法

knn算法是机器学习最简单,最基础的算法之一。可用于分类与回归。KNN通过测量不同特征值之间的距离来进行分类。

要使KNN算法能够运行必须首先确定两个因素:(1)算法超参数k;(2)模型向量空间的距离量度

2.k值的确定 

k值的确定对KNN算法的预测结果有着至关重要的影响:

(1)当k值过小预测结果对紧邻点十分敏感,易受噪声点干扰容易导致KNN算法的过拟合

(2)当k值较大,距离较远的训练样本也能够对实例预测结果产生影响,模型相不会因为个别噪声点对最终预测结果产生影响。但是缺点也十分明显:算法的近邻误差会偏大,距离较远的点(与预测实例不相似)会对预测结果产生影响,使得预测结果产生较大偏差,此时模型容易发生欠拟合

(k大欠拟合,k小过拟合)

3,距离量度

样本空间内的两个点之间的距离量度表示两个样本点之间的相似程度:距离越短,表示相似程度越高;反之,相似程度越低。

from sklearn.neighbors import KNeighborsClassifier  #导入所需要用到的包
#创建模型
x = [[0],[1],[2],[3]]   
y = [0,0,1,1]
model = KNeighborsClassifier(n_neighbors=3)
model.fit(x,y)
mypre = model.predict([[4]])
#输出预测值
print(f'预测值:{mypre}')

如下:

课堂反思:

回归和分类,标签值性质不同:

(分类问题输出的值是离散的,回归问题输出的值是连续的)

注:这个离散和连续不是纯数学意义上的离散和连续。

我们可以这么理解:离散就是规定好有有限个类别,这些类别是离散的。连续就是理论上可以取某一范围内的任意值,比如现在28°,当然这是我们测出来的,但是实际温度可能是无限趋于28。也就是说,回归并没有要求你的值必须是那个类别,你只要能回归出一个值,在可控范围内即可

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值