《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)》基于Java的貝葉斯算法課設(shè)_第1頁
《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)》基于Java的貝葉斯算法課設(shè)_第2頁
《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)》基于Java的貝葉斯算法課設(shè)_第3頁
《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)》基于Java的貝葉斯算法課設(shè)_第4頁
《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)》基于Java的貝葉斯算法課設(shè)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課程設(shè)計設(shè)計題目:基于Java的貝葉斯算法計算機與數(shù)據(jù)科學(xué)學(xué)院2019年6月20日數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課稈設(shè)計報告目錄目錄TOC o 1-5 h z HYPERLINK l bookmark2 引言1 HYPERLINK l bookmark4 概述2 HYPERLINK l bookmark6 項目背景2 HYPERLINK l bookmark8 設(shè)計目的2開發(fā)環(huán)境3 HYPERLINK l bookmark10 模型構(gòu)建4 HYPERLINK l bookmark12 算法4 HYPERLINK l bookmark14 貝葉斯算法原理4 HYPERLINK l

2、bookmark16 貝葉斯定理4 HYPERLINK l bookmark18 貝葉斯法則4 HYPERLINK l bookmark20 先驗概率和后驗概率4 HYPERLINK l bookmark22 最大后驗概率4 HYPERLINK l bookmark24 樸素貝葉斯分類實現(xiàn)5 HYPERLINK l bookmark26 樸素貝葉斯分類的定義5 HYPERLINK l bookmark28 樸素貝葉斯分類階段5 HYPERLINK l bookmark30 分析與設(shè)計8 HYPERLINK l bookmark32 數(shù)據(jù)庫設(shè)計8 HYPERLINK l bookmark34 數(shù)

3、據(jù)庫代碼設(shè)計8數(shù)據(jù)庫頁面圖9 HYPERLINK l bookmark36 結(jié)構(gòu)設(shè)計10 HYPERLINK l bookmark38 代碼設(shè)計10 HYPERLINK l bookmark40 FetchData類10 HYPERLINK l bookmark42 Bayes類10Main13調(diào)試與運行15 HYPERLINK l bookmark44 總結(jié)16 HYPERLINK l bookmark46 致謝17 HYPERLINK l bookmark48 參考文獻18數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課程設(shè)計報告引言 引言本文重點研究了數(shù)據(jù)挖掘中的貝葉斯方法,它具有堅實的數(shù)學(xué)理論基礎(chǔ),并能綜合先

4、驗信息和數(shù)據(jù)樣本信息,成為數(shù)據(jù)挖掘和機器學(xué)習(xí)研究的熱點之一。樸素貝葉斯分類器是一種簡單而有效的概率分類方法,然而其屬性獨立性假設(shè)在現(xiàn)實世界中多數(shù)不能成立。為了改進該方法的分類性能,近幾年已有大量研究成果,許多學(xué)者都致力于構(gòu)建能反映屬性之間依賴關(guān)系的貝葉斯分類模型。隨著知識社會的到來及“互聯(lián)網(wǎng)+”行動計劃的制定,互聯(lián)網(wǎng)上的海量數(shù)據(jù)逐漸被有效地收集和整合。國內(nèi)的一些互聯(lián)網(wǎng)企業(yè)在針對用戶的個性化服務(wù)上進行了探索,如豆瓣網(wǎng)提供了推薦書籍、音樂等服務(wù),百度旅游在假期提供推薦旅游路線,自動匹配低價機票和酒店等服務(wù)。這些創(chuàng)新取得了很好的效果,大大提高了企業(yè)的競爭力。目前的智能個人助理軟件都沒有針對特定群體進

5、行優(yōu)化,而是面向所有用戶進行開發(fā)。這樣的軟件涉及的信息過于分散,缺乏解決實際問題的能力。此外,由于樸素貝葉斯方法在預(yù)測和分類中被廣泛應(yīng)用,如在預(yù)測項目交付率、互聯(lián)網(wǎng)流量分類、云檢測和估計算法等。因此本文提出了針對校園學(xué)生信息特征進行推薦的基于樸素貝葉斯方法的智能推薦算法研究,判斷一個人是否是一名學(xué)生,從而提高學(xué)校安保工作。數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課程設(shè)計報告概述 1概述項目背景學(xué)校安全工作是全社會安全工作的一個十分重要的組成部分。它直接關(guān)系到青少年學(xué)生能否安全、建康地成長,關(guān)系到千千萬萬個家庭的幸福安寧和社會穩(wěn)定。世界衛(wèi)生組織發(fā)布報告,在世界大多數(shù)國家中,意外傷害是兒童青少年致傷、致殘的最主要原

