创建我的 node2vec 模型后卡在喂我的 SVM
Posted
技术标签:
【中文标题】创建我的 node2vec 模型后卡在喂我的 SVM【英文标题】:stuck in feeding my SVM after creating my node2vec model 【发布时间】:2022-01-18 14:10:24 【问题描述】:我正在尝试在从蛋白质-蛋白质相互作用获得的图表上使用 Node2Vec 和 SVM 进行节点分类,以预测与特定疾病相关的疾病基因。要准确。关键是,我使用networkx
创建了一个图表,我的节点有labels
(蛋白质名称)和属性= 0/1(如果这种蛋白质是否引起疾病)。我在这张图上应用了node2vec
,我有我的模型。 (在这个阶段我不关心 p 和 q 的值)但我不知道如何继续并将其提供给 SVM,或者更重要的是,如何在将矢量化图提供给 SVM 之前减少它的维度。另外,我不知道在这些向量中是否包含我的节点的属性。但是,我有一本名为 lbls 的字典来分别保存我的节点及其值
这是一小段代码
node2vec = Node2Vec(G, dimensions=512, workers=4,p=1,q=2)
model = node2vec.fit(window=10, min_count=1, batch_words=4)
【问题讨论】:
【参考方案1】:node2vec
是一种无监督的节点嵌入方法,它基于Word2Vec
。查看snap documentation 以了解模型的简要说明。它不会使用您的任何属性/功能来创建嵌入。它使用浅编码,使用基于随机游走的目标函数直接学习。有关详细信息,请查看论文或查看关于节点嵌入的Stanford Lecture,其中详细介绍了 Node2Vec。你的嵌入维度目前是512
(用于node2vec的节点嵌入),你可能可以减少它。
【讨论】:
感谢您的回复,我现在有了model.wv。这可以看作是我的 X_train 吗?以及每个节点的属性为 Y_train ? 如果您想要的任务是根据检索到的节点嵌入对疾病/注意疾病进行分类,那么您的输入特征 (X) 是 node2vec (aka .wv) 和您想要的输出 (Y ) 是你的属性。所以是的,但可能你想把它们分成某种方式,例如80/20 训练/测试或执行交叉验证。如果我的回答解决了您的问题,请接受。以上是关于创建我的 node2vec 模型后卡在喂我的 SVM的主要内容,如果未能解决你的问题,请参考以下文章
使用 OpenGL 使用延迟渲染绑定 FBO 后卡在渲染灯上
各位LINUX大神,紧急求助,显卡驱动装完了,重启后卡在进度条。
Flutter 在执行 Flutter build ios 后卡在 Building Dart 代码上