【发布时间】:2021-09-12 14:48:53
【问题描述】:
我正在尝试从一组国家/地区获取二维向量。我通过以下过程构建了我的图表(见图):
- 每个节点代表一个国家
- 每条边代表两个国家(或节点)之间的陆地边界
我正在使用 Node2vec 库来管理它,但结果不相关。
countries = [
"France", "Andorra",
"Spain", "Italy", "Switzerland",
"Germany", "Portugal"
]
crossing_borders = [
("France", "Andorra"),
("France", "Spain"),
("Andorra", "Spain"),
("France", "Italy"),
("France", "Switzerland"),
("Italy", "Switzerland"),
("Switzerland", "Italy"),
("Switzerland", "Germany"),
("France", "Germany"),
("Spain", "Portugal")
]
graph.add_nodes_from(countries)
graph.add_edges_from(crossing_borders)
# Generate walks
node2vec = Node2Vec(graph, dimensions=2, walk_length=2, num_walks=50)
# Learn embeddings
model = node2vec.fit(window=1)
我想让共享陆地边界的国家彼此更接近。如下图,西班牙离法国太远了。我只考虑了直接边界,这就是为什么walk-length = 2。
你有什么适合我的问题的想法吗?
【问题讨论】:
标签: machine-learning graph deep-learning word2vec