6、因。在我國,學(xué)齡兒童的意外傷害多數(shù)發(fā)生學(xué)校和上學(xué)的途中;而在不同年齡的青少年中,又以15-19歲意外傷害的死亡率最高。意外傷害不僅造成了大量兒童的永久性殘疾和早亡,消耗巨大的醫(yī)療費用,而且削弱了國民生產(chǎn)力。不僅給孩子及家庭帶來痛苦和不幸,而且給社會、政府及學(xué)校造成巨大的負擔(dān)和損失。校園安全問題已成為社會各界關(guān)注的熱點問題,保護好每一個孩子,使發(fā)生在他們身上的意外事故減少到最低限度,已成為中小學(xué)教育和管理的重要內(nèi)容。此時,學(xué)校的警衛(wèi)處就顯得尤其重要,怎么樣才能保證進出的都是學(xué)生而不是混入學(xué)校的不良青年?一個個查看學(xué)生證等實在不是一個明智的選擇,而基于Java實現(xiàn)的貝葉斯算法通過一些特征便可以初步

7、預(yù)測出他是否是一名學(xué)生,極大地減少警衛(wèi)處工作量,且一定程度上保證了學(xué)校學(xué)生安全。設(shè)計目的在數(shù)據(jù)倉庫和數(shù)據(jù)挖掘應(yīng)用中,分類是一種非常重要的方法,分類的概念是在已有數(shù)據(jù)的基礎(chǔ)上學(xué)會一個分類函數(shù)或構(gòu)造出一個分類模型,即我們通常所說的分類器(Clasifer)。該函數(shù)或模型能夠把數(shù)據(jù)集合中的數(shù)據(jù)記錄映射到給定類別中的某一個值,從而可以應(yīng)用于數(shù)據(jù)預(yù)測。目前,分類的主要算法有貝葉斯算法、決策樹算法、規(guī)則推導(dǎo)、人工神經(jīng)網(wǎng)絡(luò)、最近鄰算法、支持向量機等等。這些算法在許多現(xiàn)實數(shù)據(jù)集合上具有較好的預(yù)測精度,其中樸素貝葉斯算法具有良好的可解釋性等,在實踐中的應(yīng)用最為廣泛。本學(xué)期學(xué)習(xí)數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù),數(shù)據(jù)倉庫是一

8、個面向主題的(SubjectOriented)、集成的(Integrate)、相對穩(wěn)定的(NonVolatile)、反映歷史變化(TimeVariant)的數(shù)據(jù)集合,用于支持管理決策。企業(yè)建立數(shù)據(jù)倉庫是為了填補現(xiàn)有數(shù)據(jù)存儲形式已經(jīng)不能滿足信息分析的須要。數(shù)據(jù)倉庫理論中的一個核心理念就是:事務(wù)型數(shù)據(jù)和決策支持型數(shù)據(jù)的處理性能不同。而數(shù)據(jù)挖掘(DataMining)就是從大量的、不全然的、有噪聲的、模糊的、隨機的實際應(yīng)用數(shù)據(jù)中,提取隱含在當中的、人們事先不知道的、但又是潛在實用的信息和知識的過程。在數(shù)據(jù)挖掘中,對數(shù)據(jù)預(yù)處理所得到的數(shù)據(jù)進行挖掘,大量的算法應(yīng)用而生。為了加強對算法的應(yīng)用與理解,我們選

9、擇了基于java實現(xiàn)貝葉斯算法。1.3開發(fā)環(huán)境表1.1開發(fā)環(huán)境開發(fā)環(huán)境生產(chǎn)環(huán)境操作系統(tǒng)Windows10 x64Windows10 x64開發(fā)工具Eclipse數(shù)據(jù)庫MySQL8.0MySQL8.0JDK版本JDK1.8.0JDK1.8.0數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課程設(shè)計報告樸素貝葉斯分類實現(xiàn)數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課程設(shè)計報告模型構(gòu)建 2模型構(gòu)建算法樸素貝葉斯算法是基于統(tǒng)計理論的方法,它能夠預(yù)測所屬類別的概率。簡單樸素貝葉斯分類器假設(shè)一個指定類別中各屬性的取值是相互獨立的。這一假設(shè)稱為給定類別條件下的獨立性(ClassConditionalIndependence)假設(shè),它可以有效減少在構(gòu)造分類

