Comments (19)
@xxx2974 K的选择要根据数据的情况,比如你可以测试一下在某个K的条件下,如果用ground truth连接,那么最终的效果如何,这可以作为一个上界参考。
第二个问题是那个recall和precision是pair-wise的R和P, 不是最终的评测指标,仅供参考,它们在数值上往往偏高。
from gcn_clustering.
作者的best.ckpt也没有到0.8吧,移除单聚类结点才有。我正常训练完,结果和作者的很贴近了,甚至还略好
from gcn_clustering.
@lichanglin3445667 F-score是多少呢
from gcn_clustering.
@Zhongdao Precision, Recall, F-score, NMI分别是:0.7518,0.8088,0.7793,0.9101
from gcn_clustering.
@Zhongdao 抱歉之前写错了,是recall比较低,best.ckpt能达到0.9080,但我训练的结果只有0.8左右
from gcn_clustering.
@Zhongdao 作者你好,我想将分类问题利用您这个聚类方法来解决,在训练阶段出现accuracy很高,但是precision和recall都很低,几乎为0,出现这样情况的原因可能是什么呢?在构造knn_graph时,k的选择有什么依据呢?
还有一个疑问,您构造的IPS子图中,positive节点数似乎非常少,在这样的情况下,训练时,recall和precision为何会很高,几乎为1呢?
谢谢!
from gcn_clustering.
@lichanglin3445667 准确的knn graph效果比较好,ANN graph会稍微差一点,是这个原因吗?
from gcn_clustering.
@xxx2974 K的选择要根据数据的情况,比如你可以测试一下在某个K的条件下,如果用ground truth连接,那么最终的效果如何,这可以作为一个上界参考。
第二个问题是那个recall和precision是pair-wise的R和P, 不是最终的评测指标,仅供参考,它们在数值上往往偏高。
谢谢答疑!
那像我这样的就是accuracy很高,precision和recall几乎为0的现象是为什么呢?
from gcn_clustering.
@xxx2974 可能是你的knn graph中的负样本太多,虽然正样本预测错误,导致precision和recall都很低,但是负样本对的,accuracy仍然很高
from gcn_clustering.
@xxx2974 可能是你的knn graph中的负样本太多,虽然正样本预测错误,导致precision和recall都很低,但是负样本对的,accuracy仍然很高
谢谢,我一开始也觉得是这个原因。但后来我发现作者提供的数据构造的IPS子图,大多是也都是负样本,正样本也很少呢!
另外,knn_graph里面的正样本数目太少,应该还是和通过网络提取到的特征有关吧?我是用预训练的resnet50提取的数据特征,有点不知道问题出在哪里,为什么构造的knn_graph里面的负样本会那么多。
from gcn_clustering.
在训练阶段出现accuracy很高,但是precision和recall都很低,几乎为0,出现这样情况的原因可能是什么呢?在构造knn_graph时,k的选择有什么依据呢?
@xxx2974 我在使用作者提供的训练集训练时也发现了这个问题,在100batch左右二分类就偏到一边去了,具体表现就是你说的这样,你可以测试下我们碰到的情形是不是一样的。
from gcn_clustering.
在训练阶段出现accuracy很高,但是precision和recall都很低,几乎为0,出现这样情况的原因可能是什么呢?在构造knn_graph时,k的选择有什么依据呢?
@xxx2974 我在使用作者提供的训练集训练时也发现了这个问题,在100batch左右二分类就偏到一边去了,具体表现就是你说的这样,你可以测试下我们碰到的情形是不是一样的。
我发现了,这个precision和recall的确和你提取特征的方式有关,如果提取的特征好,knn_graph构造的就比较好,训练的结果也比较好。只是不清楚作者是用什么样的方式提取的特征。
from gcn_clustering.
我对比这个方法的时候,
我用LTC的训练和测试数据,验证的结果为(注意修改模型输入的dim)
mx_sz:900 step=0.6
Number of nodes: 584013
Precision Recall F-Sore NMI
/home/lijc08/miniconda3/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/cluster/supervised.py:844: FutureWarning: The behavior of NMI will change in version 0.22. To match the behavior of 'v_measure_score', NMI will use average_method='arithmetic' by default.
FutureWarning)
0.4561 0.8628 0.5967 0.9460
After removing singleton culsters, number of nodes: 548747
Precision Recall F-Sore NMI
0.9652 0.4561 0.6195 0.9608
mx_sz:300 step=0.6
Number of nodes: 584013
Precision Recall F-Sore NMI
/home/lijc08/miniconda3/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/cluster/supervised.py:844: FutureWarning: The behavior of NMI will change in version 0.22. To match the behavior of 'v_measure_score', NMI will use average_method='arithmetic' by default.
FutureWarning)
0.6805 0.8153 0.7418 0.9550
After removing singleton culsters, number of nodes: 542319
Precision Recall F-Sore NMI
0.9586 0.6805 0.7959 0.9736
from gcn_clustering.
graph_propagation在生成最终聚类结果的时候,max_sz参数影响很大,而且难以确定。 @Zhongdao
from gcn_clustering.
在训练阶段出现accuracy很高,但是precision和recall都很低,几乎为0,出现这样情况的原因可能是什么呢?在构造knn_graph时,k的选择有什么依据呢?
@xxx2974 我在使用作者提供的训练集训练时也发现了这个问题,在100batch左右二分类就偏到一边去了,具体表现就是你说的这样,你可以测试下我们碰到的情形是不是一样的。
我发现了,这个precision和recall的确和你提取特征的方式有关,如果提取的特征好,knn_graph构造的就比较好,训练的结果也比较好。只是不清楚作者是用什么样的方式提取的特征。
请问一下 他这个knn_graph 是根据特征算相似度 然后取top 构成的图嘛?我看作者给出的例子里面,knn_graph的值看起来像是index,但是我随便算了几个cos距离,好像不是我想的这么回事儿
from gcn_clustering.
所以precision和recall都很低,几乎为0的时候该怎么解决啊
from gcn_clustering.
@Zhongdao 作者你好,我想将分类问题利用您这个聚类方法来解决,在训练阶段出现accuracy很高,但是precision和recall都很低,几乎为0,出现这样情况的原因可能是什么呢?在构造knn_graph时,k的选择有什么依据呢?
还有一个疑问,您构造的IPS子图中,positive节点数似乎非常少,在这样的情况下,训练时,recall和precision为何会很高,几乎为1呢?
谢谢!
请问你的问题解决了吗,我在将这个方法应用到新数据集的时候也训练不出来
from gcn_clustering.
graph_propagation在生成最终聚类结果的时候,max_sz参数影响很大,而且难以确定。
I also found the same issue, if max_sz=900, then it gives two clusters; if max_sz=850, the it gives 35 clusters. Any idea how to tune max_sz?
Thanks.
from gcn_clustering.
作者的best.ckpt也没有到0.8吧,移除单聚类结点才有。我正常训练完,结果和作者的很贴近了,甚至还略好
您好,我现在用我自己的数据在训练的时候发现我的acc极高,为1, 但是precision和recall都为0,请问我应该怎么调整,我是用了2万5个ID,每个ID有10张图,先用与训练好的模型进行特征提取,并且将feature和label都保存到两个npy文件,然后用knsw得到knn_graph, 然后用于训练。在这里我同样有另外一个疑问,就是因为我的训练数据是每个ID有10张图,所以我的knn_graph里面第一个值是label0的临近点,第二个值也是label0的临近点,第三个也是,直到第十一个才是label1的临近点,请问这样构造数据对吗,我看作者的好像是第几个值对应的就是label几,请问是否可以加个联系方式请教一下您,我的微信是13810332182,谢谢!
from gcn_clustering.
Related Issues (20)
- Can the author provide the data preprocessing script
- 请问,GCN 如何使用 batch 训练?这里的batch 是指的 对 node的 分批训练吗? HOT 1
- 想请问下,我没有改动代码任何地方,但是训练2个batch后precison和recall就变为0了,请问该如何训练出best.ckpt的效果呢
- 计算边分数时, score_dict[e[0], e[1]] = 0.5*(score_dict[e[0], e[1]] + score[i]),这样会导致后遍历到的边分数权重更大,为什么不用真正的平均呢 HOT 1
- 我使用新数据集时,每个batch正样本比例只有1%左右,我使用resnet50提取特征,请问这有什么解决办法吗
- 关于特征提取 HOT 1
- 请问为什么训练的时候没有softmax,而测试的时候使用
- about the features.zip HOT 3
- Extracting features from ArcFace HOT 2
- 关于labels
- 无监督还是有监督? HOT 3
- About the dataset
- usinng mean aggregation can not satisfy the requriment that G = g(X, A) is an aggregation matrix of size N × N and each row is summed up to 1
- Using code in the new Gpu-s(Python Versions)
- 关于原始数据集
- IJB-B list
- face images of features
- bcubed函数里面,根据我的验证,precision和recall两个变量可能搞反了
- knn上界已经复现了,但我认为graph_propagation的max_sz不太合理,完全可以改成th逐渐递减的模式去划分clusters HOT 1
- why first iteration not use thershold in test code HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gcn_clustering.