【scikit-learn 估计器】 距离方法

简介: 【scikit-learn 估计器】 距离方法

估计器主要用于分类任务,主要有两个函数:

  • fit() : 训练算法。2个参数:训练数据集,类别。
  • predict() : 预测算法,用以预测测试集类别,返回类别数组。 1个参数:测试集。

邻近算法

对新个体分类时,需要查找训练集,找到与该新个体最相似的个体,然后根据该个体所属类别将新个体归类到该类别下。

例如:当我们要预测三角形类别时,先找到与它最近距离的是三个菱形和一个圆形,但是菱形的数量大于圆形,故预测三角形的类别时菱形。如下图所示:

图片.png

缺点: 不适合大数据集,且数据特征值呈离散分布。

距离度量

在讲到邻近算法时,我们说到距离。即,当你要对个体分类时,往往需要知道该个体与其他个体之间的距离。下面分别简要介绍三种距离方法。

欧氏距离

欧式距离,是利用勾股定理测量得到的真实距离,即两个特征向量长度平方和的平方根。

缺点: 如果特征值之间存在较大差异时,或者存在稀疏矩阵时,精确度就会明显的降低。

曼哈顿距离

两个特征在标准坐标系中绝对轴距之和。

异常值对曼哈顿距离的影响,小于欧式距离。

但是,如果数据集中某些特征值很大,这些特征会掩盖其他特征间的邻近关系。

余弦距离

指的是特征向量夹角的余弦值。

更适合处理异常值和稀疏数据的问题。

适用于特征向量很多的情况,但其也忽略了向量长度所包含的在某些场景下可能会有用的信息。

所以,距离问题的解决方法的选择,将直接影响到分类的结果。

下一节中,通过我们将讲解如何通过欧式距离进行分类。


相关文章
|
1月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
57 3
|
1月前
|
机器学习/深度学习 数据采集 算法
深入调查研究Scikit-learn
【11月更文挑战第11天】
51 1
|
21天前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
28天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
148 5
|
1月前
|
算法 决策智能 Python
Python中解决TSP的方法
旅行商问题(TSP)是寻找最短路径,使旅行商能访问每个城市一次并返回起点的经典优化问题。本文介绍使用Python的`ortools`库解决TSP的方法,通过定义城市间的距离矩阵,调用库函数计算最优路径,并打印结果。此方法适用于小规模问题,对于大规模或特定需求,需深入了解算法原理及定制策略。
43 15
WK
|
1月前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
93 36
|
1月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
107 4
|
1月前
|
Python
Python编程中的魔法方法(Magic Methods)
【10月更文挑战第40天】在Python的世界中,魔法方法就像是隐藏在代码背后的神秘力量。它们通常以双下划线开头和结尾,比如 `__init__` 或 `__str__`。这些方法定义了对象的行为,当特定操作发生时自动调用。本文将揭开这些魔法方法的面纱,通过实际例子展示如何利用它们来增强你的类功能。
22 1
|
1月前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
58 3
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
37 1