在最近的项目实验中,我的工作是实现一个具体的置信度传播算法,为了速度快、并且运行稳定,我用c++语言编写代码,并且在linux环境下编译,采用的数据格式是gml。gml格式是国外科研人员广泛应用的数据格式,结构如下:

。。。。。。,这里只展示三个节点。

。。。。。。,这里只展示三条边。

其完整的包含了结点信息,边信息,内容信息,groundtruth和网络有向信息。

但是由于一些数据集不是gml格式,所以我需要写一个转格式脚本。我将转换完的gml数据集应用在算法中,利用nmi评价指标对算法结果进行评价,发现效果非常不好。但是没有经过我转换的gml格式,也就是本身就是gml格式的数据集,效果非常好,并且是同样规模的网络。

根据问题的表现形式,我确定了我算法部分编的没问题,因为对于其他的本身就是gml格式的数据集,效果很好。我本能的就想到是不是我写的转格式脚本出错了,我迅速的检查了一遍,没有发现错误。没办法,我只能从算法入手,刚刚排除了算法实现细节的问题,那么很有可能是计算精度nmi时出现了问题。我猜想可能是算法输出结果的结点编号没有和真实的groundtruth结点编号对齐,也就是说将第一个结点的实验结果和第二个结点的真实结果进行比较了,如果是这样的话,结果肯定不会好。为了验证这个想法,我将每个结点的度值输出出来,发现确实和原来的顺序不一样了,原来的二号节点变成了一号节点,后面的所有结点都前移了一位,而最初的一号节点变成了最后一个结点。这让我很费解,因为我的算法代码并没有调整结点顺序,并且别的gml格式的数据集也没有这个问题,我反复思考,认为还是我的转格式脚本出了问题,这次我把我转换后的gml数据集和本来就是gml格式的数据集打开对比看了一下,试图发现它们的不同。结果真的给我找到了!我发现了一个统一的问题:在gml格式中,如果结点编号是从0开始,到N-1,那么表示边的结点编号也是0到N-1;如果结点编号是从1到N,那么表示边的节点编号也是1到N,就是说他们是统一的。而我转的gml格式就不统一,我的节点编号是从0到N-1,但是边的编号是从1-N。而我的算法是从读边开始确定结点的,它从1开始读的话就漏掉了我的编号是0的结点,只能把它放在最后。这导致了我的实验结果标签和groundtruth对不齐的问题,从而效果不好。

通过这次错误,我发现我在做实验的时候,手太快,心太慢,就是在没有弄清需求的情况下,就动手做了,观察的不够认真,只求速度和效率,最终发现了问题还要自己从头找,更加拉低了效率,吃亏的还是自己。以后我要避免这样的错误,动手之前先把情况彻底弄清楚,做到胆大心细。同时也提醒使用gml格式的朋友们注意一下这个格式的特点,注意这个统一的问题。

转载于:https://www.cnblogs.com/pipixin/p/6762044.html

关于使用gml数据格式的一点体会相关推荐

  1. 关于位姿变换的一点体会

    关于位姿变换的一点体会 1.题外话 2.刚体的位姿变换 2.1 位姿变换的定义 2.2 旋转矩阵的具体形式 2.2.1 二维情况 2.2.2 三维情况 3.旋转方向 4.平移方向 1.题外话 对于刚体 ...

  2. C#线程学习的一点体会和总结

    C#线程学习如同在Java中一样,在c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序.在.net中线程是由System.Threading 名字空间所定义的.所以你必须包含这个 ...

  3. 如何开发一个可运维系统的一点体会

    本文来自网易云社区 作者:施勇 我们在开发一个复杂系统的时候,常常会强调服务化.模块化.松散耦合等要求以达到高可用.高可靠及高性能等目的:比较少的人会考虑到系统的方便部署配置和运维,至少是在刚开始设计 ...

  4. 计算机教师教学心得体会,信息技术教师教学的一点体会

    放飞学生的梦想 随着素质教育的不断深入,作为教师,我们认识到,教育不仅仅是追求百分之多少的升学率,而是追求每个学生生动.活泼.主动的发展.不仅仅是汇报时的总结.评比时的数据,而是教师与学生共度的生命历 ...

  5. 关于项目管理的一点体会

    关于项目管理的一点体会 enno | 时间: 2011-11-03 | 18,423 Views  设计管理 "1人100个月完成的项目,不是100个人1个月就可以完成." 项目管 ...

  6. [转贴]关于项目管理的一点体会

    关于项目管理的一点体会 这 段时间,一直在负责一个项目的管理与开发.在时间短.任务紧,而团队人员又大部分是没有经验的菜鸟的恶劣情况下,我带领接近40人的团队,终于在客户规定 的时间范围内如期交付产品. ...

  7. 【原创】C#玩高频数字彩快3的一点体会

    购彩风险非常高,本人纯属很久以前对数字高频彩的一点研究.目前已经远离数字彩,重点研究足球篮球比赛资料库和赛果预测. 这是一篇在草稿箱保存了1年多的文章,一直没发现,顺便修改修改分享给大家.以后会有更多 ...

  8. 一点体会:找工作这事儿

    发信人: NichoBlueR (MC HotDog), 信区: job 标 题: 一点体会:找工作这事儿 发信站: 饮水思源 (2008年01月25日10:53:48 星期五) 本人生科院弱弱小本, ...

  9. 少马爷改编《大保镖》的一点体会【ZZ】

    linked from http://www.xiangsheng.org/asp/html/2002/04/20020430230000-1.htm '我们老爷子在传统相声上他绝不率由旧章,他不是刻 ...

最新文章

  1. access9磅字体是多_第一套考试题
  2. 0362计算机应用基础在线考试,0362《计算机应用基础》(本科)2017年6月期末考试指导.doc...
  3. 使用opencv读取图片错误([ WARN:0@13.701] global D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\..)
  4. Objective-C模版方法(TemplateMethod)
  5. mysqldump参数详细说明(转)
  6. vue点击按钮之后置成不可用_Vue 动态改变 button 的 disabled 状态
  7. 回溯法 —— 判断子集和问题是否存在解
  8. [导入]在asp.net中利用FileUplad控件从同一个页面上传多个文件
  9. beanshell学习
  10. 计算机软件税负率,2015最新增值税税负对照表
  11. 计算机无法识别外接光驱,USB外置光驱不能用怎么办 USB外置光驱无法识别解决方法...
  12. 国外问卷调查怎么做?谁都能做吗?
  13. Qua Vadis Eclipse? 第二部分
  14. 计算机win10下常用命令验证性实验
  15. 一个bug引发的人生感悟
  16. WordPress中文汉字用户名不能注册怎么办?
  17. 数字性格分析测试软件,性格色彩测试(完全版)-蓝色分析
  18. 这些旅游类短视频账号在快手涨粉的总结
  19. 集合框架(一)——概述
  20. deepin 安装显卡后,可支持双屏展示

热门文章

  1. 对流氓软件应群起攻之
  2. oracle 优化建议,oracle 性能优化建议小结
  3. Java英文技术网站
  4. 【机器学习】三大树模型实战乳腺癌预测分类
  5. UE4官方文档学习笔记材质篇——UV坐标动画,凹凸贴图偏移
  6. 详解Red Hat Enterprise Linux 各版本区别
  7. 4.6 Heuristics for Backtracking Algorithms回溯算法的启发式
  8. hive之窗口函数理解与实践
  9. (导数)微分与积分的概念
  10. 单片机胡汉才第四版答案_单片机课后习题答案 胡汉才编