国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機器學(xué)習(xí)——垃圾郵件識別——SVM、MNB模型使用

這篇具有很好參考價值的文章主要介紹了機器學(xué)習(xí)——垃圾郵件識別——SVM、MNB模型使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本次案例采用SVM、MNB模型進(jìn)行對比

用Accuracy、F1 Score進(jìn)行評估

話不多說直接上代碼包括數(shù)據(jù)集下載

CSDNhttps://mp.csdn.net/mp_download/manage/download/UpDetailed


# 讀取數(shù)據(jù)并用空字符串替換空值
df1 = pd.read_csv("spamham.csv")
df = df1.where((pd.notnull(df1)), '')

# 將垃圾郵件分類為 0,將非垃圾郵件分類為 1
df.loc[df["Category"] == 'ham', "Category",] = 1
df.loc[df["Category"] == 'spam', "Category",] = 0
# 將數(shù)據(jù)拆分為標(biāo)簽和文本。系統(tǒng)應(yīng)該能夠根據(jù)文本預(yù)測標(biāo)簽
df_x = df['Message']
df_y = df['Category']
# 拆分表格 - 80% 用于訓(xùn)練,20% 用于測試大小
x_train, x_test, y_train, y_test = train_test_split(df_x, df_y, train_size=0.8, test_size=0.2, random_state=4)

# 使用 Tfidf 矢量化器 進(jìn)行特征提取、小寫轉(zhuǎn)換和停用詞去除
tfvec = TfidfVectorizer(min_df=1, stop_words='english', lowercase=True)
x_trainFeat = tfvec.fit_transform(x_train)
x_testFeat = tfvec.transform(x_test)

# SVM 用于建模
y_trainSvm = y_train.astype('int')
classifierModel = LinearSVC()
classifierModel.fit(x_trainFeat, y_trainSvm)
predResult = classifierModel.predict(x_testFeat)

# GNB 用于建模
y_trainGnb = y_train.astype('int')
classifierModel2 = MultinomialNB()
classifierModel2.fit(x_trainFeat, y_trainGnb)
predResult2 = classifierModel2.predict(x_testFeat)

# 計算精度,轉(zhuǎn)換為 int - 解決 - 無法處理未知和二進(jìn)制的混合
y_test = y_test.astype('int')
#actual_Y = y_test.as_matrix()

print("~~~~~~~~~~SVM RESULTS~~~~~~~~~~")
#使用 SVM 的準(zhǔn)確度得分
print("Accuracy Score : {0:.4f}".format(accuracy_score(y_test, predResult)*100))
#使用 SVM 的 FScore
print("F Score: {0: .4f}".format(f1_score(y_test, predResult, average='macro')*100))
cmSVM=confusion_matrix(y_test, predResult)
#“[真陰性假陽性\假陰性真陽性]”
print("Confusion matrix:")
print(cmSVM)


print("~~~~~~~~~~MNB RESULTS~~~~~~~~~~")
#使用 MNB 的準(zhǔn)確度得分
print("Accuracy Score: {0:.4f}".format(accuracy_score(y_test, predResult2)*100))
#使用 MNB 的 FScore
print("F Score:{0: .4f}".format(f1_score(y_test, predResult2, average='macro')*100))
cmMNb=confusion_matrix(y_test, predResult2)
#“[真陰性假陽性\假陰性真陽性]”
print("Confusion matrix:")
print(cmMNb)

運行結(jié)果:?

機器學(xué)習(xí)——垃圾郵件識別——SVM、MNB模型使用

總結(jié):

標(biāo)稱型:標(biāo)稱型目標(biāo)變量的結(jié)果只在有限目標(biāo)集中取值,如真與假(標(biāo)稱型目標(biāo)變量主要用于分類)

數(shù)值型:數(shù)值型目標(biāo)變量則可以從無限的數(shù)值集合中取值,如0.100,42.001等 (數(shù)值型目標(biāo)變量主要用于回歸分析)文章來源地址http://www.zghlxwxcb.cn/news/detail-504826.html

