• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于機器學習的IT項目進度管理系統(tǒng)的設計與實現(xiàn)

      2023-04-06 06:37:14劉偉煜王磊張虎韓丹陳靖琚趙兵
      電腦知識與技術 2023年5期
      關鍵詞:進度管理機器學習

      劉偉煜 王磊 張虎 韓丹 陳靖 琚趙兵

      關鍵詞:機器學習;IT項目;進度管理

      0 引言

      近年來,隨著業(yè)務量增長以及人工智能[1]、大數(shù)據(jù)[2]、區(qū)塊鏈[3]等技術不斷取得突破創(chuàng)新,各行業(yè)加快推進數(shù)字化轉型升級建設,在IT項目投入的預算逐年增長,而IT行業(yè)相比于傳統(tǒng)行業(yè),具有技術含量高、需求更新快、人員變動頻繁等特點,所以需要實施科學規(guī)范的項目管理[4]來達到保障IT工程質(zhì)量、縮短項目工期和降低項目成本的目的。項目進度管理是項目管理的重要組成部分,目前IT項目的進度管理存在如下問題,第一管理的自動化水平不高,主要采用人工手動管理方式,通過預設的規(guī)則和工具進行人為評判打分,這種方式受主觀影響大且人力成本高,嚴重依賴管理人員的經(jīng)驗水平。第二管理過程中缺少預測性的量化指標,量化指標是利用管理過程中產(chǎn)生的數(shù)據(jù)加工得來的,通過量化指標可以直觀地觀察項目目標是否符合預期。而目前進度管理中所形成的量化指標大多只能對項目的現(xiàn)有階段進行分析評判,較少存在可用于預測項目下一階段運行情況的前瞻性指標。然而項目的實施過程通常存在慣性,歷史的項目指標數(shù)據(jù)與后續(xù)的產(chǎn)生的指標數(shù)據(jù)之間存在聯(lián)系,簡單地將歷史數(shù)據(jù)用于統(tǒng)計分析,利用率不高。

      本系統(tǒng)旨在設計一種基于機器學習的IT項目進度管理系統(tǒng),通過機器學習等人工智能技術,基于項目管理過程中產(chǎn)生的歷史數(shù)據(jù)構建模型,用于預測項目在后續(xù)進度方面的量化指標,進而達到提前研判項目的運行方向,合理安排資源供應的目的。本系統(tǒng)的使用能夠減少項目管理中人為干預的風險,降低項目管理的成本,并可以生成量化指標,持久監(jiān)控項目進度情況。

      1 機器學習算法應用

      機器學習[5]是人工智能的核心,機器學習算法常用于解決回歸、分類、聚類等幾大類問題,決策樹、線性回歸等傳統(tǒng)統(tǒng)計學方法和深度學習、強化學習等新型方法都可以歸類于機器學習范疇。本系統(tǒng)使用了邏輯回歸算法來構建模型。

      1.1 邏輯回歸算法介紹

      邏輯回歸[6]是常用于解決分類問題的經(jīng)典算法,具有原理簡單、調(diào)參方便和模型結果的可解釋性強等特點。邏輯回歸屬于廣義的線性模型,通過sigmoid函數(shù)的轉化,邏輯回歸算法的輸出取值被映射[0,1]區(qū)間內(nèi),當取值大于臨界值時為一類,取值小于臨界值時為另一類,從而達到0-1二分類的目的。邏輯回歸的損失函數(shù)是對數(shù)似然損失函數(shù),可以通過梯度下降法和牛頓法求解損失函數(shù)中的系數(shù),求解系數(shù)的過程就是基于樣本數(shù)據(jù)訓練模型的過程。

      邏輯回歸算法的使用步驟如下:第一步收集數(shù)據(jù),本系統(tǒng)從關系型數(shù)據(jù)庫中獲取歷史項目數(shù)據(jù);第二步準備數(shù)據(jù),將第一步獲取的項目數(shù)據(jù)進行清洗和轉換,準備可用于模型訓練的特征數(shù)據(jù);第三步選取特征,提取適用于模型輸入的最優(yōu)特征,在減少模型訓練耗時的同時能最大程度提高模型的精確度;第四步訓練模型,找到回歸系數(shù);第五步測試模型,主要從擬合度、精確度和準確度等方面來評價模型的效果;第六步適用模型,給定輸入數(shù)據(jù),模型可以預測出一個概率數(shù)值。

      根據(jù)邏輯回歸模型,可以預測在不同的自變量情況下,因變量發(fā)生某種情況的概率,并且邏輯回歸預測的概率結果可以較好地轉換成對應的量化數(shù)值。所以本系統(tǒng)選擇邏輯回歸算法用于構建項目進度評分卡模型。

      1.2 項目進度評分卡模型的介紹

      進度評分卡可以量化項目的進度情況。在項目管理中,影響項目進度的變量有很多,例如項目需求人員到崗情況、項目資金實際投入情況和項目在之前的節(jié)點是否發(fā)生過逾期、IT項目周期內(nèi)的功能點完成情況。這些影響變量的權重不一樣。如表1所示,在評分卡中,這些權重不一的影響變量根據(jù)權重大小和條件情況被賦予不同的分值。

      例如項目進行到某一階段,采樣得到的指標為A=70%,B=98%,C=‘從未出現(xiàn),D=80%,根據(jù)表1的評分標準計算得到項目的總得分為300+49+60+68+47=524。項目的得分越高則說明項目當前進度情況越健康,出現(xiàn)延期的概率越小。項目的得分越低則說明項目存在延期的風險越高,需要重點關注并進行相應干預。傳統(tǒng)評分卡中的各變量分配的分值是根據(jù)專家經(jīng)驗由一定人工預設規(guī)則估算得來的,受人為干擾影響大。本系統(tǒng)通過機器學習模型計算出評分卡中各個變量指標的分值,得到分值更加客觀準確。

      1.3 項目進度評分卡模型的構建

      與一般的機器學習模型訓練流程類似,評分卡模型的構建包含數(shù)據(jù)準備、特征選擇、模型開發(fā)等通用步驟,在完成模型開發(fā)和評價之后,需要增加評分卡分數(shù)校準步驟,將模型計算的概率值轉化為分數(shù),具體流程如圖1所示。

      在項目實施過程中通過系統(tǒng)設計的Web平臺進行數(shù)據(jù)埋點,以及手動輸入數(shù)據(jù)的方式來采集適用于建模的基礎數(shù)據(jù),例如項目資金、項目人員、項目工作量等對項目進度有影響或者產(chǎn)生關聯(lián)的各項數(shù)據(jù)。數(shù)據(jù)準備是整個評分卡模型開發(fā)流程中最耗時的前置工作,它的目的是創(chuàng)建包含開發(fā)評分卡模型所需要的所有要素的唯一數(shù)據(jù)集,需要進行大量的數(shù)據(jù)清洗及轉換工作。數(shù)據(jù)準備完成后進行特征選擇,從建模變量中選擇預測能力較強的少數(shù)特征變量。所采用的技術手段包括單變量特征選擇和方差特征選擇。

      模型開發(fā)是將分析篩選得到的特征變量的訓練樣本輸入到邏輯回歸算法,通過變化算法函數(shù)系數(shù)求得最小的邏輯回歸損失函數(shù)值,此時得到的函數(shù)系數(shù)即為基于此訓練樣本的最佳分類模型。由于模型是基于有限樣本訓練的,采用KS[7]、AUC[8]值等指標綜合評價模型的分類準確性和泛化能力,以KS值為例,如果KS值太低,說明模型的區(qū)分度太低,分類不準確,如果KS值太高,則模型可能存在過擬合,對新樣本的預測能力不一定會好。此時需要重新采樣源頭數(shù)據(jù)或者對模型訓練參數(shù)進行調(diào)整。當模型建立并通過檢驗后,模型計算的結果是概率值,即項目進度發(fā)生逾期的概率,取值范圍是0~1。

      通過計算概率的方式將邏輯回歸模型輸出的概率值進行放大轉化成標準評分卡的分數(shù)值。這一過程稱為建模流程中的評分卡分數(shù)校準。通過以上步驟可以建立用于量化項目進度完成情況的評分卡,項目評分卡上線后還需要進行監(jiān)測與反饋,將項目評分卡的預測表現(xiàn)與項目實際的進度運行情況相比較,并根據(jù)項目的運行情況對評分卡模型進行調(diào)整甚至重新訓練。

      2 系統(tǒng)的設計與實現(xiàn)

      2.1 架構設計

      如圖2所示,本系統(tǒng)架構設計分為四個層次:用戶進行操作和交互的前端層、處理請求轉發(fā)和邏輯處理的后端層、持久化和管理數(shù)據(jù)的數(shù)據(jù)層、進行模型訓練的模型層。各層之間獨立分離,前端層負責頁面樣式和內(nèi)容渲染,展示模型預測效果,提供表單接收用戶交互輸入的請求數(shù)據(jù)。后端層對前端請求進行路由,提供相應的業(yè)務邏輯處理方法,并調(diào)用數(shù)據(jù)層的數(shù)據(jù)供給接口。前后端可以獨立開發(fā)和部署,提高了系統(tǒng)開發(fā)效率并且數(shù)據(jù)傳輸和渲染的流程更加清晰。數(shù)據(jù)層將對不同類型數(shù)據(jù)庫的增刪改查等交互操作封裝成接口,提供給后端層調(diào)用。模型層實現(xiàn)了模型訓練和評分卡校準等評分卡構建過程,向后端層提供接口。由于模型的開發(fā)使用Python語言,而Web平臺的開發(fā)使用Java語言,本系統(tǒng)采用兩種方式實現(xiàn)兩者之間的交互和調(diào)用。第一種方式是以數(shù)據(jù)庫為中間過渡手段,將中間結果暫存到數(shù)據(jù)庫中,例如將模型預測的結果存儲在數(shù)據(jù)庫中,由Web平臺采用jdbc的方式讀取。第二種是通過exec函數(shù)在進程層面操作服務器執(zhí)行指定的Python腳本,此時Python腳本的計算結果可以通過Java的字節(jié)流或者字符流回傳到后端層,再由后端層處理后反饋給前端層,由前端層渲染展示到用戶頁面。以上為基于機器學習的IT項目進度管理系統(tǒng)的架構設計,實現(xiàn)了系統(tǒng)的業(yè)務邏輯和模型數(shù)據(jù)處理邏輯。

      2.2 前端設計

      本系統(tǒng)采用Vue+Html+CSS技術進行前端頁面展示,通過Nginx提供高性能頁面資源訪問。系統(tǒng)設計的項目進度影響變量數(shù)據(jù)上傳頁面如圖3所示,項目進度數(shù)據(jù)可以以文件的方式上傳,用戶上傳的文件會在前端進行后綴名的校驗,只允許上傳以xlsx、xls和csv結尾的文件,上傳成功后頁面彈出成功上傳提示框。項目進度影響變量數(shù)據(jù)查詢結果頁面如圖4所示,該頁面詳細展示了之前錄入成功的各個項目進度影響變量在項目不同節(jié)點的明細數(shù)據(jù)。項目進度評分結果頁面如圖5所示,用戶在前端輸入項目名稱或者項目編號,系統(tǒng)前端層接收到查詢請求后進行身份驗證和安全校驗,核驗通過后將請求轉發(fā)給后端層,后端層控制器將請求分發(fā)到對應的業(yè)務處理方法,業(yè)務處理方法調(diào)用模型層提供的評分卡接口,評分卡接口提供類似表1所示項目評分卡分值,業(yè)務處理方法實現(xiàn)的業(yè)務邏輯是根據(jù)評分卡計算匯總各個影響變量的分值得到項目進度評分。本系統(tǒng)啟動定時任務每間隔固定時間訓練模型,所以評分卡接口提供的各個項目進度影響變量對應的分值也會定時更新。

      2.3 后端設計

      本系統(tǒng)利用Springboot搭建后端層服務,有以下幾個優(yōu)點,第一Springboot遵循約定大于配置的思想,本系統(tǒng)的開發(fā)過程沒有編寫煩瑣的XML配置文件,省去了大量冗余代碼。第二Springboot以應用場景為單元集成了大量常用的第三方庫,每一種場景對應一個啟動器starter,啟動器包含了大量默認配置和所需要依賴的jar包,本系統(tǒng)數(shù)據(jù)層使用了Postgresql、Redis和Elasticsearch等技術組件在Springboot中都提供了對應的場景啟動器,可以提供幾乎零配置的開箱即用的服務。例如Postgresql對應的持久層框架是Myba?tis,在傳統(tǒng)的SSM框架中使用Mybatis需要整合大量的XML 配置,使用Springboot 開發(fā)只需要添加mybatis-spring-boot-starter 啟動器,配置相關的數(shù)據(jù)庫驅動和連接池依賴即可。

      后端層架構采用的是分層設計模式,主要分成控制器層、業(yè)務邏輯層和數(shù)據(jù)訪問層。前端層的請求由控制器層路由轉發(fā)到業(yè)務邏輯層進行處理,處理后返回的結果也由控制器層按照查詢鏈路反饋到前端層。業(yè)務邏輯層實現(xiàn)了項目進度影響變量數(shù)據(jù)錄入和維護、評分卡查詢、項目進度評分分值計算、模型管理、歷史數(shù)據(jù)維護等模塊,并調(diào)用數(shù)據(jù)訪問層的接口實現(xiàn)數(shù)據(jù)持久化。數(shù)據(jù)訪問層主要調(diào)用數(shù)據(jù)層的數(shù)據(jù)供給接口,將查詢結果返回給業(yè)務邏輯層。

      2.4 模型層設計

      模型訓練使用了開源的Sklearn(Scikit-learn) [9]機器學習庫實現(xiàn),Sklearn(Scikit-learn) 是使用Python語言編寫的機器學習庫,它具有分類、回歸、聚類等機器學習方法,實現(xiàn)了支持向量機、梯度提升和決策樹等經(jīng)典算法,在數(shù)據(jù)預處理階段使用了Python自帶的numpy 和pandas 包,訓練后的模型使用Pickle 方式保存。

      2.5 數(shù)據(jù)層設計

      本系統(tǒng)運行過程中處理的數(shù)據(jù)主要來源于以下三方面,第一是系統(tǒng)的輸入數(shù)據(jù),例如用于構建評分卡的項目進度相關數(shù)據(jù),這些數(shù)據(jù)可以采用手工導入方式,如手動輸入和利用Excel表格錄入相關信息,也可以通過程序預先埋點的方式收集數(shù)據(jù)。第二是系統(tǒng)加工生成的中間數(shù)據(jù),例如訓練好的評分卡模型需要暫存,方便后續(xù)使用。第三是系統(tǒng)用于展示的結果數(shù)據(jù),系統(tǒng)的前端程序需要基于這部分數(shù)據(jù)進行頁面的渲染和圖表的繪制。本系統(tǒng)根據(jù)數(shù)據(jù)的類型和應用場景依次使用了關系型數(shù)據(jù)庫Postgresql和緩存數(shù)據(jù)庫Redis和文檔數(shù)據(jù)庫Elasticsearch,其中系統(tǒng)錄入的非結構化數(shù)據(jù)存儲在Elasticsearch,利用DSL[10]語法實現(xiàn)比傳統(tǒng)Sql更復雜和定制化的查詢邏輯。項目進度評分等需要頻繁查詢的數(shù)據(jù)和評分排名結果存儲在Redis中,有效提高查詢效率。

      3 結論

      目前IT項目進度管理主要采用人工手動管理方式,受主觀影響大且人力成本高,嚴重依賴管理人員的經(jīng)驗水平。IT項目進度管理過程中缺少預測性的量化指標,項目管理中產(chǎn)生的數(shù)據(jù)往往用于簡單的統(tǒng)計分析,利用率不高。本系統(tǒng)采用Sklearn框架來訓練評分卡模型,配合前后端分離的方式實現(xiàn)Web平臺,有效提升了開發(fā)效率。本系統(tǒng)的評分卡模型實現(xiàn)了一套適用于項目進度管理的打分規(guī)則,規(guī)則的分值不是由人為經(jīng)驗主觀預估的,而是通過模型計算得到,更加科學客觀,可用于輔助指導項目進度計劃管理。使用本系統(tǒng)的模型可以有效提高項目進度管理的智能化水平,減少人力成本,合理分配資源,提高管理的效率。

      猜你喜歡
      進度管理機器學習
      電網(wǎng)線路施工項目進度管理存在問題及解決策略分析
      科學家(2016年3期)2016-12-30 00:38:41
      基于詞典與機器學習的中文微博情感分析
      加強建設進度風險管控 確保水利工程有序進行
      建筑工程管理中的進度管理淺談
      居業(yè)(2016年9期)2016-12-26 08:47:17
      基于項目進度管理的理論與實踐目的性探析
      商情(2016年43期)2016-12-26 00:00:00
      面向關鍵鏈的敏捷軟件開發(fā)項目進度管理研究
      進度管理在電力工程管理中的應用剖析
      基于機器學習的圖像特征提取技術在圖像版權保護中的應用
      基于網(wǎng)絡搜索數(shù)據(jù)的平遙旅游客流量預測分析
      時代金融(2016年27期)2016-11-25 17:51:36
      前綴字母為特征在維吾爾語文本情感分類中的研究
      科教導刊(2016年26期)2016-11-15 20:19:33
      东方市| 隆昌县| 肥西县| 孟连| 启东市| 贡嘎县| 水富县| 江油市| 石景山区| 日喀则市| 祥云县| 天门市| 三穗县| 桐乡市| 隆回县| 奉化市| 大埔区| 富源县| 柏乡县| 宣威市| 灯塔市| 马鞍山市| 和田县| 和田市| 都江堰市| 青龙| 伊川县| 寿阳县| 黔东| 金华市| 全南县| 南召县| 嘉兴市| 乌拉特中旗| 岢岚县| 成都市| 达州市| 四子王旗| 奉节县| 老河口市| 郎溪县|