机器学习与KNN算法

1:特征工程概念

特征工程是指在机器学习和数据挖掘中对原始数据进行处理和转换,以便更好地适应模型的需求和提高模型的性能。特征工程包括特征提取、特征选择、特征变换等步骤,通过对数据进行特征工程处理,可以提高模型的准确性、稳定性和可解释性。特征工程是机器学习中非常重要的一环,对于模型的性能和效果有着至关重要的影响。

2:特征提取

特征提取是提取图像中属于特征性的信息

特征提取的作用:
减少数据维度
提取或整理出有效的特征供后续使用

3:特征预处理

特征对模型产生影响,有些特征对模型影响大、有些影响小,预处理消除这些影响

4:特征降维

降低原始数据的维度,就像从立体到平面一样,但是一般会对原始数据产生影响

5:特征选择

从原始数据中挑选一部分组成一个新的数据,不影响原数据

6:特征组合

运用合适的方法将特征组合起来(一般为乘法,加法)

7:拟合

在机器学习中,"拟合"通常指的是模型拟合数据的过程。当我们使用机器学习算法训练模型时,模型会尝试学习数据中的模式、规律或关系,以便能够对未知数据进行预测或分类。在这个过程中,模型会尽力使其预测结果与实际观测值尽可能接近,即模型在数据上"拟合"了一个函数或模式。

欠拟合

欠拟合是指模型不能在训练集上获得足够低的误差。换句换说,就是模型复杂度低,模型在训练集上就表现很差,没法学习到数据背后的规律。

模型复杂度过低
特征量过少

过拟合

过拟合是指训练误差和测试误差之间的差距太大。换句换说,就是模型复杂度高于实际问题,模型在训练集上表现很好,但在测试集上却表现很差。模型对训练集"死记硬背"(记住了不适用于测试集的训练集性质或特点),没有理解数据背后的规律,泛化能力差。

KNN算法

一、KNN算法概述

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

KNN 算法,或者称 k最邻近算法,是有监督学习中的分类算法,它可以用于分类或回归问题,但它通常用作分类算法。

KNN算法的优势和劣势

KNN算法优点

简单易用,相比其他算法,KNN算是比较简洁明了的算法。即使没有很高的数学基础也能搞清楚它的原理。
模型训练时间快,上面说到KNN算法是惰性的,这里也就不再过多讲述。
预测效果好。
对异常值不敏感
KNN算法缺点

对内存要求较高,因为该算法存储了所有训练数据
预测阶段可能很慢
from sklearn.neighbors import KNeighborsRegressor 
x=[[0,3,2],[1,4,2],[2,3,4],[3,5,6]]
y=[0.1,0.2,0.3,0.4]
model=KNeighborsRegressor (n_neighbors=3)#实体化
model.fit(x,y)
mypre=model.predict([[4,2,3]])
print(mypre)


from sklearn.neighbors import KNeighborsClassifier 
x=[[0,3,2],[1,4,2],[2,3,4],[3,5,6]]
y=[1,2,3,4]
model=KNeighborsClassifier(n_neighbors=3)
model.fit(x,y)
mypre=model.predict([[4,2,3]])
print(mypre)
 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值