樸素貝葉斯

優(yōu)點:在數(shù)據(jù)較少的情況下仍然有效,可以處理多類別問題。
缺點:對于輸入數(shù)據(jù)的準(zhǔn)備方式較為敏感。
適用數(shù)據(jù)類型:標(biāo)稱型數(shù)據(jù)

一般流程:
(1) 收集數(shù)據(jù):可以使用任何方法。
(2) 準(zhǔn)備數(shù)據(jù):需要數(shù)值型或者布爾型數(shù)據(jù)。
(3) 分析數(shù)據(jù):有大量特征時,繪制特征作用不大,此時使用直方圖效果更好。
(4) 訓(xùn)練算法:計算不同的獨立特征的條件概率。
(5) 測試算法:計算錯誤率。
(6) 使用算法:一個常見的樸素貝葉斯應(yīng)用是文檔分類??梢栽谌我獾姆诸悎鼍爸惺褂脴?素貝葉斯分類器,不一定非要是文本。

支持向量機

優(yōu)點:泛化錯誤率低,計算開銷不大,結(jié)果易解釋。
缺點:對參數(shù)調(diào)節(jié)和核函數(shù)的選擇敏感,原始分類器不加修改僅適用于處理二類問題。
適用數(shù)據(jù)類型:數(shù)值型和標(biāo)稱型數(shù)據(jù)。

一般流程:
(1) 收集數(shù)據(jù):可以使用任意方法。 
(2) 準(zhǔn)備數(shù)據(jù):需要數(shù)值型數(shù)據(jù)。 
(3) 分析數(shù)據(jù):有助于可視化分隔超平面。 
(4) 訓(xùn)練算法:SVM的大部分時間都源自訓(xùn)練,該過程主要實現(xiàn)兩個參數(shù)的調(diào)優(yōu)。 
(5) 測試算法:十分簡單的計算過程就可以實現(xiàn)。 
(6) 使用算法:幾乎所有分類問題都可以使用SVM,值得一提的是,SVM本身是一個二類
分類器,對多類問題應(yīng)用SVM需要對代碼做一些修改。