10、器時所需要的計算量。貝葉斯算法原理貝葉斯定理:表示事件B已經(jīng)發(fā)生的前提下,事件A發(fā)生的概率,叫做事件B發(fā)生下事件A的條件概率,其基本求解公式為::.;|.八;”二:貝葉斯定理打通了從P(A|B)獲得P(B|A)的道路。直接給出貝葉斯定理:貝葉斯法則機器學(xué)習(xí)的任務(wù):在給定訓(xùn)練數(shù)據(jù)D時,確定假設(shè)空間H中的最佳假設(shè)。最佳假設(shè):一種方法是把它定義為在給定數(shù)據(jù)D以及H中不同假設(shè)的先驗概率的有關(guān)知識下的最可能假設(shè)。貝葉斯理論提供了一種計算假設(shè)概率的方法,基于假設(shè)的先驗概率、給定假設(shè)下觀察到不同數(shù)據(jù)的概率以及觀察到的數(shù)據(jù)本身。先驗概率和后驗概率用P(h)表示在沒有訓(xùn)練數(shù)據(jù)前假設(shè)h擁有的初始概率。P(h)被稱

11、為h的先驗概率。先驗概率反映了關(guān)于h是一正確假設(shè)的機會的背景知識如果沒有這一先驗知識,可以簡單地將每一候選假設(shè)賦予相同的先驗概率。類似地,P(D)表示訓(xùn)練數(shù)據(jù)D的先驗概率,P(D|h)表示假設(shè)h成立時D的概率。機器學(xué)習(xí)中,我們關(guān)心的是P(h|D),即給定D時h的成立的概率,稱為h的后驗概率。最大后驗概率學(xué)習(xí)器在候選假設(shè)集合H中尋找給定數(shù)據(jù)D時可能性最大的假設(shè)h,h被稱為極大后驗假設(shè)(MAP)確定MAP的方法是用貝葉斯公式計算每個候選假設(shè)的后驗概率,計算式如下:h_map二argmaxP(h|D)二argmax(P(D|h)*P(h)/P(D)二argmaxP(D|h)*p(h)(h屬于集合H)

12、3樸素貝葉斯分類實現(xiàn)樸素貝葉斯分類是一種十分簡單的分類算法,叫它樸素貝葉斯分類是因為這種方法的思想真的很樸素,樸素貝葉斯的思想基礎(chǔ)是這樣的:對于給出的待分類項,求解在此項出現(xiàn)的條件下各個類別出現(xiàn)的概率,哪個最大,就認為此待分類項屬于哪個類別。樸素貝葉斯分類的定義1、設(shè);為一個待分類項,而每個a為x的一個特征屬性。2、有類別集合-。3、計算八/,:-:o4、如果*;:;,貝,匚1:。那么現(xiàn)在的關(guān)鍵就是如何計算第3步中的各個條件概率。我們可以這么做:1、找到一個已知分類的待分類項集合,這個集合叫做訓(xùn)練樣本集。2、統(tǒng)計得到在各類別下各個特征屬性的條件概率估計。3、如果各個特征屬性是條件獨立的,貝根據(jù)

13、貝葉斯定理有如下推導(dǎo):因為分母對于所有類別為常數(shù),因為我們只要將分子最大化皆可。又因為各特征屬性是條件獨立的,所以有:mP(咖i)P(詢=戸仙|削)鞏創(chuàng)血)鞏兀閩鞏區(qū))=P(y-i)血)“=1樸素貝葉斯分類階段第一階段:準備工作階段,這個階段的任務(wù)是為樸素貝葉斯分類做必要的準備,主要工作是根據(jù)具體情況確定特征屬性,并對每個特征屬性進行適當劃分,然后由人工對一部分待分類項進行分類,形成訓(xùn)練樣本集合。這一階段的輸入是所有待分類數(shù)據(jù),輸出是特征屬性和訓(xùn)練樣本。這一階段是整個樸素貝葉斯分類中唯一需要人工完成的階段,其質(zhì)量對整個過程將有重要影響,分類器的質(zhì)量很大程度上由特征屬性、特征屬性劃分及訓(xùn)練樣本質(zhì)

