Splitter 项目教程
1. 项目目录结构及介绍
Splitter 项目的目录结构如下:
Splitter/
├── input/
│ ├── chameleon_edges.csv
│ └── ...
├── output/
│ ├── chameleon_embedding.csv
│ └── ...
├── src/
│ ├── main.py
│ └── ...
├── LICENSE
├── README.md
└── ...
目录结构介绍
- input/: 存放输入数据文件,如边列表(edge list)的 CSV 文件。
- output/: 存放输出文件,如节点嵌入(embedding)的 CSV 文件。
- src/: 存放项目的源代码文件,包括主要的启动文件
main.py
。 - LICENSE: 项目的许可证文件,采用 GPL-3.0 许可证。
- README.md: 项目的说明文档,包含项目的概述、使用方法等信息。
2. 项目启动文件介绍
项目的启动文件是 src/main.py
。该文件负责训练 Splitter 模型并生成节点嵌入。
主要功能
- 命令行参数解析: 通过命令行参数配置模型的训练参数,如随机种子、窗口大小、负样本数量等。
- 模型训练: 调用 Splitter 模型进行训练,生成节点嵌入。
- 输出结果: 将生成的节点嵌入保存到指定的输出路径。
使用示例
python src/main.py --dimensions 32 --number-of-walks 20 --walk-length 80
3. 项目的配置文件介绍
Splitter 项目没有独立的配置文件,所有的配置都是通过命令行参数进行设置的。以下是一些常用的配置参数:
常用配置参数
- --edge-path: 边列表文件路径,默认为
input/chameleon_edges.csv
。 - --embedding-output-path: 嵌入输出文件路径,默认为
output/chameleon_embedding.csv
。 - --persona-output-path: 角色映射输出文件路径,默认为
output/chameleon_personas.json
。 - --seed: 随机种子,默认为 42。
- --number-of-walks: 每个节点的随机游走次数,默认为 10。
- --window-size: 跳字模型(Skip-gram)的窗口大小,默认为 5。
- --negative-samples: 负样本数量,默认为 5。
- --walk-length: 随机游走长度,默认为 40。
- --lambd: 正则化参数,默认为 0.1。
- --dimensions: 嵌入维度,默认为 128。
- --workers: 用于预训练的核心数量,默认为 4。
- --learning-rate: SGD 学习率,默认为 0.025。
通过这些配置参数,用户可以根据具体需求调整模型的训练过程和输出结果。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考