首页 > 其他分享 >datawhale-动手学图深度学习task02

datawhale-动手学图深度学习task02

时间:2024-04-17 20:35:43浏览次数:22  
标签:权重 graph datawhale nx add edge 学图 task02 节点

动手学图深度学习task2

第二章:图理论基础

图的背景

图论中著名问题:柯尼斯堡七桥问题

  1. 问题:
    当时东普鲁士柯尼斯堡,市区跨普列戈利亚河两岸,河中心有两个小岛。小岛与河的两岸有七条桥连接。在所有桥都只能走一遍的前提下,如何才能把这个地方所有的桥都走遍?

  2. 解决思路:
    将问题简化为平面上点与线的组合,每一座桥视为一条线,桥所连接的地区视为点,从某点出发后最后再回到这点,则这一点的线数必须是偶数。

  3. 最终解决的法则:
    对于一个给定的连通图,如果存在超过两个的奇顶点,那么满足要求的路线便不存在了,且有n个奇顶点的图至少需要\(\lceil \frac{n}{2} \rceil\)笔画出,如果只有两个即顶点,则可从其中任何一地出发完成一幅画。若所有点均为偶顶点,则从任何一点出发,所求的路线都能实现。

图的定义

  1. 图被记为\(G = {V, E}\):
    其中\(V = {v_1, ... , v_N}\)是数量为\(N = |V|\)的节点(node/vertex)的集合。
    \(E = {e_1, ... , e_M}\)是数量为\(M\)的边(edge/link)的集合。

  2. 图用节点表示实体(entities),用边表示实体间的关系(relations)。

  3. 假如一条边\(e \in E\)连接两个节点\(v_1\)和\(v_2\),那么这条边可以表示为\(e = (v_1, v_2)\)。

  4. 节点和边的信息可以是类别型(categorical)的,取值是那一类别,其信息称为标签(label);也可以是数值型(numeric)的,取值范围为实数,其信息称为属性(attribute)。

  5. 在图的计算任务中,通常认为节点一定含有信息(至少含有节点的度的信息),边能含有信息。

  6. 图可以根据边是否具有指向性分为两类:

    • 有向图(directed graph / digraph):有向图的边具有指向性。
    • 无向图(undirected graph):无向图的边不具备指向性。
  7. 图可以根据边是否具有关联的数值(权重)分为两类:

    • 有权图(weighted graph):每条边都有权重、权重可以代表两个节点之间距离、连接强度、成本等任何有意义的量,且有权图边通常包括两个节点和它们的权重,例如\((v_A, v_B, 5)的权重记为w_{ij}\)。
    • 无权图(unweighted graph):边无权重(在应用中所有边权重相同也可认为是无权图),边通常值包括两个节点之间存在一条边。
  8. 创建图的示例:

    # 创建一个图(无向无权图(权重默认为1))
    g = nx.Graph()
    
    # 添加图的节点
    g.add_node(2)
    g.add_node(5)
    
    # 添加图的边
    g.add_edge(2, 5, weight=4) # 图转变为有权图
    g.add_edge(1, 4) # 所需节点不存在时,自动创建相应的节点
    g.add_edge(1, 2)
    g.add_edge(2, 6)
    
    # 绘制图,默认无权重显示
    nx.draw(g)
    
    # 创建有向图:
    h = nx.DiGraph()
    
    # 判断是否有向:  
    >>> g.is_directed() #输出False
    

图的性质

以下示例均以networkx中自带图The Karate Club Network为例G = nx.karate_club_graph()

标签:权重,graph,datawhale,nx,add,edge,学图,task02,节点
From: https://www.cnblogs.com/LPF05/p/18141730/lpf_datawhale-grape_book-task02

相关文章

  • datawhale-动手学图深度学习task01
    动手学图深度学习task1第一章:介绍充满图的世界图包括人类社会、化学相互作用、知识图谱等,可以分为自然定义的和人造的两种,图有时也称为网络,例如社交网络、经济网络等(这些情况下的网络指的不是深度神经网络)。图的现实世界应用社交网络:有个著名结论是6度分离(两个人之间可以......
  • reSpacing3D医学图像nii.gz
    importnumpyasnpimportSimpleITKassitkfromglobimportglobimportnibabelasnibdefget_spacing(nifti_file_path):nifti_img=nib.load(nifti_file_path)spacing=nifti_img.header.get_zooms()#直接返回spacing元组returnspacingde......
  • 从局部到全局:KAT模型如何革新组织病理学图像分类
    小罗碎碎念今天分享的是北航发表的一篇文章,至于为什么要推荐它,过一段时间应该就会和大家分享原因了,哈哈。好的,废话不多说,进入正题,今天这篇文章的题目是【KernelAttentionTransformerforHistopathologyWholeSlideImageAnalysisandAssistantCancerDiagnosis】,翻......
  • EANet:用于医学图像分割的迭代边缘注意网络
    EANet:用于医学图像分割的迭代边缘注意网络摘要引言相关工作方法看一下的论文EANet:Iterativeedgeattentionnetworkformedicalimagesegmentation–2022摘要医学图像的精确自动分割对临床诊断和分析有着重要的帮助。然而,由于(1)医学图像目标的尺度多样性和(2)医......
  • datawhale-动手学数据分析task4笔记
    动手学数据分析task4数据可视化matplotlib的图像都位于figure对象中,创建新的对象用plt.figure。plt.subplot()方法可以更方便地创建一个新figure,并返回一个含有以创建的subplot对象的numpy数组。'''参数说明:nrows=int,subplot的行数ncols=int,subplot的列数sharex=Bool......
  • datawhale-动手学数据分析task2笔记
    动手学数据分析task2数据清洗及特征处理缺失值观察与处理.isnull()和.isna()可判断表中所有缺失值,缺失值处为True,优先用.isna()。.isna().sum()可以获得columns的缺失值数量。.info()可以获得dataframe中columns的non-null值,从而推断出缺失值数量。.dropna()方法可......
  • 【DataWhale学习】用免费GPU线上跑StableDiffusion项目实践
    用免费GPU线上跑SD项目实践​DataWhale组织了一个线上白嫖GPU跑chatGLM与SD的项目活动,我很感兴趣就参加啦。之前就对chatGLM有所耳闻,是去年清华联合发布的开源大语言模型,可以用来打造个人知识库什么的,一直没有尝试。而SD我前两天刚跟着B站秋叶大佬和Nenly大佬的视频学习过......
  • datawhale-动手学数据分析task1笔记
    动手学数据分析task1第一节:数据载入及初步观察载入数据数据集下载导入numpy库和pandas库。importnumpyasnpimportpandasaspd载入数据。相对路径载入数据。df=pd.read_csv('train.csv')绝对路径载入数据。path=os.path.abspath('train.csv')df......
  • python数据分析 datawhale
    数据分析数据载入及初步观察载入数据导入Numpy和pandasimportnumpyasnpimportpandasaspd使用相对路径和绝对路径载入数据df=pd.read_csv('train.csv')df=pd.read_csv('/Users/chenandong/Documents/datawhale数据分析每个人题目设计/招募阶段/第一单元项目集......
  • 用数学图表在我的世界里建筑
    这些数学图表可以帮助你在我的世界里辅助建筑。测量三点确定的角的度数贝塞尔曲线二阶贝塞尔曲线三阶贝塞尔曲线四阶贝塞尔曲线五阶贝塞尔曲线圆弧根据首尾点画弧根据起点和控制点画弧直线两点确定一条直线......