Python机器学习---KNN模型评价、追求

文章目录

  • 1. KNN模型评价
    • 1.1 计算效率低,耗费计算资源较大
    • 1.2 抗噪性较弱,对噪声数据(异常值)较为敏感
    • 1.3 模型不稳定,可重复性较弱
    • 1.4要进行归化处理:
  • 2.模型的追求
    • 2.1 模型效果
    • 2.2 运算速度
    • 2.3 可解释性
    • 2.4 服务于业务

1. KNN模型评价

到这里,能够对KNN进行的全部优化就已经完成了。KNN代表若"投票类"的算法,一直广泛受到业界的欢迎。不过KNN也有自己的缺点,那就是它的计算非常缓慢,因为KNN必须对每一个测试点来计算到每一 个训练数据 点的距离,并且这些距离点涉及到所有的特征,当数据的维度很大,数据量也很大的时候,KNN的计算会成为诅咒,大概几万数据就足够让KNN跑几个小时了。
根据算法基本执行流程,我们可总结最近邻分类器的特点如下:

  • 应用广泛:
    最近邻分类属于一类更广泛的技术,这种技术称为基于实例的学习,它使用具体的训练实例进行预测,而不必维护源自数据的抽象(或模型)。基于实例的学习算法需要邻近性度量来确定实例间的相似性或距离,还需要分类函数根据测试实例与其他实例的邻近性返回测试实例的预测类标号。

1.1 计算效率低,耗费计算资源较大

像最近邻分类器这样的消极学习方法不需要建立模型,所以,学习的开销很大,因为需要逐个计算测试样例和训练样例之间的相似度。相反,积极学习方法通常花费大量计算资源来建立模型,模型一旦建立,分类测试样例就会非常快。

1.2 抗噪性较弱,对噪声数据(异常值)较为敏感

最近邻分类器基于局部信息进行预测,而决策树和基于规则的分类器则试图找到一个拟合整个输入空间的全局模型。正是因为这样的局部分类决策,最近邻分类器(k很小时)对噪声非常敏感。

1.3 模型不稳定,可重复性较弱

最近邻分类器可以生成任意形状的决策边界。这样的决策边界与决策树和基于规则的分类器通常所局限的直线决策边界相比,能提供更加灵活的模型表示。最近邻分类器的决策边界还有很高的可变性,因为它们依赖于训练样例的组合。增加最近邻的数目可以降低这种可变性。

1.4要进行归化处理:

除非采用适当的邻近性度量和数据预处理,否则最近邻分类器可能做出错误的预测。例如,我们想根据身高(以米为单位)和体重(以磅为单位)等属性来对一群人分类。属性高度的可变性很小,从1.5米到1.85米,而体重范围则可能是从90磅到250磅。如果不考虑属性值的单位,那么邻近性度量可能就会被人的体重差异所左右。

2.模型的追求

2.1 模型效果

使用机器学习进行判断/预测的效果
如果不能接近/超过人类,那就没有任何意义
如果人脸识别不能达到几乎100%准确
根本不可能使用人脸识别代替人工检查
所以追求模型预测准确是机器学习的核心目标

2.2 运算速度

能够同时处理大量数据,可以在超短时间内极速学习,是机器学习的重要优势,如果机器学习的判断速度不能接近/超越人类,那计算机判断的优越性就几乎不存在了。
模型效果与运算速度往往是此消彼长的,在模型效果不错的情况下保障运算速度较快,是机器学习中重要的一环.

2.3 可解释性

机器学习是一门技术,是一门有门槛的技术,所以大众注定不太可能短时间内熟悉它,但是技术人员肩负着要向老板,客户,同事,甚至亲朋好友解释机器学习在做什么的职责。
比如说,在“是否分发信用卡"的问题中,如果算法判断"这个人有违约风险,不发信用卡”,那客户很可能找上门来要个解释,这个时候,你能告诉他说“因为算法判断你不通过"吗?在解释性需求很强的领域,我们就需要可解释的算法。

2.4 服务于业务

而所有的一切,都是为了服务于业务。只有模型效果优秀,运算速度快,还带有一部分可解释性的算法才是最优秀的算法。

你可能感兴趣的:(Python数据分析,python,机器学习,sklearn)