14、量決定。第二階段:分類器訓(xùn)練階段,這個階段的任務(wù)就是生成分類器,主要工作是計算每個類別在訓(xùn)練樣本中的出現(xiàn)頻率及每個特征屬性劃分對每個類別的條件概率估計,并將結(jié)果記錄。其輸入是特征屬性和訓(xùn)練樣本,輸出是分類器。這一階段是機械性階段,根據(jù)前面討論的公式可以由程序自動計算完成。第三階段:應(yīng)用階段。這個階段的任務(wù)是使用分類器對待分類項進行分類,其輸入是分類器和待分類項,輸出是待分類項與類別的映射關(guān)系。這一階段也是機械性階段,由程序完成。対每個類別計算P(yd対每個持征屬性計算所有劃分的釧牛概率圖3.1樸素貝葉斯分類階段流程圖分窯K器訓(xùn)練階段以P(xy】)P(yd最大項作為x所屬類數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)

15、課程設(shè)計報告分析與設(shè)計 4分析與設(shè)計數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫代碼設(shè)計/創(chuàng)建數(shù)據(jù)庫createdatabasebayes;USEbayes;/創(chuàng)建數(shù)據(jù)表CREATETABLEdata(namevarchar(255)DEFAULTNULL,sexvarchar(255)DEFAULTNULL,watchvarchar(255)DEFAULTNULL,smokingvarchar(255)DEFAULTNULL,wearglassesvarchar(255)DEFAULTNULL,ridebikevarchar(255)DEFAULTNULL,isStudentvarchar(255)DEFAULTNUL

16、L);/插入數(shù)據(jù)INSERTINTOdataVALUES(zhangsan,wom,yes,yes,no,yes,no),(zhangsi,man,no,yes,no,yes,no),(zhangwu,wom,yes,no,no,yes,yes),(wangsan,man,no,no,yes,yes,yes),(wangsi,wom,no,no,yes,yes,yes),(wangwu,man,yes,yes,no,yes,no),(1,wom,no,yes,no,no,yes),(2,man,no,no,no,yes,yes),(3,wom,yes,no,no,yes,no),(4,man,

17、yes,no,yes,no,no),(5,wom,no,no,yes,yes,yes),(6,man,yes,no,yes,no,yes),(7,man,no,no,yes,yes,yes),(8,man,yes,yes,no,yes,no),(9,man,no,no,yes,no,yes);4.1.2數(shù)據(jù)庫頁面圖createdatabasebayesjUSEbsyesj亨CREATETABLEdata(namevarchar(255)DEfAULTNULLsexvarchar(2SS)DEFAULTNULL,watchvarchar255)DEFAULTNULL,srrokingvarcha

18、r(255)DEFAULTNULLjwergl&sesvsrthsr(25$)DEFAULTNULLridebikevarchar(255)DEFAULTNULL,isStudentvarchar(255)DEFAULTNULL1116ISINSERTINTOflSwom,Ci/fnan,(h3Mwarn11(4d,man1,6!trandataVALUES(1hangsan,wrh,yesjyesh1no1,_|i!_,=_.一一f_iiv圖4.1創(chuàng)建數(shù)據(jù)庫no,nc,no,yes、yes,yesjno,1noMyes1no,ikyesjno,yesjno,no,nojyesyes*jyes

19、jjnoyestrno11hyesrnc|h/es)丫nojnojyes,ves,yesryes*jyesjMrro*yes*t*nor20C9J/an,1nobJndyes,*noj1yes*);wangsanmannonoyesyesyeswangsiwoolnonoyesyesyeswangvvumanysyesnoyesno1wornnononoyes2mannononoyesyes3wornvesnonoyesno斗manyesnoyesnono5WOfllnonoyesyesyes6manyesnoyesnoyes7mannonoyesyesves3,mand3tdIx圖4.2創(chuàng)建

20、數(shù)據(jù)表4.2結(jié)構(gòu)設(shè)計圖4.3代碼結(jié)構(gòu)設(shè)計流程代碼設(shè)計FetchData類packagebys;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;publicclassFetchData/獲得數(shù)據(jù)庫數(shù)據(jù)publicArrayListArrayListfetch_traindata()/定義獲取訓(xùn)練數(shù)據(jù)的方法ArrayListArra

21、yListdataSet=newArrayListArrayList();/定義動態(tài)數(shù)組獲取訓(xùn)練數(shù)據(jù)并返回Connectionconn;/創(chuàng)建于數(shù)據(jù)庫的連接的變量Stringdriver=com.mysql.jdbc.Driver;/驅(qū)動程序名Stringurl=jdbc:mysql:/localhost:3306/bayes?useUnicode=true&characterEncoding=utf8;數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課程設(shè)計報告分析與設(shè)計數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)課程設(shè)計報告分析與設(shè)計 /指定要訪問的數(shù)據(jù)庫Stringuser=root;/用戶名Stringpassword=123456

22、;/密碼tryClass.forName(driver);用class加載驅(qū)動程序conn=DriverManager.getConnection(url,user,password);/連接數(shù)據(jù)庫if(!conn.isClosed()System.out.println(“已成功連接到數(shù)據(jù)庫!);/如果連接成功則輸出Statementstatement=conncreateStatement();用statement來執(zhí)行sql語句Stringsql=select*fromdata;這是sql語句中的査詢某個表ResultSetrs=statementexecuteQuery(sql);/e

23、xecuteQuery用于返回select的結(jié)果Stringstr=null;/定義中間量while(rsnext()/一直讀到最后一條ArrayLists=newArrayList();/定義獲取每條數(shù)據(jù)的動態(tài)數(shù)組str=rsgetString(sex);/分別讀取相應(yīng)欄位的信息加入到可變長數(shù)組中sadd(str);str=rsgetString(watch);sadd(str);str=rsgetString(smoking);sadd(str);str=rsgetString(wearglasses);sadd(str);str=rsgetString(ridebike);sadd(st

24、r);str=rsgetString(isStudent);sadd(str);dataSetadd(s);將每條信息加入到dataSet/Systemoutprintln(dataSet);/輸出中間結(jié)果調(diào)試rsclose();connclose();/關(guān)閉連接catch(ClassNotFoundExceptione)/catch不同的錯誤信息,并報錯System.outprintln(找不到驅(qū)動);/驅(qū)動錯誤eprintStackTrace();catch(SQLExceptione)/返回數(shù)據(jù)庫代碼錯誤eprintStackTrace();catch(Exceptione)eprint

25、Stac燈race();連接失敗finallySystem.outprintln(數(shù)據(jù)庫訓(xùn)練數(shù)據(jù)讀取成功!);returndataSet;Bayes類packagebys;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Map;publicclassBayespublicMapString,ArrayListArrayListclassify(ArrayListArrayListdataSet)/輸入訓(xùn)練數(shù)據(jù)dataSet并根據(jù)是否為學(xué)生進行分類MapString,ArrayListArrayListmap=n

26、ewHashMapString,ArrayListArrayList();/定義map用于下面將key值與value放入intnum=dataSet.size();for(inti=0;inum;i+)/遍歷所有數(shù)據(jù)項ArrayListStringY=dataSet.get(i);/將第i個訓(xùn)練樣本s的信息取出/System.out.println(Y);StringClass=Y.get(Y.size()-1).toString();/輸出Y最后一列的值,是yes|no,是否為學(xué)生/System.out.println(Y.size();if(map.containsKey(Class)/將

27、map中是yes|no是否為學(xué)生添加各特征map.get(Class).add(Y);else/若沒有這個類就新建一個可變長數(shù)組記錄并加入mapArrayListArrayListnlist=newArrayListArrayList();nlist.add(Y);map.put(Class,nlist);returnmap;/map的key值為yes或nopublicdoubleb_divi_a(ArrayListArrayListdata,Stringvalue,intindex)/通過輸入的定義b_divi_a方法實現(xiàn)計算各特征出現(xiàn)的概率,/目標值(value)相應(yīng)的列值(index)i

28、ntsum=0;/sum用于記錄相同特征出現(xiàn)的頻數(shù)intnum=data.size();for(inti=0;inum;i+)ArrayListY=data.get(i);if(Y.get(index).equals(value)sum+;/相同則計數(shù)return(double)sum/num;/返回頻率,用頻率代替概率/計算分類后每個類對應(yīng)的樣本中某個特征出現(xiàn)的概率publicStringbys_Main(ArrayListArrayListdataSet,ArrayListtestSet)/通過testSet引用FetchData中拆分字符串的方法MapString,ArrayListAr

29、rayListdoc=this.classify(dataSet);/用class中的分類函數(shù)構(gòu)造映射Objectclasses=doc.keySet().toArray();/把map中所有的key取出來(即所有類別yes|no學(xué)生)doubleMax_Value=0.0;/最大的概率intMax_Class=-1;/用于記錄最大類的編號for(inti=0;idoc.size();i+)/對每一個類分別計算,本程序只有兩個類Stringc=classesi.toString();/將類提取出ArrayListArrayListy=doc.get(c);/提取該類對應(yīng)的數(shù)據(jù)列表/System

30、.out.println(y);doubleprob=(double)y.size()/dataSet.size();/計算概率p(A|B)for(intj=0;jMax_Value)/更新分子最大概率Max_Value=prob;Max_Class=i;/i=1為yes,i=0為noreturnclassesMax_Class.toString();/返回是不是學(xué)生yes|no,Max_Class=i;i=0,返回no,i=1,返回yes4.3.3Mainpackagebys;importjava.io.BufferedInputStream;importjava.io.IOExceptio

31、n;importjava.util.ArrayList;importjava.util.Scanner;importjava.util.StringTokenizer;publicclassMainpublicstaticArrayListread_testdata(Stringstr)throwsIOException/拆分用戶輸入的字符串ArrayListtestdata=newArrayList();/定義一個動態(tài)數(shù)組StringTokenizertokenizer=newStringTokenizer(str);/當StringTokenizer只有一個參數(shù)時,分隔符為默認值,可通過空

32、格進行字符串的拆分while(tokenizer.hasMoreTokens()testdata.add(tokenizer.nextToken();/將每個拆分出的字符串加入到testdata中returntestdata;/返回testdata/主函數(shù),讀取數(shù)據(jù)庫,并讀入待判定數(shù)據(jù),輸出結(jié)果publicstaticvoidmain(Stringargs)FetchDataFdata=newFetchData();/java對函數(shù)的調(diào)用要先聲明相應(yīng)的對象再調(diào)用Bayesbys=newBayes();ArrayListArrayListdataSet=null;/訓(xùn)練數(shù)據(jù)列表ArrayList

33、testSet=null;/測試數(shù)據(jù)trySystem.out.println(從數(shù)據(jù)庫讀入訓(xùn)練數(shù)據(jù):”);dataSet=Fdata.fetch_traindata();/讀取訓(xùn)練數(shù)據(jù)集合System.out.println(請輸入測試數(shù)據(jù):sexwatchsmokingwearglassesridebike);Scannercin=newScanner(newBufferedInputStream(System.in);/從標準輸入輸出中讀取測試數(shù)據(jù)while(cin.hasNext()/進行數(shù)據(jù)讀取Stringstr=cin.nextLine();/先讀入一行testSet=read_t

34、estdata(str);/將這一行進行字符串分隔解析后返回可變長數(shù)組類型/System.out.println(testSet);/輸出中間結(jié)果Stringans=bys.bys_Main(dataSet,testSet);/調(diào)用貝葉斯分類器if(ans.equals(yes)System.out.println(他|她可能是個學(xué)生);/輸出結(jié)果elseSystem.out.println(他|她不太像是個學(xué)生);cin.close();catch(IOExceptione)/處理異常e.printStackTrace();圖4.4每條信息加入到dataSet中間結(jié)果調(diào)試Main(1)JavaApplicationC:ProgramFilesJavajdk1.8.0121binjavaw.exe(2019年6月20日下午9:25:30)已咸功連接到數(shù)據(jù)庫!數(shù)據(jù)庫訓(xùn)練數(shù)據(jù)讀取成功!請輸入測試數(shù)據(jù):sexwatchsmokingwearglassesridebikemanyesyesnonoP(no|test)*P(test)=0.020576P(yes|test)*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論