本發(fā)明涉及計算機
技術(shù)領(lǐng)域:
,具體是一種檢測android應(yīng)用程序廣告插件的模型和方法。
背景技術(shù):
:隨著互聯(lián)網(wǎng)的普及,越來越多的人使用智能手機作為通訊和娛樂工具;android操作系統(tǒng)是智能手機中最常用也是最開放的一種嵌入式系統(tǒng),由于該系統(tǒng)開源可定制化程序高,所以越來越多的手機生產(chǎn)廠家采用android系統(tǒng)。伴隨著android操作系統(tǒng)的流行,運行在android系統(tǒng)之上的應(yīng)用程序越來越多;作為最流行的移動平臺,許多應(yīng)用程序?qū)τ脩舳济赓M,導致應(yīng)用程序開發(fā)商轉(zhuǎn)而使用廣告作為一種盈利模式。大部分的應(yīng)用程序開發(fā)者只關(guān)注于廣告是否會給自己帶來經(jīng)濟利益,不會著重考慮廣告是否會對應(yīng)用程序使用者造成安全隱患。android應(yīng)用程序中的資源在使用之前,需要預先對相應(yīng)權(quán)限進行授權(quán);廣告插件在展示其內(nèi)容或者獲取一些信息之前,需要事先在androidmanifest.xml文件中定義,所以廣告插件與權(quán)限之間必然有一定的聯(lián)系。android系統(tǒng)的權(quán)限審核機制比較簡單,應(yīng)用開發(fā)者只需在androidmanifest.xml文件中定義使用的權(quán)限,該應(yīng)用程序就可以獲取相應(yīng)的權(quán)限,而對使用者來說是透明的;惡意的廣告插件很可能會竊取用戶的信息,造成用戶信息的泄漏,給用戶造成安全隱患。在分析惡意的廣告插件之前,精準地識別廣告插件是至關(guān)重要的一步。目前對于android應(yīng)用中的廣告插件檢測方法較少,僅有一些基于規(guī)則的低效率的檢測方法,即人工收集常見的廣告插件平臺特征,基于這些特征構(gòu)建廣告特征庫。對于待檢測的應(yīng)用,將其中的特征與廣告特征庫進行匹配給出檢測結(jié)果;這種完全依賴于特征庫匹配的廣告檢測方式準確率不高,因為很難收集到所有廣告插件的特征。對于日益新增加的廣告插件,需要人為的不斷收集新的廣告插件特征來維護與擴充特征庫,這樣做不僅效率很低,還耗費大量的人力和物力。技術(shù)實現(xiàn)要素:本發(fā)明針對android應(yīng)用程序廣告插件竊取用戶信息,私自扣費,影響用戶使用的問題,提出了一種檢測android應(yīng)用程序廣告插件的模型和方法,可以高效率的識別android應(yīng)用程序中是否具有廣告插件。所述的檢測android應(yīng)用程序廣告插件的模型包括:解析配置文件模塊,廣告特征信息提取模塊,廣告特征向量生成模塊,廣告特征庫匹配模塊和分類器預測模塊;解析配置文件模塊用于提取待檢測的android應(yīng)用程序中的service,activities,broadcasts和receiver等特征信息;廣告特征信息提取模塊用于從待檢測的android應(yīng)用程序中的androidmanifest.xml文件中提取權(quán)限信息;廣告特征向量生成模塊將廣告特征信息提取模塊提取到的權(quán)限信息與google官方定義的android系統(tǒng)權(quán)限相比較,使用onehot編碼得出該應(yīng)用權(quán)限對應(yīng)的特征向量。廣告特征庫匹配模塊用于將解析配置文件模塊提取的特征信息與廣告插件指紋庫相匹配,當在廣告指紋庫中匹配成功,則給出該廣告平臺名稱作為最終的檢測結(jié)果;分類器預測模塊用于將廣告特征向量生成模塊生成的特征向量輸入到廣告插件分類器中進行識別;廣告插件分類器包括高斯貝葉斯分類器和隨機森林分類器;具體識別分類的過程為:先將特征向量通過高斯貝葉斯分類器進行分類判別,若高斯貝葉斯分類器給出無廣告的結(jié)果,則輸出最終無廣告的檢測結(jié)果;否則將該特征向量輸入到隨機森林分類器中進行分類檢測,根據(jù)隨機森林給出的最終判別結(jié)果作為最終的分類結(jié)果。一種檢測android應(yīng)用程序廣告插件的方法,具體步驟如下:步驟一、建立android市場上主流常用的廣告插件指紋庫;通過收集android市場上主流常用的廣告插件應(yīng)用,并提取每個android應(yīng)用程序中的services,activities,broadcasts和receivers等特征信息,做成相應(yīng)的插件指紋,形成可擴展的廣告插件指紋庫;步驟二、用戶在客戶端上傳待檢測廣告插件的android應(yīng)用程序并請求檢測,服務(wù)器端時刻監(jiān)聽并將請求待檢測的android應(yīng)用程序下載到本地指定目錄,同時創(chuàng)建相應(yīng)的請求檢測任務(wù)存入請求隊列;步驟三、解析配置文件模塊從請求隊列中取出最近的請求檢測任務(wù),提取待檢測android應(yīng)用程序中的特征信息;特征信息包括activities、services、receivers、broadcasts、permissions等相關(guān)內(nèi)容。步驟四、廣告特征庫匹配模塊將提取到的特征信息與廣告插件指紋庫進行匹配;并判斷是否匹配成功,如果是,給出該廣告插件的平臺信息,進入步驟八;否則,進入步驟五;步驟五、廣告特征信息提取模塊提取該待測android應(yīng)用程序的權(quán)限信息;步驟六、廣告特征向量生成模塊將提取到的android應(yīng)用權(quán)限信息以google官方標準權(quán)限為基準通過onehot編碼方式,得到該android應(yīng)用權(quán)限對應(yīng)的特征向量。特征向量為一行135列的一維向量,每一列均為0或1,0表示該位對應(yīng)的權(quán)限在待檢測的android應(yīng)用程序中沒有出現(xiàn),1表示該位對應(yīng)的權(quán)限在android應(yīng)用程序中出現(xiàn)。步驟七、分類器預測模塊將待測android應(yīng)用程序的特征向量輸入到分類器中進行分類,得到最終的廣告檢測結(jié)果。廣告插件分類器包括高斯貝葉斯分類器和隨機森林分類器;分類的具體過程如下:步驟701、將步驟六中得到的特征向量輸入到高斯貝葉斯分類模型中;步驟702、高斯貝葉斯模型利用貝葉斯公式進行分類判別,得到該待測的android應(yīng)用程序有廣告插件的概率pad以及無廣告插件的概率1-pad;貝葉斯公式如下:pad=p(y=cad)πip(xi=xi|y=cad)其中pad代表待測的android應(yīng)用程序有廣告插件的概率;y代表輸出待測android應(yīng)用程序中是否具有廣告插件的隨機變量,cad代表待檢測的android應(yīng)用程序具有廣告插件的具體值;xi代表輸入的待測android應(yīng)用程序的第i個權(quán)限的隨機變量,xi代表待測android應(yīng)用程序中第i個權(quán)限的具體值;步驟703、根據(jù)概率pad以及1-pad的值,判斷高斯貝葉斯模型給出的結(jié)果是否為無廣告信息,如果是,則將結(jié)果作為最終的廣告檢測結(jié)果,結(jié)束算法;否則,進入步驟704;當待測的android應(yīng)用程序有廣告插件的概率pad大于待測的android應(yīng)用程序無廣告插件的概率1-pad時,即pad>1-pad;則判定待測的android應(yīng)用程序有廣告插件;反之,pad≤1-pad,則斷定待測的android應(yīng)用程序無廣告插件。步驟704、通過將訓練樣本集合分割為不同的子集,在每個子集上使用id3算法生成不同的決策樹,最終組合形成隨機森林。步驟705、將待檢測android應(yīng)用的特征向量輸入到隨機森林中,通過多棵決策樹給出的分類結(jié)果組合投票作為最終的判別結(jié)果。步驟八、將給出的檢測結(jié)果封裝到j(luò)son格式的數(shù)據(jù)中并返回給客戶端。本發(fā)明的優(yōu)點在于:1)、一種檢測android應(yīng)用程序廣告插件的方法,沒有完全依賴人工構(gòu)建的廣告插件特征庫,而是將機器學習引入到android廣告插件檢測中,通過大量樣本來訓練廣告檢測分類器使其具備學習分類能力;對于新出現(xiàn)的廣告插件也具有較高的檢測能力。2)、一種檢測android應(yīng)用程序廣告插件的模型,對于機器學習分類模型的選擇上沒有依賴于單一的模型,而是通過多次的交叉驗證來選擇模型,最終選定了基于高斯貝葉斯與隨機森林結(jié)合的分類模型,并加入了正則化約束來確保模型具有較高泛化學習能力,對于新出現(xiàn)的廣告插件也能給出正確的分類結(jié)果。附圖說明圖1是本發(fā)明一種檢測android應(yīng)用程序廣告插件的模型的整體框架圖;圖2是本發(fā)明一種檢測android應(yīng)用程序廣告插件的方法的具體流程圖;圖3是本發(fā)明分類器預測模塊將特征向量輸入到分類器中進行分類的流程圖。具體實施例下面結(jié)合附圖對本發(fā)明的具體實施方法進行詳細說明。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,機器學習的應(yīng)用范圍越來越廣泛;通過對大量android應(yīng)用程序的廣告與權(quán)限之間的關(guān)系進行分析,使用機器學習的算法組建一個正確率較高的android應(yīng)用程序廣告檢測系統(tǒng),從而達到較高的檢測能力至關(guān)重要。本發(fā)明一種android應(yīng)用程序廣告插件的模型和方法,包括:解析配置文件模塊,廣告特征信息提取模塊,廣告特征向量生成模塊,廣告特征庫匹配模塊和分類器預測模塊;對于待檢測的android應(yīng)用程序,解析配置文件模塊提取activity、service、broadcast和receiver特征信息,廣告特征庫匹配模塊查看特征信息是否與指紋庫中的廣告提供商的各種指紋信息相匹配;若能匹配,說明該檢測的android應(yīng)用程序帶有廣告,給出該廣告插件的來源;若匹配不到,廣告特征信息提取模塊提取該待測android應(yīng)用程序的權(quán)限作為廣告檢測的特征,廣告特征向量生成模塊生成特征向量,并輸入到事先訓練好的基于權(quán)限的android廣告插件分類器預測模塊進行預測,通過訓練好的分類器:即先通過高斯貝葉斯分類器再通過隨機森林分類器,給出一個最終綜合判斷的廣告檢測結(jié)果。如圖1所示,用戶上傳待檢測的android應(yīng)用程序,廣告監(jiān)測服務(wù)端的android應(yīng)用程序下載模塊將待檢測的android應(yīng)用程序下載到指定目錄,同時創(chuàng)建相應(yīng)的請求檢測任務(wù)存入請求服務(wù)隊列;并發(fā)送請求檢測任務(wù)給檢測android應(yīng)用程序廣告插件的模型;當檢測android應(yīng)用程序廣告插件的模型返回結(jié)果經(jīng)過廣告監(jiān)測服務(wù)端返回給用戶。所述的檢測android應(yīng)用程序廣告插件的模型包括:解析配置文件模塊,廣告特征信息提取模塊,廣告特征向量生成模塊,廣告特征庫匹配模塊和分類器預測模塊;解析配置文件模塊用于提取待檢測的android應(yīng)用程序中的service,activities,broadcasts和receiver等特征信息;廣告特征信息提取模塊用于從待檢測的android應(yīng)用程序中的andoidmanifest.xml文件中提取權(quán)限信息。androidmanifest.xml是一種基于xml格式的文件,在實際編譯好的android應(yīng)用中androidmanifest.xml以二進制形式存在,在進行權(quán)限信息提取之前,需要使用apktools等工具對應(yīng)用程序進行分編譯,使用androguard提取androidmanifest.xml中標簽<permission>與標簽</permission>之間的內(nèi)容,作為權(quán)限信息;廣告特征向量生成模塊將廣告特征信息提取模塊提取到的android應(yīng)用程序的所有的權(quán)限信息與google官方定義的android系統(tǒng)權(quán)限相比較,使用onehot編碼得出該應(yīng)用權(quán)限對應(yīng)的特征向量。雖然android系統(tǒng)允許開發(fā)者自定義一些權(quán)限,通過調(diào)研和研究發(fā)現(xiàn),廣告插件為了適配不同版本的系統(tǒng),不會自定義一些權(quán)限,所以對于應(yīng)用程序開發(fā)者自定義的一些權(quán)限信息不會將其應(yīng)用到特征向量中;廣告特征庫匹配模塊用于將特征信息與廣告插件指紋庫相匹配,當在廣告指紋庫中匹配成功,則給出該廣告平臺名稱作為最終的檢測結(jié)果;分類器預測模塊用于將特征向量輸入到廣告插件分類器中進行分類識別;廣告插件分類器包括高斯貝葉斯分類器和隨機森林分類器;具體識別分類的過程為:先將特征向量通過高斯貝葉斯分類器進行分類判別,若高斯貝葉斯分類器給出無廣告的結(jié)果,則輸出最終無廣告的檢測結(jié)果;否則將該特征向量輸入到隨機森林分類器中進行分類檢測,根據(jù)隨機森林給出的最終判別結(jié)果作為最終的分類結(jié)果。一種檢測android應(yīng)用程序廣告插件的方法,如圖2所示,具體步驟如下:步驟一、建立android市場上主流常用的廣告插件應(yīng)用的指紋庫;基于各個廣告插件提供商提供帶有廣告的demo程序,通過收集android市場上主流常用的廣告插件應(yīng)用,使用開源的工具androguard從應(yīng)用程序的androidmanifest.xml中,提取該android應(yīng)用程序中的services,activities,broadcasts,receivers等信息,提取具有明顯特征的部分,生成一種判斷規(guī)則,作為具有該廣告插件應(yīng)用程序的指紋;給予一個android應(yīng)用程序,可以根據(jù)指紋來識別該應(yīng)用程序中是否具有廣告插件;將收集到的各種插件的指紋建立一個廣告插件指紋庫,作為插件識別模型的重要組成部分;該庫支持后期的對各個廣告插件指紋的維護。例如當某一個廣告插件有更新時,可以對某一個插件添加一個指紋或者修改原來的指紋,就能正確地的匹配到該廣告插件。步驟二、用戶在客戶端上傳待檢測廣告插件的android應(yīng)用程序并請求檢測,服務(wù)器端時刻監(jiān)并將請求待檢測的android應(yīng)用程序下載到本地指定目錄,同時創(chuàng)建相應(yīng)的請求檢測任務(wù)存入請求隊列;用戶上傳要檢測的android應(yīng)用程序,廣告監(jiān)測服務(wù)端將待檢測的android應(yīng)用程序下載到指定目錄,判別該應(yīng)用是否為有效的應(yīng)用,并發(fā)送請求檢測任務(wù)給檢測android應(yīng)用程序廣告插件的模型。步驟三、解析配置文件模塊從請求隊列中取出最近的請求檢測任務(wù),提取待檢測android應(yīng)用程序android應(yīng)用中的特征信息;提取的特征信息包括activities、services、receivers、broadcasts和permissions等相關(guān)內(nèi)容。步驟四、廣告特征庫匹配模塊將提取到的特征信息與廣告插件指紋庫進行匹配;并判斷是否匹配成功,如果匹配成功,給出該廣告插件的平臺信息作為最終的檢測結(jié)果,進入步驟八;否則,進入步驟五;步驟五、廣告特征信息提取模塊使用androguard提取待測android應(yīng)用程序中的權(quán)限信息;廣告特征信息提取模塊在應(yīng)用的配置文件中提取該應(yīng)用申請的權(quán)限信息。步驟六、廣告特征向量生成模塊將提取到的android應(yīng)用中的權(quán)限信息與google官方標準權(quán)限為基準通過onehot編碼方式,得到該應(yīng)用權(quán)限對應(yīng)的特征向量。從帶有廣告的樣本android應(yīng)用程序提取標準google官方的權(quán)限;由于android系統(tǒng)是一種開源并且可定制的系統(tǒng),有些生產(chǎn)廠家可以基于開源的android系統(tǒng)個性化地定制自己的系統(tǒng),也可以自己定義一些系統(tǒng)的權(quán)限。為了防止各個廠家的權(quán)限對檢測結(jié)果的影響,根據(jù)google官方提供的權(quán)限列表,只提取google官方定義的權(quán)限,對于系統(tǒng)自定義的權(quán)限或者開發(fā)者自定義的權(quán)限,直接過濾掉,不會將其添加到特征向量中。廣告插件的特征向量為一行135列的一維向量矩陣,每一列均為0或1,0表示該位對應(yīng)的權(quán)限在待檢測的android應(yīng)用程序中沒有出現(xiàn),1表示該位對應(yīng)的權(quán)限在待檢測的android應(yīng)用程序中出現(xiàn)。例如:待檢測的android應(yīng)用程序a中包含有access_mock_location與access_network_state兩個權(quán)限,這兩個權(quán)限在特征向量中對應(yīng)的位置分別為第一位與第二位,也就是第一位和第二位為1,其他位都為0,則待檢測的android生成的特征向量抽象為x=[1,1,0,0,0,0,0…];在矩陣生成過程中,廣告特征向量生成模塊還會將不屬于google官方定義的權(quán)限過濾掉。步驟七、分類器預測模塊將待測android應(yīng)用程序的特征向量輸入到已經(jīng)訓練好的分類器中進行分類,得到最終的廣告檢測結(jié)果。廣告插件分類器包括高斯貝葉斯分類器和隨機森林分類器;如圖3所示,分類的具體過程如下:步驟701、將步驟六中得到的特征向量輸入到高斯貝葉斯分類模型中;步驟702、高斯貝葉斯模型利用貝葉斯公式進行分類判別,得到該待測的android應(yīng)用程序有廣告插件的概率pad以及無廣告插件的概率1-pad;貝葉斯公式如下:pad=p(y=cad)πip(xi=xi|y=cad)其中pad代表待測的android應(yīng)用程序有廣告插件的概率;y代表輸出待測android應(yīng)用程序中是否具有廣告插件的隨機變量,cad代表待檢測的android應(yīng)用程序具有廣告插件的具體值;xi代表輸入的待測android應(yīng)用程序的第i個權(quán)限的隨機變量,xi代表待測android應(yīng)用程序中第i個權(quán)限的具體值;步驟703、根據(jù)概率pad以及1-pad的值,判斷高斯貝葉斯模型給出的結(jié)果是否為無廣告信息,如果是,則將結(jié)果作為最終的廣告檢測結(jié)果,結(jié)束算法;否則,進入步驟704;當待測的android應(yīng)用程序有廣告插件的概率pad大于待測的android應(yīng)用程序無廣告插件的概率1-pad時,即pad>1-pad;則判定待測的android應(yīng)用程序有廣告插件;反之,pad≤1-pad,則斷定待測的android應(yīng)用程序無廣告插件。步驟704、通過將訓練樣本集合分割為不同的子集,在每個子集上使用id3算法生成不同的決策樹,最終組合形成隨機森林。步驟705、將待檢測android應(yīng)用的特征向量輸入到隨機森林中,通過多棵決策樹給出的分類結(jié)果組合投票作為最終的判別結(jié)果。例如:在由決策樹組成的隨機森林中,每棵決策樹輸出的值為0時代表無廣告;輸出1時代表有廣告。對于待檢測的應(yīng)用a對應(yīng)的特征向量[1,1,0,0,0,0…]輸入到由三棵決策樹組成的隨機森林中,得出結(jié)果中表示有廣告的個數(shù)多于無廣告的個數(shù)時,則判定該應(yīng)用有廣告插件;反之,則判定該應(yīng)用中無廣告插件。步驟八、將給出的檢測結(jié)果封裝到j(luò)son格式的數(shù)據(jù)中并返回給客戶端。為清楚說明本發(fā)明的技術(shù)方案,下面給出一種android應(yīng)用程序廣告插件檢測的實現(xiàn)方式。首先,建立android廣告插件指紋庫,收集大量包含android市場上主流常用的廣告插件android應(yīng)用,提取android應(yīng)用中的services,activities,broadcasts和receivers等信息,做成相應(yīng)的插件指紋。插件指紋庫共78條,樣例如下表所示:表1然后,搭建一個android廣告插件檢測服務(wù)端,用于實時監(jiān)聽等待用戶上傳待檢測的android應(yīng)用文件;下載待檢測的android應(yīng)用到本地并借助androguard工具提取android應(yīng)用android應(yīng)用中的activities、services、receivers、broadcasts和permissions等相關(guān)特征信息。樣例如下表所示:表2android應(yīng)用提取樣例benardseethx.god0119144ric.mainluck.servicebenardseethx.god0119144ric.thxwebgodcom.google.ads.adactivityandroid.permission.internetandroid.permission.access_network_stateandroid.permission.set_wallpaperandroid.permission.mount_unmount_filesystemsandroid.permission.write_external_storage進一步,將android應(yīng)用中提取到的activities、services、receivers和broadcasts特征信息與本地建立好的廣告指紋庫進行匹配,若能匹配到則給出該android應(yīng)用廣告的平臺信息。若是在目標android應(yīng)用中的信息沒有在本地廣告指紋庫中匹配到,則將目標android應(yīng)用的權(quán)限信息基于google官方的標準權(quán)限比較,生成android應(yīng)用對應(yīng)的特征向量。google官方標準權(quán)限如表3所示:表3最后,將生成的特征向量輸送到之前訓練好的基于機器學習的高斯貝葉斯與隨機森林分類模型中。首先,將特征向量輸入到高斯貝葉斯分類模型中,若該模型給出的是無廣告的信息,則將該結(jié)果作為最終的廣告檢測結(jié)果;若高斯貝葉斯對于該android應(yīng)用給出的是有廣告的信息,則將該廣告特征向量輸入到隨機森林分類模型中,將隨機森林給出的分類結(jié)果作為最終的判別結(jié)果。并將檢測結(jié)果封裝到j(luò)son格式的數(shù)據(jù)中并返回給客戶端。本發(fā)明在各大應(yīng)用市場收集帶有是否含有廣告標識的android的應(yīng)用程序(可能具有廣告,也可能不具有廣告),提取的廣告插件指紋建立廣告插件指紋庫,驗證該應(yīng)用程序是否具有廣告的插件,并且提取該應(yīng)用程序的標準的權(quán)限保存到數(shù)據(jù)庫中,作為廣告檢測分類器的樣本特征;提取其中的權(quán)限信息作為判別該應(yīng)用中是否含有廣告插件的標識;指紋庫的信息很可能會過期,也可能會有新的廣告商出現(xiàn),指紋庫并不是完全覆蓋所有的廣告商的指紋。為了提高檢測的效果,采用機器學習的算法建立預測模型,通過大量的有廣告插件應(yīng)用與無廣告插件應(yīng)用對應(yīng)的權(quán)限來訓練高斯貝葉斯分類器與隨機森林分類器,對android應(yīng)用程序的廣告情況進行預測。根據(jù)應(yīng)用程序權(quán)限特征庫,使用機器學習算法中的高斯貝葉斯算法和隨機森林算法對應(yīng)用程序權(quán)限和應(yīng)用程序廣告進行訓練,建立預測模型。具體為:通過2000個無廣告的android應(yīng)用程序與1500個有廣告的android應(yīng)用程序共3500個進行訓練,并用交叉驗證的方法不斷的調(diào)整分類模型的參數(shù),選出最優(yōu)的分類模型;將3500個訓練android應(yīng)用隨機分成10份,依次將其中9份作為訓練集其余1份為測試集,記錄這一過程該參數(shù)對應(yīng)的模型的分類正確率,然后改變機器學習模型的參數(shù)不斷的重復之前的操作;通過交叉驗證來選出最優(yōu)的模型,最終得到廣告分類檢測模型的正確率達到了97%。然后,使用評價機器學習分類算法的標準指標:正確率、召回率來評價本發(fā)明的廣告插件檢測的效果。tp(truepositive)被分類模型判別為正的正樣本數(shù);對應(yīng)為被本廣告插件檢測模型判別為無廣告的樣本數(shù)。fp(falsepositive)被分類模型判別為正的負樣本數(shù);對應(yīng)為本廣告插件檢測模型將有廣告的android應(yīng)用判別為無廣告的樣本數(shù)。fn(falsepositive)被分類模型預測為負的正樣本數(shù);對應(yīng)為本廣告插件檢測模型將無廣告的android應(yīng)用判別為有廣告的樣本數(shù)。precision(正樣本預測正確結(jié)果數(shù)/被判為正樣本數(shù)):recall(正樣本預測正確結(jié)果數(shù)/正樣本實際數(shù)):模型的測試集一選擇沒有在訓練集中出現(xiàn)的300個無廣告的android應(yīng)用與300個含有廣告的android應(yīng)用。模型的測試集二選擇沒有在訓練集中出現(xiàn)的550個無廣告的android應(yīng)用與550個含有廣告的android應(yīng)用。在兩個測試集上對隨機森林、高斯貝葉斯、伯努利貝葉斯、多項式貝葉斯4種android廣告插件檢測模型進行測試;以正確率、召回率、f1-measure在兩個測試集上的值作為衡量檢測模型的標準;測試的結(jié)果如表4所示:表4由表4可以看出高斯貝葉斯分類模型對于無廣告的android應(yīng)用判別比較準確fp值是四個模型中最低的,隨機森林模型對于有無廣告的綜合判別比較準確正確率可以達到98.29%。所以最終確定的android廣告插件的檢測流程為先通過高斯貝葉斯模型檢測,若其判別為有廣告則再通過隨機森林模型檢測,并給出最終的檢測結(jié)果。當前第1頁12