精华内容
下载资源
问答
  • 二元关系矩阵表示

    万次阅读 2015-08-05 17:03:04
    两个事物之间的关系称之为二元关系。在数学上,二元关系指的是这样的一个集合S,它的所有元素都为二元有序对。它反映的是有序对中第一个...而除此之外,还可以用其他数学工具来描述它——矩阵矩阵的基本元素是数

    两个事物之间的关系称之为二元关系。在数学上,二元关系指的是这样的一个集合S,它的所有元素都为二元有序对。它反映的是有序对中第一个元素组成的集合与第二个元素组成的集合之间的关系。举个例子,集合S={<天秤座,libra>,<狮子座,leo>} 就表示了中文集合{天秤座,狮子座}与英文集合{libra,leo}之间的对应关系。

    二元关系可以用集合表示,就像我们上面提到的。而除此之外,还可以用其他数学工具来描述它——矩阵和图。矩阵的基本元素是数字及其所处的位置。直觉上,我们很自然的想到用它的下标来体现两个集合中的元素,用数字体现它们是否具有关系。这便得出了以下定义:

    定义】设集合A={x1,x2,…,xm},B={y1,y2,…,yn},R为A,B之间的二元关系。称矩阵M(R)=(rij)m×n为R的关系矩阵,其中


    这样我们定义了一个映射,把集合R映射为一个矩阵M。如此定义,首先保证了R的集合表达式和R的关系矩阵是一一对应的。其次,这样的定义会带来很多好的性质。我们可以应用矩阵的语言把整个二元关系的理论重新叙述一遍:

    • 关系R的逆,记作R-1,表示的是集合{<x,y>|<y,x>εR},我们有 M(R-1)=(M(R))T. 这样,我们求关系的逆就转化为了求一个矩阵的转置矩阵。
    • 两个关系的合成(复合),记作R2•R1,表示的是集合


    为了用矩阵表示关系的合成,我们可以定义{0,1}中元素的加法为逻辑加法(0+0=0,0+1=1,1+0=1,1+1=1),于是便有

    M(R2•R1)=M(R1)•M(R2)

    这样,关系的合成这一运算就转化为了矩阵的相乘。

    • R在D上的限制就等价于找M(R)中相应行中为1的元素;D在R下的象就等价于M(R)中相应行为1的元素的列坐标。
    • 关系R是单根的,指的是对任意的yεranB,存在唯一的xεdomR,使得<x,y>εR。这意味着M(R)的每一列有且仅有一个1
    • 关系R是单值的,指的是对任意的xεdomR,存在唯一的yεranB,使得<x,y>εR。这意味着M(R)的每一行有且仅有一个1

    特殊的,集合A上的二元关系R指的是A×A={<x,y>|xεA,yεA}。这样像前面第二条性质就有M(R2)=(M(R))2

    • 自反的二元关系R相应的关系矩阵主对角线元素都为1
    • 反自反的二元关系R相应的关系矩阵主对角线元素都为0
    • 对称的二元关系R相应的关系矩阵也是对称的
    • 反对称的二元关系R相应的关系矩阵也是反对称的(这里定义1的反为0)
    • 传递的二元关系R,相应的关系矩阵R中若rij=1,rjk=1,则rik=1

    等价关系R(同时具有自反,对称,传递性质的二元关系)可以确定集合A上的一个划分,那么如何从关系矩阵中找出相应的等价类?如下图所示:



    如何用图来表示等价关系呢?由于关系中的元素是有序对,直觉上,我们很自然的想到用有向图。于是定义如下:

    定义】设集合A={x1,x2,…,xm},B={y1,y2,…,yn},R为A,B之间的二元关系。以A,B中的元素为顶点,若<xi,yj>εR,则从顶点xi向yj引有向边,称所画出的图G(R)为R的关系图。
    这样,我们就可以用图论的语言把整个二元关系的理论重新叙述一遍:

    • R的逆:只需把图中的箭头反向
    • 两个关系的合成:通过过渡集合把两个图拼接为一个图,然后把长为2的有向通路变为起点指向终点的长为1的有向通路
    • R在D上的限制就等价于找G(R)中起点包含在集合D中的部分;D在R下的象就等价于G(R)中包含在集合D中的起点所指向的终点
    • 关系R是单根的,指B中顶点的入度均为1
    • 关系R是单值的,指A中顶点的出度均为1

    特殊的,集合A上的二元关系R对应的关系图将为多重图(有重边和环的出现)。

    • 自反的二元关系R相应的关系图每个顶点处都有环
    • 反自反的二元关系R相应的关系图每个顶点处都无环
    • 对称的二元关系R相应的关系图中两个顶点间如果存在有向边,必有两条反向的有向边
    • 反对称的二元关系R相应的关系图中两个顶点间的有向边必是单重的
    • 传递的二元关系R,相应的关系图中长度为2的有向通路的起点和终点间必存在由起点指向终点的有向线段

    如何从关系图中找出一个等价关系所确定的划分?
    对于二元关系中的其他一些理论(如闭包和序关系),用关系矩阵和关系图描述一下试试。我们经常把一件事物抽象为数学模型来表达。有时换一种数学工具可能在处理某些运算时给我们带来方便。用不同的工具思考,能更深刻的理解数学各个分支之间的联系。


    关于Discrete Mathematics更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.



    展开全文
  • python热力(相关系数矩阵图

    万次阅读 多人点赞 2018-05-08 16:40:00
    使用热力的形式展示包括相关系数矩阵图的二维矩阵的方法,目前发现有两个:首先是使用pandas包的函数,但是pandas包的目测,不能显示数字?如果想试一下,可以参考https://zhuanlan.zhihu.com/p/26100511所以研究...

    使用热力图的形式展示包括相关系数矩阵图的二维矩阵的方法,目前发现有两个:

    首先是使用pandas包的函数,但是pandas包的目测,不能显示数字?

    如果想试一下,可以参考https://zhuanlan.zhihu.com/p/26100511

    所以研究了一下第二种方法,就是用seaborn包画。

    参考了

    https://blog.csdn.net/a19990412/article/details/79304944

     https://blog.csdn.net/sunchengquan/article/details/78573244

    https://blog.csdn.net/weixin_39541558/article/details/79813936

    等等文章,下面sns.heatmap中的各个参数可以参考第一个链接里面的文章。也可以sns.heatmap?查询。

    下面sns.heatmap中,annot是表示我们要显示array中的数字,因为要显示数字,所以就round了一下,如果要表示相关矩阵图,建议乘以10,round一下,那样就得到-10到10之间的数字,比较好看。可以设置array中的数字的最大最小值,也可以采用center=0的设置,取决于自己对array中的数字的理解吧。如果需要显示xticklabels和yticklabels,那需要将参数设置成True。square的意思就是一个个cell是方块,不然是矩阵,然后最后是cmap是图的颜色。可以采用下面的那个,还有"Blues"等。还可以设置分割哪些cell的线的宽度等,可以通过sns.heatmap?查询。

    import seaborn as sns
    import numpy as np
    import pandas as pd
    a = np.random.rand(4,3)
    fig, ax = plt.subplots(figsize = (9,9))
    #二维的数组的热力图,横轴和数轴的ticklabels要加上去的话,既可以通过将array转换成有column
    #和index的DataFrame直接绘图生成,也可以后续再加上去。后面加上去的话,更灵活,包括可设置labels大小方向等。
    sns.heatmap(pd.DataFrame(np.round(a,2), columns = ['a', 'b', 'c'], index = range(1,5)), 
                    annot=True, vmax=1,vmin = 0, xticklabels= True, yticklabels= True, square=True, cmap="YlGnBu")
    #sns.heatmap(np.round(a,2), annot=True, vmax=1,vmin = 0, xticklabels= True, yticklabels= True, 
    #            square=True, cmap="YlGnBu")
    ax.set_title('二维数组热力图', fontsize = 18)
    ax.set_ylabel('数字', fontsize = 18)
    ax.set_xlabel('字母', fontsize = 18) #横变成y轴,跟矩阵原始的布局情况是一样的


    ax.set_yticklabels(['一', '二', '三'], fontsize = 18, rotation = 360, horizontalalignment='right')
    ax.set_xticklabels(['a', 'b', 'c'], fontsize = 18, horizontalalignment='right')

    文章发布以后不能再修改了,真是很讨厌。

    展开全文
  • 矩阵&概率

    2019-04-10 16:44:13
    任何一个矩阵都能成一个! 更严谨的来说,每个矩阵对应一个加权二分。 所谓是指点和线的集合,二分是指两种不同的类型,加权是指每条线上都有一个数字标记。 上的三个绿点代表三行,两个红点代表两列,若...

    任何一个矩阵都能画成一个图!

    在这里插入图片描述
    更严谨的来说,每个矩阵对应一个加权二分图。
    所谓图是指点和线的集合,二分是指两种不同的类型,加权是指每条线上都有一个数字标记。
    上图的三个绿点代表三行,两个红点代表两列,若对应矩阵值非零,则在绿点和红点间画一条线连接。

    任何矩阵 M 都是 n×m 个数的数组。但是这样的数组也可以看作函数 M:X×Y→R,其中 X = {x_1,…,x_n},是一组 n 个元素组成的集合;Y = {y_1,…,y_m},是一组 m 个元素组成的集合。实际上,如果要描述矩阵 M,那么需要描述第 ij 项的值。换句话说,对于每对 (i,j),都需要给出一个实数 M_ij。函数 M:X×Y→R 关联每对 (x_i,y_j)(如果愿意,可以去掉字母并将其看作 (i,j)),即实数 M(x_i,y_j)。所以可以将 M(x_i,y_j) 简写为 M_ij。因此,矩阵就是一种函数。
    在这里插入图片描述
    在这里插入图片描述

    矩阵乘法即为沿连线向前运算

    在这里插入图片描述

    对称矩阵对应对称图

    如果一个矩阵等于它的转置,即为对称矩阵。
    下图可解释为什么MMT和MTM永远对称。
    在这里插入图片描述

    若矩阵所有项非0,则对应完全二分图

    如果一个矩阵的所有元素都不为零,那么它对应的图就没有缺失的连线。这意味着 X 中的每个点都与 Y 的每个点相连。这样的二分图称为完全二分图。
    在这里插入图片描述

    N分块矩阵对应独立的N个图

    具体来说,由直和得到的分块矩阵对应断开的图。将两个矩阵做直和运算得到更大的数组(与向量直和运算类似),即一个带有全零块的大型分块矩阵。分块矩阵的图通过将原矩阵的图叠加得到。
    在这里插入图片描述

    概率也很适合图表达

    在这里插入图片描述
    这样的概率分布图可以更好的分析!

    联合概率

    通过架构图中的连线,可以得到联合概率:(x_i,y_j) 的概率是连接 x,y 两点的线的标签。
    在这里插入图片描述

    边缘概率

    边缘概率是通过沿矩阵的行/列求和得到的(与上图等效)。例如,x_1 的概率 p(x_1)=p(x_1,y_1)+p(x_1,y_2)=1/8+0,这是第一行的总和。同样,y_2 的概率是 p(y_2)=p(x_1,y_2)+p(x_2,y_2)+p(x_3,y_2)=0+1/8+1/4,是第二列的和。

    图中,x_i 的边缘概率是以 x_i 为顶点的所有连线的和。类似地,y_j 的边缘概率是以 y_j 为顶点的所有连线的和。
    在这里插入图片描述

    条件概率

    条件概率是由联合概率除以边缘概率得到的。例如在 y_2 条件下 x_3 的概率 p(x_3|y_2)=p(x_3,y_2)/p(y_2)。从图中可以看出,这是通过将 x_3 和 y_2 的连线除以所有与 y_2 相连的线之和得到的。同样,y_i 下 x_j 的条件概率是两点连线的值除以所有与 x_j 相连的线之和。
    在这里插入图片描述

    关系矩阵

    矩阵运算在交换环(communicative ring)上是有意义的。不仅仅是像 R 或 C 等。矩阵相乘甚至不需要负数:矩阵运算在交换半环上是有意义的!(半环是一个没有相反数的环。)

    因为包含两个元素 Z_2 = {0,1} 的集合通过下图的加法和乘法形成一个半环:
    在这里插入图片描述
    因为一个矩阵 M:X×Y→Z_2 相当于一个「关系」。「关系」是笛卡尔积 X×Y 的子集 R 的名称。换句话说,每个 Z_2-valued 矩阵定义了一个「关系」,每个关系又定义了一个 Z_2-valued 矩阵:当且仅当 (x_i,y_j) 是 R 子集的元素时,M_ij=1,否则 M_ij=0。
    在这里插入图片描述
    Z_2 中的矩阵图与上面讨论的图完全相同,只是现在所有连线的值都是 0 或 1。如果权重是 0,那和之前一样。

    通过将基础(半)环从 R 改为 Z_2,改变了解释权重的方式。例如,在上面的概率场景中,「从 x_1 到 y_1 的概率是多少?」答案由对应边的权重而来,在本例中为 12.5%。或者,当矩阵在 Z_2 中取值时,问题变为:「是否可能从 x_1 到 y_1?」如果连线标记为 1,则为「是」,如果标记为 0 则为「否」。

    重要的是,「关系」的组合恰好是使用了上面的 Z_2 算法的矩阵乘法。换句话说,给定任意两个关系 R⊂X×Y 和 S⊂Y×Z,存在一个新关系 SR⊂X×Z,包括所有 (x,z),至少存在一个 y∈Y,其中 (x,y)∈R,(y,z)∈S。这种新关系正是表示 R 和 S 的矩阵乘积所指定的。
    在这里插入图片描述
    原文链接:https://www.math3ma.com/blog/matrices-probability-graphs

    展开全文
  • 离散数学4___关系矩阵

    千次阅读 2016-03-13 21:17:37
    关系矩阵的 定义 注意这里 mxn阶的矩阵, 是指m 行, n列的 矩阵

    关系矩阵的 定义



    注意这里 mxn阶的矩阵, 是指m 行, n列的  矩阵


    如果行,列相等,称为方阵




    展开全文
  • 本文主要讲解Gephi绘制作者间的关系图谱,该软件可以广泛应用于社交网络、知识图谱分析,推荐读者使用。这是非常基础的一篇文章,重点讲解Gephi使用方法,希望对大家有所帮助。
  • 作者最近研究人物关系图谱,准备发表相关的文章,原本是用Python Networkx库绘制,但效果不太理想;故改为Gephi软件,发现其非常好看,特分享几篇文章供大家交流学习,希望对您有所帮助,尤其是引文分析、社交网络、...
  • 利用定义求解传递闭包的关系矩阵

    千次阅读 2020-06-26 11:43:05
    题目描述 给定有限集合上二元关系的关系矩阵,利用传递闭包的定义式(不是warshall算法)求其传递闭包的关系矩阵。 源代码 #include #define N 100 int mult(int a[N][N],int b[N][N],int n,int c[N][N]) { int i,j...
  • Java一维数组实现求R^2的关系矩阵M^2

    千次阅读 2018-04-14 21:28:45
    如利用R的n次幂R^n的定义求R的各次幂,用关系矩阵来表示。作为一个编程爱好者,用代码去实现和简化数学问题,无疑是一件非常有趣的事情。况且矩阵在人口流动问题方面运用矩阵高次幂来预测未来的人口数,人口的发展...
  • 下面用著名的鸢尾花数据来一个矩阵图。从sklearn导入鸢尾花数据,然后将其转换成pandas的DataFrame类型,最后用seaborn画图。(seaborn包里也有这个数据,也可以直接从seaborn包导入此数据) 矩阵图: sns....
  • python将邻接矩阵输出成

    万次阅读 多人点赞 2018-03-21 20:28:35
    利用networkx,numpy,matplotlib,将邻接矩阵输出为图形。 1,自身确定一个邻接矩阵,然后通过循环的方式添加变,然后输出图像 import networkx as nx import matplotlib.pyplot as plt import numpy as np G ...
  • #热力参数设置(相关系数矩阵,颜色,每个值间隔等) #ticks = numpy.arange(0,16,1) #生成0-16,步长为1 plt.xticks(np.arange(16)+0.5,names) #横坐标标注点 plt.yticks(np.arange(16)+0.5,names) # 纵坐标标注...
  • #plt.scatter() 散点 #plt.scatter(x,y,s=20,c = None,marker = 'o',cmap = none,norm = none,vmin = none,vmax = none,alpha = none,linewidths = none,verts = none,edgecolors = none,ho...
  • 我们知道android系统已经为我们提供好了一个展示图片的“容器”——Gallery,但是这个Gallery显示的效果是平面化的,...这里,我们动手做一个自定义的Gallery组件,实现图片的3D效果展示,想想应该不错吧,先看看效果
  • 混淆矩阵以及ROC图像

    千次阅读 2017-11-14 21:48:15
    ROC曲线含义,及其绘制1、矩阵图示如下就是CM混淆矩阵Confusion Matrix 左边栏是数据的真实的类别,右栏是预测出的类别。简介一下TP,TN,FP,FN含义。 TP 就是 Ture Positive :原来是+,判别为 + 简记为—->...
  • R语言的igraph社交关系图示例

    千次阅读 2016-05-12 20:13:56
    R语言中的igraph可以很方便地出社交关系图。下面是几个示例。 1.最简单的社交关系图 library(igraph) dolphin g jpeg(filename='dolphins.jpg',width=800,height=800,units='px') ...
  • 引言:Gephi是一款开源免费跨平台基于JVM的复杂网络分析软件,其主要用于各种网络和复杂系统,动态和分层的交互可视化与探测开源工具。 ——摘自百度百科 提前预览下我们要做出来关系图谱 有木有很心动的感觉?...
  • 《大学离散数学》矩阵表示,无向关联矩阵,有向关联矩阵 无向关联矩阵相关计算 mport numpy as np ramdom_matrix = np.array([[1,1,1,0,0,0], [0,1,1,0,1,0], [0,0,0,1,1,0], ...
  • 如何在Visio中画矩阵

    万次阅读 2015-04-28 19:14:43
    今晚在画图时想要用Visio一个矩阵,一开始不知道怎么,在网上找了很久也没有找到教程,最后自己研究出来了,做一下笔记,希望对其他同学有帮助! 在Visio一个矩阵的具体步骤如下: 1.现在visio中插入word...
  • 混淆矩阵及绘图

    万次阅读 多人点赞 2018-09-03 23:43:26
    混淆矩阵 概念  当说到召回率的时候就说到了混淆矩阵。  再回顾一下召回率吧,案例中有100个正例,猜中(预测对)了59个,我们就说召回率为59%。  召回率就是猜中率。  当时也讲到,正例和反例,加上猜中和猜...
  • Matplotlib:散点矩阵散点

    千次阅读 2020-03-19 09:59:41
    矩阵散点(对比不同系列之间的关系) 1.散点 # plt.scatter()散点 # plt.scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None, vmax=None, # alpha=None, linewidths=None, verts=None...
  • 数据结构 的邻接矩阵

    万次阅读 多人点赞 2018-05-07 21:19:59
    的邻接矩阵的存储方式是用两个数组来实现的,一个一维数组存储顶点信息,一个二维数组存储线(无向)或弧(有向)的信息。设G有n个顶点,则邻接矩阵是一个n × n的方阵,定义为:无向的邻接矩阵,两个顶点...
  • 设定种子节点,同一种布局出来的就是可以重复,不然即使同一种布局,展现的时候 由于位置的随机也会呈现出不一样的结果; 去除NA值,清除了若干条包含有缺失值的信息。 # ```{r} library(igraph) g2 = graph....
  • 邻接矩阵的存储结构

    千次阅读 2020-02-15 23:32:09
    没有顺序存储结构,但可以借助二维数组来表示元素之间的关系,即邻接矩阵表示法 的链式存储结构有多种,邻接表、十字链表、邻接多重表 邻接矩阵、邻接表是我们重点要研究的 邻接矩阵 1、邻接矩阵表示法 建立...
  • 网上查了很多资料,发现主要是使用邻接表来实现,并进行遍历的。而采用邻接矩阵的就非常少...不想看的可以直接下载:python 邻接矩阵三种方法实现有向、无向,并绘图显示不废话。上代码首先类 class Graph_Matr
  • 三维坐标和矩阵关系

    千次阅读 2015-04-15 09:29:43
    三维坐标和矩阵关系 一、三维坐标 三维坐标是空间中的点,常用(x,y,z)表示。但是在三维引擎中常用齐次坐标来表示,进行平移、旋转、缩放的变换。 二、齐次坐标 齐次坐标是将一个 n 维的向量用 n+1 维来表示...
  • 数据结构——(邻接矩阵

    千次阅读 2019-07-21 14:15:54
    的邻接矩阵(Adjacency Matrix)存储⽅式是⽤两个数组来表示。⼀ 个⼀维数组存储中顶点信息,⼀个⼆维数组(称为邻接矩阵)存储中 的边或弧的信息。 假设存储下面的一个无向 则定义如下的数据结构 //的...
  • 如何在visio中矩阵

    千次阅读 2018-08-10 14:36:34
    参考这个博客博客地址 可以出来,首先是插入—&gt;对象—&gt;选择microsoft word文档—&gt;插入公式—&gt;矩阵,一步步来就好了!
  • 散点一般用于描述两个数量型变量之间的相关关系,而趋势线是显示相关性近似程度的一条直线。 绘制散点的主要方法: 方法1:通过pandas包中的DataFrame对象调用plot()或plot.scatter()方法 方法2:通过...
  • R语言相关性矩阵绘图

    2021-04-21 16:03:10
    不废话,直接放和代码啦! 一个能展示分布、散点、相关系数三个信息,很好用啦! install.packages('PerformanceAnalytics') chart.Correlation(X, histogram=TRUE, pch=19)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,692
精华内容 18,276
关键字:

关系矩阵关系图如何画