利用Netica训练简易贝叶斯网络模型【教程】
前情:
寫人工智能相關(guān)的選修課期末論文的時(shí)候,想簡(jiǎn)單搭個(gè)靜態(tài)貝葉斯網(wǎng)絡(luò)模型嘗試進(jìn)行數(shù)據(jù)分析,但并沒有在網(wǎng)上找到特別好的容易上手的教程。查閱參考文獻(xiàn)時(shí)發(fā)現(xiàn)Netica是個(gè)比較方便的貝葉斯網(wǎng)絡(luò)工具(相比Matlab的貝葉斯網(wǎng)絡(luò)工具箱等,Netica不用敲代碼學(xué)語(yǔ)法,而且是可視化交互界面,對(duì)新手相當(dāng)友好),只是網(wǎng)上沒什么詳細(xì)教程,只能看官方文檔自己摸索。本文相當(dāng)于一個(gè)Netica基本使用流程的教程。
背景:
工具和參考:
- Netica下載地址【百度網(wǎng)盤提取碼:p02v 】
- Netica官方教程
貝葉斯網(wǎng)絡(luò)簡(jiǎn)介:
貝葉斯網(wǎng)絡(luò)屬于概率圖模型的一種(本教程中涉及的是最基本的靜態(tài)貝葉斯網(wǎng)絡(luò)),是一個(gè)有向無(wú)環(huán)圖(DAG) ,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)代表了各變量之間的影響關(guān)系(即因果聯(lián)系)?;谟?xùn)練數(shù)據(jù)計(jì)算各節(jié)點(diǎn)條件概率表(CPT),得到模型的參數(shù)。之后輸入數(shù)據(jù)進(jìn)行預(yù)測(cè)的過程,就是根據(jù)已有的條件概率將樣本劃入對(duì)應(yīng)條件下可能性最大的類別。
此外,貝葉斯網(wǎng)絡(luò)的常見使用場(chǎng)景是在疾病預(yù)測(cè)和故障診斷等領(lǐng)域。
實(shí)踐教程
以下舉例部分將使用Netica自帶的例子進(jìn)行示范
一、搭建貝葉斯網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
1.新建網(wǎng)絡(luò)
2.新建節(jié)點(diǎn)
點(diǎn)擊工具欄中的黃色橢圓形圖標(biāo),即可在網(wǎng)絡(luò)中新建節(jié)點(diǎn)
3.編輯結(jié)點(diǎn)
雙擊節(jié)點(diǎn)或者右鍵->Properties可以打開節(jié)點(diǎn)的編輯面板,提供修改節(jié)點(diǎn)名等操作
點(diǎn)擊state右側(cè)的new可以為節(jié)點(diǎn)新建狀態(tài)
點(diǎn)擊Discrete可以將變量的狀態(tài)由離散變?yōu)椤斑B續(xù)”,此處的連續(xù)其實(shí)也只是按區(qū)間離散化
4.新建聯(lián)系
點(diǎn)擊工具欄中的箭頭,再分別點(diǎn)擊需要建立聯(lián)系的兩個(gè)節(jié)點(diǎn)即可
二、導(dǎo)入數(shù)據(jù)進(jìn)行參數(shù)學(xué)習(xí)
如圖,是一個(gè)搭完拓?fù)浣Y(jié)構(gòu),且尚未進(jìn)行訓(xùn)練的貝葉斯網(wǎng)絡(luò)模型
導(dǎo)入數(shù)據(jù),進(jìn)行參數(shù)學(xué)習(xí)
點(diǎn)擊Cases->Learn->Incrop Case Files,導(dǎo)入訓(xùn)練數(shù)據(jù)
數(shù)據(jù)集導(dǎo)入的是CSV格式也是支持的,只不過導(dǎo)入時(shí)要注意是否格式正確,可在File->Open As File 中選擇要導(dǎo)入的數(shù)據(jù)集,查看是否會(huì)有讀入錯(cuò)誤。以下是可以正常讀入的數(shù)據(jù)樣例
三、模型準(zhǔn)確度測(cè)試
選擇要預(yù)測(cè)的節(jié)點(diǎn),點(diǎn)擊Cases->Test With Cases 導(dǎo)入測(cè)試數(shù)據(jù)即可(此處為了簡(jiǎn)化操作,直接導(dǎo)入了之前的訓(xùn)練數(shù)據(jù))
輸出的報(bào)表中會(huì)有準(zhǔn)確率、基尼系數(shù)、AUC等等數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的利用Netica训练简易贝叶斯网络模型【教程】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软考高项笔记 | 软技能
- 下一篇: kettle 下载安装 使用