图机器学习


本文章是观看:同济子豪 斯坦福大学公开课 学习笔记

图机器学习NetworkX代码实战-创建图和可视化_哔哩哔哩_bilibili

本文重点:环境配置 networkx代码基础

一.环境配置

1.前情提要

视频中选用的是配置完成的云端环境。笔者使用个人计算机电脑进行代码编写和运行。

硬件配置:台式机:AMD R7 3800x,AMD rx580,16GB DDR4内存,512固态。

软件配置:pycharm 无cuda pycharm提供的虚拟环境

2.环境配置

这次配置意外顺利,使用pycharm自带的包管理就完成了。

在包管理界面搜索输入:

  • numpy
  • pandas
  • matplotlib
  • tqdm
  • networkx

选择每一个包均选择第一个安装即可。(pycharm即可完成关键词联想)

二.部分代码

为了有更多的拓展性,且降低运行压力,我使用的是pycharm。pycharm并不像jupyter和终端一样可以直接打印函数执行结果,需要使用print函数等展示结果。这也就导致了视频中一些代码无法正常展示。下面我列举几个需要注意的:

  • .__version__,.size()等有结果输出的函数均需变量接收值,或者直接print()
  • nx.draw(G)仅仅是将 图 绘制到plt的画板上,并未输出。需要手动使用plt.show()来展示结果

一下是部分代码实例:

#设置中文字体
import networkx as nx
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#展示基础图 并写明图的规模
import networkx as nx
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

G = nx.complete_graph(3, 5, False, create_using=nx.DiGraph()) #可以修改complete_graph 为其他图类型
nx.draw(G)

print(G.size())
plt.show()

代码分析:

通过阅读库文件可以得出一些图的特质,以及所需要的参数:

  • complete_graph():完全图
  • cycle_graph():环状图
  • ladder_graph():梯状图 节点数为传入 n 的两倍(梯状图节点数永远是偶数倍)不支持有向图 会抛出错误 Directed Graph not supported
  • path_graph():线性串珠图
  • star_graph():形状图 与网络拓扑中相同 不支持有向图 抛出错误 Directed Graph not supported
  • wheel_graph():轮辐图 不支持有向图 抛出错误 Directed Graph not supported binomial_tree():二项树 (不是二叉树)

上述所有图,接受1-2变量 n 与 create_using n 为必选项 为整数或者数组 代表节点个数 (若传入数组 不会检查输入合法性,请一定确认输入合法) create_using 为可选项 默认none 代表图的种类 仅能传入



《 “图机器学习” 》 有 2 条评论

回复 1 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注