csdn开源夏令营-ospaf中期报告

简介: 1.背景        随着将中期的代码托管到CSDN的平台上,ospaf(开源项目成熟度分析工具)已经有了小小的雏形,当然还远远不够。      首先还是要感谢这次活动组织方CSDN,感觉挺有Google Summer Code 中国版的味道。还有就是我的夏令营导师David,给了我很多指导和帮助,线下的交流也很让我长见识。     接着来说ospaf这个项目(有兴趣的tx可以去看题

1.背景

        随着将中期的代码托管到CSDN的平台上,ospaf(开源项目成熟度分析工具)已经有了小小的雏形,当然还远远不够。
      首先还是要感谢这次活动组织方CSDN,感觉挺有Google Summer Code 中国版的味道。还有就是我的夏令营导师David,给了我很多指导和帮助,线下的交流也很让我长见识。
     接着来说ospaf这个项目(有兴趣的tx可以去看题案,地址)。按照之前的计划,在中期答辩之前要完成对于github相关api的了解,将github的一些数据clone到本地的数据库,利用一些机器学习算法训练模型,然后可以利用这个模型对其它项目进行评价。到今天为止这些功能都已经简单实现了,不过都是很初级的版本(代码地址)。下面简单介绍下项目流程。

2.项目流程

     第一步:github api调用

         调研三种跟github有关的api,分别是github官方api、github archive、GHTorrent。其中GHTorrent提供的数据最全(包含commits等信息),但是因为数据量实在过于庞大,在没有服务器之前只好舍弃。剩下两种其实提供的数据是一样的,只不过github官方的api有一定的流量限制。最终还是选定了官方api。
         首先就是获得github上面的项目的api地址,要做一些json格式解析工作,还有就是一些正则匹配。存入到数据库大致是如下所示,

图 2-1 url
        之后就可以读取每个每一个url地址,获得相关项目的详细信息,存到数据库。


图2-2 repo info

    第二步:处理数据,构建训练集

       把数据放到数据库之后,剩下就是机器学习的内容了。因为受限于流量限制,每小时只能clone下来43个项目的数据,所以训练集不足,就没有对特征进行扩维操作(下一期会重点解决这一块)。特征方面只是对时间进行了调整,把年月日的格式换成了对于距离当天的日期差,如:created_at=500,也就是说这个项目是500天前建立的。
      因为算法采用的是监督学习的,所以需要设定目标队列。目标队列的获取方法是提取了一些github showcase的项目作为正样本,其它的项目为负样本。
      这样就简单的组成了训练集,正样本和负样本的比例大概是1:6。总数据量有六十多个训练样本(少的可怜)。

   第三步:机器学习

       因为训练集较小,目前用到的算法比较少。用到了归一化算法、采样算法对数据进行处理,计算模型使用的是逻辑回归。下图是每个特征的回归因子。大于零的特征对于样本是正面影响,小于零的是负面影响。

图 2-3 feature

  第四步:评测(对项目打分)

     下面选用了四个项目对模型进行检验,前三个是github上的热门项目,第四个是我自己的一个项目。

  

图 2-4 PreSet


图 2-4 结果图


        得分大于零为成熟度高的项目,分数越高,成熟度越高。



  
 



/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/

         
目录
相关文章
|
人工智能
Let’s Make-It-3D!上交&微软最新开源2D转3D生成研究,Star超过1k星
Let’s Make-It-3D!上交&微软最新开源2D转3D生成研究,Star超过1k星
353 0
|
Rust Kubernetes 安全
2022 技术趋势报告:C++ 重新“受宠”| “data”、“Python”、“Java”上榜热搜词 | 安全话题备受关注
2022 技术趋势报告:C++ 重新“受宠”| “data”、“Python”、“Java”上榜热搜词 | 安全话题备受关注
223 0
2022 技术趋势报告:C++ 重新“受宠”| “data”、“Python”、“Java”上榜热搜词 | 安全话题备受关注
|
机器学习/深度学习 人工智能 Kubernetes
Meta 微软等组建元宇宙组织,苹果缺席;Win 8.1 即将停止支持;Xmake v2.6.8 发布 | 思否周刊
Meta 微软等组建元宇宙组织,苹果缺席;Win 8.1 即将停止支持;Xmake v2.6.8 发布 | 思否周刊
171 0
|
缓存 Rust 安全
联想一员工侵占公司工时费近千万;Go 可以浏览器上运行啦;Fedora 36 发布 | 思否周刊
联想一员工侵占公司工时费近千万;Go 可以浏览器上运行啦;Fedora 36 发布 | 思否周刊
147 0
|
Web App开发 SQL 安全
项目作者操作不当,5.4 万 Star 归零;Go 1.18.1 发布 | 思否周刊
项目作者操作不当,5.4 万 Star 归零;Go 1.18.1 发布 | 思否周刊
137 0
|
Web App开发 Rust 安全
.Net桌面程序的旗舰--参加亚控科技组态王7.0发布有感
组态王7.0最有特色的功能就是图元模型和数据模型了,确实增加了这两个模型,对一些使用组态王的公司,工作量减轻不少
971 0
|
Android开发 iOS开发 开发者
Androi“.NET研究”d如何在三年时间里征服移动世界的
  摩托罗拉Droid手机的出现被大多数人认为是Google在移动市场上的转折点   人们很容易会忘记,其实并不是很久以前,还没有人相信Android和我们的生活会有多大关系。   毕竟,Android的市场爆发也仅仅是在过去的一年里才真正开始的,大概也就是2007年秋天它的首次露面后的两年后。
1098 0
|
Android开发 iOS开发
Android 2.3预计下周发布 十大惊“.NET研究”喜不容错过
  从最早的Android 1.5(Cupcake)、1.6(Dounts)到现在最新的Android 2.2(Froyo),Android系统不仅经历了多个版本的更新和改进,而且最新Android Gingerbread版本系统将会带来的变化也同样颇受期待。
1138 0
WP7有约(三)“.NET研究”:课堂重点
上海企业网站制作r上海闵行企业网站制作color:white;' href='http://www.93tj.com'>上海企业网站设计与制作ef='http://www.93tj.上海闵行企业网站设计与制作3tj.
790 0