第39集 python机器学习:聚类方法小结
作者头像
  • 徐孟涵
  • 2019-10-29 14:57:43 1

聚类方法概述

聚类的应用与评估是一个高度定性的过程,在数据分析的探索阶段非常有用。聚类算法主要有三种:K均值、DBSCAN和凝聚聚类。这些算法都能控制聚类的精细程度。K均值和凝聚聚类允许用户指定所需的簇数量,而DBSCAN则通过eps参数来定义邻近度,进而影响簇的大小。这些方法适用于大规模的理想数据集,易于理解和操作,并且都能够形成多个簇。

各算法的特点

  • K均值:该算法可以通过计算簇的平均值来表示簇,也可以视为一种分解方法。每个数据点都由其所属的簇中心表示。
  • DBSCAN:此算法可以识别未分配到任何簇的“噪声点”,并且有助于自动确定簇的数量。与其他方法不同的是,它可以识别出形状复杂的簇。例如,在two_moons示例中,DBSCAN能够生成大小差异显著的簇,这既是它的优势,也可能成为缺点。
  • 凝聚聚类:这种方法可以提供数据的层次结构划分,方便通过树形图进行可视化分析。

无监督学习算法在探索性数据分析和预处理中发挥着关键作用。找到正确的数据表示对于监督学习和无监督学习的成功至关重要。预处理和分解技术在数据准备过程中扮演重要角色。

分解、流行学习和聚类都是深入了解数据的重要工具。在没有监督信息的情况下,它们是理解数据的主要手段。即使在监督学习中,探索性工具对于更好地理解数据特性同样重要。尽管难以量化无监督学习算法的实际效果,但不应因此而忽视它们的价值。

估计器接口概述

在scikit-learn中,所有算法——包括预处理、监督学习和无监督学习算法——都被实现为类。这些类被称为估计器。为了使用算法,需要先实例化特定类的对象。例如:

python from sklearn.linear_model import LogisticRegression logreg = LogisticRegression()

估计器类不仅包含算法本身,还保存了从数据中学习到的模型。在创建模型对象时,应设置所有相关参数,如正则化、复杂度控制以及簇的数量等。

所有估计器都有一个fit方法,用于构建模型。fit方法要求第一个参数始终是数据X,该数据由NumPy数组或SciPy稀疏矩阵表示,其中每一行代表一个数据点。监督算法还需要一个Y参数,这是一个一维NumPy数组,包含回归或分类的目标值(即标签)。

在scikit-learn中,模型主要有两种使用方法:predict方法用于生成新输入的预测,transform方法用于生成新的数据表示。此外,所有监督模型都有一个score(x_test, y_test)方法,用于评估模型性能。其中,x_trainy_train代表训练数据和训练标签,而x_testy_test则代表测试数据和测试标签(在适用的情况下)。

    本文来源:图灵汇
责任编辑: : 徐孟涵
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
小结机器方法python学习
    下一篇