樸素貝葉斯演算法
為了便於在普通電腦上執行相關程式,alexa和dga的樣本都取前10000個。
把網域名稱當做乙個字串,使用n-gram建模,以2-gram為例,把baidu.com進行建模,接下來向量化,輸出詞彙表。
使用countvectorizer進行轉換即可,其中ngram_range設定為(2,2),表明使用2-gram,token_pattern設定為『\w』,表明是按照字元切分:
支援向量機演算法:使用支援向量機演算法,特徵提取使用詞袋模型,完整的處理流程如圖 6-7所示。
1.將enron-spam資料集的檔案提取詞袋;
2.隨機劃分為訓練集和測試集;
3.使用支援向量機演算法在訓練集上訓練,獲得模型資料;
4.使用模型資料在測試集上進行**;
5.驗證支援向量機演算法**效果。
例項化支援向量機演算法,在訓練集上訓練並在測試集上**:
模型訓練與驗證
模型訓練 網路模型構建好後,需要利用訓練資料不斷進行學習訓練來降低loss 提高模型效能 使得最後得到的結果誤差盡可能小,盡可能滿足需要 乙個成熟合格的深度學習訓練流程要滿足 1 在訓練集上進行訓練並在驗證集上進行驗證 2 模型可以保留最優權重,並讀取權重 3 記錄下訓練集和驗證集的精度,便於調參 ...
模型選擇與訓練集 驗證集 測試集
在學習模型設計完成後,對模型進行訓練,可得到模型引數 通過假設函式公式 可得到 值。但怎麼知道訓練完成的模型效能怎麼樣呢?也就是說,通過該模型得到的 值準不準確?有沒有辦法提高準確度?這就是本節將要解決的問題。如圖所示,將原始資料以 6 2 2 分成 3 份。分別為 訓練集 交叉驗證集 測試集 訓練...
訓練集 測試集 驗證集與交叉驗證
當我們訓練好乙個模型時,我們不只希望這個模型只在訓練集上表現的好,更重要的是希望這個模型後續能表現的好,這時候就需要測試集,用於評估這個模型的泛化能力。通常情況下,我們將資料以8 2的比例分割訓練集和測試集。在演算法模型中,我們還要使用正則化技術,避免過擬合。其中乙個做法就是使用100個不同超引數訓...