Python数据可视化之聚类图实现代码

Written by

in

文章目录
  • sns.clustermap是Seaborn库中用于创建聚类热图的函数,该函数能够将数据集中的样本按照相似性进行聚类,并将聚类结果以矩阵的形式展示出来。 sns.clustermap主要用于绘制聚类热图,该热图通过颜色深浅来表示数据值的大小或类别,从而直观地展示数据间的相似性和差异性。在聚类热图中,每个样本被表示为一个方块,方块的颜色表示样本的特征值,方块的位置表示样本的聚类结果。 使用sns.clustermap需要注意数据集的大小和复杂性,因为聚类分析可能需要较长的计算时间。可以根据需要对聚类热图进行进一步的自定义,如设置颜色映射、调整标签等。sns.clustermap函数返回的是一个ClusterGrid对象,该对象包含了热图和聚类树等组件,可以通过该对象进行进一步的自定义和修改。
  • data:输入的数据集,可以是Pandas DataFrame或NumPy数组。 row_cluster:布尔值,控制是否对行进行聚类。默认为True。 col_cluster:布尔值,控制是否对列进行聚类。默认为True。 metric:字符串或可调用对象,指定聚类时使用的距离度量方法。默认为'euclidean'。 method:字符串,指定聚类时使用的算法。默认为'average'。 standard_scale:布尔值或整数,控制是否对数据进行标准化处理。如果为True,则按行进行标准化;如果为整数n,则按前n个主成分进行标准化。默认为None,不进行标准化处理。 z_score:整数或布尔值,控制是否按行列计算z分数进行标准化。如果为整数n,则按前n个主成分进行z分数标准化;如果为True,则对整个数据集进行z分数标准化。默认为None,不进行z分数标准化处理。 cmap:字符串或Colormap对象,指定热图使用的颜色映射方案。默认为Seaborn的默认颜色映射方案。
  • 使用行和列聚类 # 加载iris数据集 iris = sns.load_dataset(“iris”) # 将species列从iris数据集中弹出,并赋值给species变量 species = iris.pop(“species”) # 使用seaborn库中的clustermap函数,对iris数据集进行聚类分析 sns.clustermap(iris) 更改图片的大小和布局: sns.clustermap( iris, figsize=(7, 5), row_cluster=False, dendrogram_ratio=(.1, .2), cbar_pos=(0, .2, .03, .4) ) 为数据添加彩色标签 # 创建一个字典,将species中的唯一值映射到”rbg”中的颜色 lut = dict(zip(species.unique(), “rbg”)) # 将species中的值映射到lut中的颜色 row_colors = species.map(lut) # 使用seaborn的clustermap函数绘制聚类图,并将species的颜色映射到行颜色 sns.clustermap(iris, row_colors=row_colors) 使用不同的颜色映射 # 使用seaborn库中的clustermap函数绘制聚类热图 # iris为数据集,cmap为颜色映射,vmin和vmax为颜色映射的最小值和最大值 sns.clustermap(iris, cmap=”mako”, vmin=0, vmax=10) 使用不同的聚类参数  # 使用seaborn库中的clustermap函数,对iris数据集进行聚类分析 # metric参数指定聚类时使用的距离度量方式,这里使用相关系数 # method参数指定聚类时使用的聚类方法,这里使用单链接法 sns.clustermap(iris, metric=”correlation”, method=”single”) 按照标准化的数据绘图 # 使用seaborn库中的clustermap函数对iris数据集进行聚类分析,并将标准化后的数据绘制成热图 sns.clustermap(iris, standard_scale=1) 以0为均值进行规范化 # 使用seaborn库中的clustermap函数绘制聚类热图 # iris为数据集,z_score为0表示不进行标准化,cmap为”vlag”表示使用vlag颜色映射,center为0表示将数据集中的数值中心化 sns.clustermap(iris, z_score=0, cmap=”vlag”, center=0)
  • 到此这篇关于Python数据可视化之聚类图实现的文章就介绍到这了,更多相关Python数据可视化聚类图内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: 使用python实现3D聚类图示例代码 python可视化text()函数使用详解 Python数据可视化:箱线图多种库画法 Python数据可视化之画图
  • 目录
    • clustermap
    • 主要参数
    • 参考实现
    • 总结 

    sns.clustermap是Seaborn库中用于创建聚类热图的函数,该函数能够将数据集中的样本按照相似性进行聚类,并将聚类结果以矩阵的形式展示出来。

    sns.clustermap主要用于绘制聚类热图,该热图通过颜色深浅来表示数据值的大小或类别,从而直观地展示数据间的相似性和差异性。在聚类热图中,每个样本被表示为一个方块,方块的颜色表示样本的特征值,方块的位置表示样本的聚类结果。

    使用sns.clustermap需要注意数据集的大小和复杂性,因为聚类分析可能需要较长的计算时间。可以根据需要对聚类热图进行进一步的自定义,如设置颜色映射、调整标签等。sns.clustermap函数返回的是一个ClusterGrid对象,该对象包含了热图和聚类树等组件,可以通过该对象进行进一步的自定义和修改。

    • data:输入的数据集,可以是Pandas DataFrame或NumPy数组。
    • row_cluster:布尔值,控制是否对行进行聚类。默认为True。
    • col_cluster:布尔值,控制是否对列进行聚类。默认为True。
    • metric:字符串或可调用对象,指定聚类时使用的距离度量方法。默认为'euclidean'。
    • method:字符串,指定聚类时使用的算法。默认为'average'。
    • standard_scale:布尔值或整数,控制是否对数据进行标准化处理。如果为True,则按行进行标准化;如果为整数n,则按前n个主成分进行标准化。默认为None,不进行标准化处理。
    • z_score:整数或布尔值,控制是否按行列计算z分数进行标准化。如果为整数n,则按前n个主成分进行z分数标准化;如果为True,则对整个数据集进行z分数标准化。默认为None,不进行z分数标准化处理。
    • cmap:字符串或Colormap对象,指定热图使用的颜色映射方案。默认为Seaborn的默认颜色映射方案。

    使用行和列聚类

    # 加载iris数据集
    iris = sns.load_dataset("iris")
    # 将species列从iris数据集中弹出,并赋值给species变量
    species = iris.pop("species")
    # 使用seaborn库中的clustermap函数,对iris数据集进行聚类分析
    sns.clustermap(iris)

    更改图片的大小和布局:

    sns.clustermap(
        iris,
        figsize=(7, 5),
        row_cluster=False,
        dendrogram_ratio=(.1, .2),
        cbar_pos=(0, .2, .03, .4)
    )

    为数据添加彩色标签

    # 创建一个字典,将species中的唯一值映射到"rbg"中的颜色
    lut = dict(zip(species.unique(), "rbg"))
    # 将species中的值映射到lut中的颜色
    row_colors = species.map(lut)
    # 使用seaborn的clustermap函数绘制聚类图,并将species的颜色映射到行颜色
    sns.clustermap(iris, row_colors=row_colors)

    使用不同的颜色映射

    # 使用seaborn库中的clustermap函数绘制聚类热图
    # iris为数据集,cmap为颜色映射,vmin和vmax为颜色映射的最小值和最大值
    sns.clustermap(iris, cmap="mako", vmin=0, vmax=10)

    使用不同的聚类参数 

    # 使用seaborn库中的clustermap函数,对iris数据集进行聚类分析
    # metric参数指定聚类时使用的距离度量方式,这里使用相关系数
    # method参数指定聚类时使用的聚类方法,这里使用单链接法
    sns.clustermap(iris, metric="correlation", method="single")

    按照标准化的数据绘图

    # 使用seaborn库中的clustermap函数对iris数据集进行聚类分析,并将标准化后的数据绘制成热图
    sns.clustermap(iris, standard_scale=1)

    以0为均值进行规范化

    # 使用seaborn库中的clustermap函数绘制聚类热图
    # iris为数据集,z_score为0表示不进行标准化,cmap为"vlag"表示使用vlag颜色映射,center为0表示将数据集中的数值中心化
    sns.clustermap(iris, z_score=0, cmap="vlag", center=0)

    到此这篇关于Python数据可视化之聚类图实现的文章就介绍到这了,更多相关Python数据可视化聚类图内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • 使用python实现3D聚类图示例代码
    • python可视化text()函数使用详解
    • Python数据可视化:箱线图多种库画法
    • Python数据可视化之画图

    站内搜索