到了這里,關(guān)于機器學(xué)習(xí)——垃圾郵件識別——SVM、MNB模型使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 機器學(xué)習(xí)-樸素貝葉斯過濾垃圾郵件

    機器學(xué)習(xí)-樸素貝葉斯過濾垃圾郵件

    什么是樸素貝葉斯算法:用貝葉斯定理來預(yù)測一個未知類別的樣本屬于各個類別的可能性,選擇可能性最大的一個類別作為該樣本的最終類別。 用這個算法處理垃圾郵件就可以理解為:用貝葉斯定理來預(yù)測一封由若干個單詞組成的不知道是否為垃圾郵件的郵件,它是垃圾郵件

    2024年02月09日
    瀏覽(23)
  • 機器學(xué)習(xí)——樸素貝葉斯算法(垃圾郵件分類)

    機器學(xué)習(xí)——樸素貝葉斯算法(垃圾郵件分類)

    先驗概率 :指的是 事件發(fā)生前 的預(yù)判概率,可以根據(jù)歷史數(shù)據(jù)/經(jīng)驗估算得到。例如,當(dāng)我們需要判斷西瓜是不是好瓜的時候,對紋理、根蒂等特征都不了解,只是平常我們買西瓜的時候買到好瓜的概率是70%,那么這個西瓜是好瓜的概率我們也可以認(rèn)為是70%。這個概率70%就是

    2024年02月03日
    瀏覽(24)
  • 畢設(shè) 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí)

    畢設(shè) 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí)

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年01月22日
    瀏覽(15)
  • 競賽 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí)

    競賽 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí) 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 ?? 更多資料, 項目分享: https:

    2024年04月17日
    瀏覽(27)
  • 機器學(xué)習(xí)-基于樸素貝葉斯的垃圾郵件分類

    機器學(xué)習(xí)-基于樸素貝葉斯的垃圾郵件分類

    概率論是許多機器學(xué)習(xí)算法的基礎(chǔ),此篇博客會給出一些使用概率論進(jìn)行分類的方法。 首先從一個最簡單的概率分類器開始,然后給出一些假設(shè)來學(xué)習(xí)樸素貝葉斯分類器。我們稱之為“樸素”,是因為整個形式化過程只做最原始、最簡單的假設(shè)。 我們還將構(gòu)建另一個分類器

    2024年02月02日
    瀏覽(25)
  • 計算機競賽 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí)

    計算機競賽 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 垃圾郵件(短信)分類算法實現(xiàn) 機器學(xué)習(xí) 深度學(xué)習(xí) 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 ?? 更多資料, 項目分享: https:

    2024年02月11日
    瀏覽(29)
  • 機器學(xué)習(xí)——基于樸素貝葉斯分類算法實現(xiàn)垃圾郵件分類

    機器學(xué)習(xí)——基于樸素貝葉斯分類算法實現(xiàn)垃圾郵件分類

    貝葉斯定理: 貝葉斯理論指的是,根據(jù)一個已發(fā)生事件的概率,計算另一個事件的發(fā)生概率。貝葉斯理論從數(shù)學(xué)上的表示可以寫成這樣:? ,在這里A和B都是事件,?P(B)P(B)不為0。 在貝葉斯定理中: 1. P(A) 稱為”先驗概率”,即在B事件發(fā)生之前,我們對A事件概率的一個判斷。如

    2024年02月04日
    瀏覽(29)
  • [學(xué)習(xí)筆記] [機器學(xué)習(xí)] 10. 支持向量機 SVM(SVM 算法原理、SVM API介紹、SVM 損失函數(shù)、SVM 回歸、手寫數(shù)字識別)

    [學(xué)習(xí)筆記] [機器學(xué)習(xí)] 10. 支持向量機 SVM(SVM 算法原理、SVM API介紹、SVM 損失函數(shù)、SVM 回歸、手寫數(shù)字識別)

    視頻鏈接 數(shù)據(jù)集下載地址:無需下載 學(xué)習(xí)目標(biāo): 了解什么是 SVM 算法 掌握 SVM 算法的原理 知道 SVM 算法的損失函數(shù) 知道 SVM 算法的核函數(shù) 了解 SVM 算法在回歸問題中的使用 應(yīng)用 SVM 算法實現(xiàn)手寫數(shù)字識別器 學(xué)習(xí)目標(biāo): 了解 SVM 算法的定義 知道軟間隔和硬間隔 在很久以前的

    2024年02月09日
    瀏覽(29)
  • 機器學(xué)習(xí):基于支持向量機(SVM)進(jìn)行人臉識別預(yù)測

    作者:i阿極 作者簡介:Python領(lǐng)域新星作者、多項比賽獲獎?wù)撸翰┲鱾€人首頁 ??????如果覺得文章不錯或能幫助到你學(xué)習(xí),可以點贊??收藏??評論??+關(guān)注哦!?????? ??????如果有小伙伴需要數(shù)據(jù)集和學(xué)習(xí)交流,文章下方有交流學(xué)習(xí)區(qū)!一起學(xué)習(xí)進(jìn)步!?? 專欄案例:

    2024年01月23日
    瀏覽(101)
  • 【機器學(xué)習(xí)】SVM支持向量機模型

    【機器學(xué)習(xí)】SVM支持向量機模型

    ?本站原創(chuàng)文章,轉(zhuǎn)載請說明來自 《老餅講解-機器學(xué)習(xí)》 ml.bbbdata.com 目錄 一. SVM的目標(biāo)和思想 ?? 1.1 SVM硬間隔模型的原始目的 1.2 SVM的直接目標(biāo) 1.3 什么是支持向量 ?二. SVM的支持平面的表示方式 2.1 支持面表示方式的初步思路 2.2 初步思路的缺陷與改進(jìn) 2.3 支持面的最終表示

    2023年04月23日
    瀏覽(1042)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包