美文网首页
三.探索鸢尾花数据集:分类、降维、聚类

三.探索鸢尾花数据集:分类、降维、聚类

作者: 愿风去了 | 来源:发表于2018-10-21 22:17 被阅读1次

首先需要了解的一点:分类问题属于有监督学习;降维和聚类属于无监督学习类型。

有监督学习实例:鸢尾花数据分类

我们使用简单的高斯朴素贝叶斯方法完成这个分类任务,该方法假设每个特征中属于每一类的观测值都符合高斯分布。

首先划分训练集和测试集:train set和test set。

如上图,具体每一步含义见程序注释。

最终预测结果高达97%,说明这个简单的分类算法可以有效的学习这个数据集。

无监督学习:鸢尾花降维

降维任务是要找到一个可以保留数据本质特征的低维矩阵来表示高维数据。降维可以用来辅助数据可视化的工作。

下面使用主成分分析法PCA把四维鸢尾花数据降为二维数据。

接下来将二位数据插入到鸢尾花的DataFrame中,然后画出结果图。

插入后DataFrame数据形式此时形式如下:

Implot拟合不同模型

(1.1)lmplot默认参数线性拟合

(1.2)lmplot的order参数,设置高阶拟合

(1.3)lmplot的robust参数,设置抗噪声鲁棒性

(1.4)lmplot的logistic参数,设置拟合曲线是logistic(二类分类模型)

(1.5)col:根据所指定属性在列上分类

(1.6)row:根据所指定属性在行上分类

(1.7)fit_reg 表示回归的直线要不要画出来

从二维数据图可以看到,虽然PCA算法不知道数据标签,但是仍然将鸢尾花类别清楚的分类出来!

无监督学习示例:鸢尾花数据聚类

我们使用一个强大的聚类方法——高斯混合模型(GMM)。GMM模型试图将数据构造成若干服从高斯分布的概率密度函数簇。

我们通过上一步PCA将数据降维到平面,接下来使用聚类算法将以上3个类别的鸢尾花分为3个簇。

GMM参数:

# 1. n_components:混合高斯模型个数,默认为1

# 2. covariance_type:协方差类型,包括{‘full’,‘tied’, ‘diag’, ‘spherical’}四种,分别对应完全协方差矩阵(元素都不为零),相同的完全协方差矩阵(HMM会用到),对角协方差矩阵(非对角为零,对角不为零),球面协方差矩阵(非对角为零,对角完全相同,球面特性),默认‘full’ 完全协方差矩阵

# 3. tol:EM迭代停止阈值,默认为1e-3.

# 4. reg_covar:协方差对角非负正则化,保证协方差矩阵均为正,默认为0

# 5. max_iter:最大迭代次数,默认100

# 6. n_init:初始化次数,用于产生最佳初始参数,默认为1

以上输出预测的簇标签。

接下来根据簇数量对数据进行分割,就会清晰的看到GMM的训练效果。

其中的第一类cluster=0被完美的分割出来,唯一遗憾的是cluster=2有些许的混淆。

我们将fit_reg设置为True,可以看到回归直线:

即使不知道鸢尾花的类别,但是我们仍旧通过以上简单的聚类算法自动的识别出了不同类别的花!

这种算法还可以帮助我们探索观察不同样本之间的关联性。

相关文章

  • 三.探索鸢尾花数据集:分类、降维、聚类

    首先需要了解的一点:分类问题属于有监督学习;降维和聚类属于无监督学习类型。 有监督学习实例:鸢尾花数据分类 我们使...

  • 统计模型实际应用场景

    参考常用统计模型: 决策树&回归&K均值聚类&因子分析分别对应数据分析的思路:分类,回归,聚类,降维。 1 决策树...

  • 数据挖掘应用示例

    两类数据集的聚类结果 大样本数据集的聚类分析 鸢尾花数据集被公认为最著名的用于数据挖掘的数据集,它包含 3 种植物...

  • 手把手教你用SPSSAU实现K均值聚类分析

    1.案例数据探索 案例采用著名的鸢尾花iris数据集,按鸢尾花的三个类别(刚毛,变色,佛吉尼亚),每一类50株,共...

  • python机器学习库

    库名功能scikit-learn支持分类、回归、聚类、数据降维、模型选择、数据预处理,提供了一些机器学习方法的接口...

  • 机器学习数据集之鸢尾花

    Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变...

  • scikit-learn

    scikit-learn的基本功能主要被分为六大部分: 分类,回归,聚类,数据降维,模型选择和数据预处理。 是Sc...

  • 什么是降维灾难?如何对数据降维?

    姓名:贺文琪 学号:19021210758 【嵌牛导读】近年来,基于图的降维方法由于其在图像分类和数据聚类等许多实...

  • scikit-learn的用法(一)རྗེས་ནས་བོད་ཡི

    本文主要使用scikit-learn中的KNN算法进行Iris数据集的分类。Iris也称鸢尾花卉数据集,是一类多重...

  • sklearn库介绍

    sklearn库的共分为6大部分,分别用于完成分类任务、回归任务、聚类任务、降维任务、模型选择以及数据的预处理。 ...

网友评论

      本文标题:三.探索鸢尾花数据集:分类、降维、聚类

      本文链接:https://www.haomeiwen.com/subject/dxgbzftx.html