csdn开源夏令营-ospaf中期报告
生活随笔
收集整理的這篇文章主要介紹了
csdn开源夏令营-ospaf中期报告
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.背景
隨著將中期的代碼托管到CSDN的平臺(tái)上,ospaf(開(kāi)源項(xiàng)目成熟度分析工具)已經(jīng)有了小小的雛形,當(dāng)然還遠(yuǎn)遠(yuǎn)不夠。 ? ? ? 首先還是要感謝這次活動(dòng)組織方CSDN,感覺(jué)挺有Google Summer Code 中國(guó)版的味道。還有就是我的夏令營(yíng)導(dǎo)師David,給了我很多指導(dǎo)和幫助,線(xiàn)下的交流也很讓我長(zhǎng)見(jiàn)識(shí)。 ? ? ?接著來(lái)說(shuō)ospaf這個(gè)項(xiàng)目(有興趣的tx可以去看題案,地址)。按照之前的計(jì)劃,在中期答辯之前要完成對(duì)于github相關(guān)api的了解,將github的一些數(shù)據(jù)clone到本地的數(shù)據(jù)庫(kù),利用一些機(jī)器學(xué)習(xí)算法訓(xùn)練模型,然后可以利用這個(gè)模型對(duì)其它項(xiàng)目進(jìn)行評(píng)價(jià)。到今天為止這些功能都已經(jīng)簡(jiǎn)單實(shí)現(xiàn)了,不過(guò)都是很初級(jí)的版本(代碼地址)。下面簡(jiǎn)單介紹下項(xiàng)目流程。2.項(xiàng)目流程
? ? ?第一步:github api調(diào)用
? ? ? ? ?調(diào)研三種跟github有關(guān)的api,分別是github官方api、github archive、GHTorrent。其中GHTorrent提供的數(shù)據(jù)最全(包含commits等信息),但是因?yàn)閿?shù)據(jù)量實(shí)在過(guò)于龐大,在沒(méi)有服務(wù)器之前只好舍棄。剩下兩種其實(shí)提供的數(shù)據(jù)是一樣的,只不過(guò)github官方的api有一定的流量限制。最終還是選定了官方api。 ? ? ? ? ?首先就是獲得github上面的項(xiàng)目的api地址,要做一些json格式解析工作,還有就是一些正則匹配。存入到數(shù)據(jù)庫(kù)大致是如下所示,圖 2-1 url 之后就可以讀取每個(gè)每一個(gè)url地址,獲得相關(guān)項(xiàng)目的詳細(xì)信息,存到數(shù)據(jù)庫(kù)。
圖2-2 repo info
? ? 第二步:處理數(shù)據(jù),構(gòu)建訓(xùn)練集
? ? ? ?把數(shù)據(jù)放到數(shù)據(jù)庫(kù)之后,剩下就是機(jī)器學(xué)習(xí)的內(nèi)容了。因?yàn)槭芟抻诹髁肯拗?#xff0c;每小時(shí)只能clone下來(lái)43個(gè)項(xiàng)目的數(shù)據(jù),所以訓(xùn)練集不足,就沒(méi)有對(duì)特征進(jìn)行擴(kuò)維操作(下一期會(huì)重點(diǎn)解決這一塊)。特征方面只是對(duì)時(shí)間進(jìn)行了調(diào)整,把年月日的格式換成了對(duì)于距離當(dāng)天的日期差,如:created_at=500,也就是說(shuō)這個(gè)項(xiàng)目是500天前建立的。 ? ? ? 因?yàn)樗惴ú捎玫氖潜O(jiān)督學(xué)習(xí)的,所以需要設(shè)定目標(biāo)隊(duì)列。目標(biāo)隊(duì)列的獲取方法是提取了一些github showcase的項(xiàng)目作為正樣本,其它的項(xiàng)目為負(fù)樣本。 ? ? ? 這樣就簡(jiǎn)單的組成了訓(xùn)練集,正樣本和負(fù)樣本的比例大概是1:6。總數(shù)據(jù)量有六十多個(gè)訓(xùn)練樣本(少的可憐)。? ?第三步:機(jī)器學(xué)習(xí)
? ? ? ?因?yàn)橛?xùn)練集較小,目前用到的算法比較少。用到了歸一化算法、采樣算法對(duì)數(shù)據(jù)進(jìn)行處理,計(jì)算模型使用的是邏輯回歸。下圖是每個(gè)特征的回歸因子。大于零的特征對(duì)于樣本是正面影響,小于零的是負(fù)面影響。圖 2-3 feature
? 第四步:評(píng)測(cè)(對(duì)項(xiàng)目打分)
? ? ?下面選用了四個(gè)項(xiàng)目對(duì)模型進(jìn)行檢驗(yàn),前三個(gè)是github上的熱門(mén)項(xiàng)目,第四個(gè)是我自己的一個(gè)項(xiàng)目。
??
圖 2-4 PreSet圖 2-4 結(jié)果圖
? ? ? ? 得分大于零為成熟度高的項(xiàng)目,分?jǐn)?shù)越高,成熟度越高。
項(xiàng)目地址:https://code.csdn.net/davidmain/ospaf ? ? ?? ??
/********************************
* 本文來(lái)自博客 ?“李博Garvin“
* 轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/buptgshengod
******************************************/
總結(jié)
以上是生活随笔為你收集整理的csdn开源夏令营-ospaf中期报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【云端大数据实战】大数据误区、大数据处理
- 下一篇: Ohloh调研报告