本文章是观看:同济子豪 斯坦福大学公开课 学习笔记
图机器学习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 条评论
你好,请问你有地铁那个视频的完整代码吗?用于学习图卷积,谢谢!
没有,视频代码没有开源,需要购买,我还没有购买。文章里边的都是我自己手打的