Naive Bayes(朴素贝叶斯算法)[分类算法],naivebayes
Naive Bayes(朴素贝叶斯算法)[分类算法],naivebayes
Naïve Bayes(朴素贝叶斯)分类算法的实现
(1) 简介:
(2) 算法描述:
(3)
<span> 1</span> <?<span>php </span><span> 2</span> <span>/*</span> <span> 3</span> <span>*Naive Bayes朴素贝叶斯算法(分类算法的实现) </span><span> 4</span> <span>*/</span> <span> 5</span> <span> 6</span> <span>/*</span> <span> 7</span> <span>*把.txt中的内容读到数组中保存 </span><span> 8</span> <span>*$filename:文件名称 </span><span> 9</span> <span>*/</span> <span> 10</span> <span>//</span><span>--------------------------------------------------------------------</span> <span> 11</span> <span>function</span> getFileContent(<span>$filename</span><span>) </span><span> 12</span> <span>{ </span><span> 13</span> <span>$array</span> = <span>array</span>(<span>null</span><span>); </span><span> 14</span> <span>$content</span> = <span>file_get_contents</span>(<span>$filename</span><span>); </span><span> 15</span> <span>$result</span> = <span>explode</span>("\r\n",<span>$content</span><span>); </span><span> 16</span> <span>//</span><span>print_r(count($result));</span> <span> 17</span> <span>for</span>(<span>$j</span>=0;<span>$j</span><<span>count</span>(<span>$result</span>);<span>$j</span>++<span>) </span><span> 18</span> <span> { </span><span> 19</span> <span>//</span><span>print_r($result[$j]."<br>");</span> <span> 20</span> <span>$con</span> = <span>explode</span>(" ",<span>$result</span>[<span>$j</span><span>]); </span><span> 21</span> <span>array_push</span>(<span>$array</span>,<span>$con</span><span>); </span><span> 22</span> <span> } </span><span> 23</span> <span>array_splice</span>(<span>$array</span>,0,1<span>); </span><span> 24</span> <span>return</span> <span>$array</span><span>; </span><span> 25</span> <span>} </span><span> 26</span> <span>//</span><span>--------------------------------------------------------------------</span> <span> 27</span> <span> 28</span> <span> 29</span> <span>/*</span> <span> 30</span> <span>*NaiveBayes朴素贝叶斯算法 </span><span> 31</span> <span>*$test:测试文本;$train:训练文本;$flagsyes:yes;$flagsno:no </span><span> 32</span> <span>*/</span> <span> 33</span> <span>//</span><span>--------------------------------------------------------------------</span> <span> 34</span> <span>function</span> NaiveBayes(<span>$test</span>,<span>$train</span>,<span>$flagsyes</span>,<span>$flagsno</span><span>) </span><span> 35</span> <span>{ </span><span> 36</span> <span>$count_yes</span> = 0<span>; </span><span> 37</span> <span>$num</span> = <span>count</span>(<span>$train</span>[0<span>]); </span><span> 38</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><<span>count</span>(<span>$train</span>);<span>$i</span>++<span>) </span><span> 39</span> <span> { </span><span> 40</span> <span>if</span>(<span>$train</span>[<span>$i</span>][<span>$num</span>-1]==<span>$flagsyes</span>)<span>$count_yes</span>++<span>; </span><span> 41</span> <span> } </span><span> 42</span> <span>$p_yes</span> = <span>$count_yes</span> / (<span>count</span>(<span>$train</span>)-1<span>); </span><span> 43</span> <span>$p_no</span> = 1- <span>$p_yes</span><span>; </span><span> 44</span> <span> 45</span> <span>$count_no</span> = <span>count</span>(<span>$train</span>)-1 - <span>$count_yes</span><span>; </span><span> 46</span> <span> 47</span> <span> 48</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><<span>count</span>(<span>$test</span>)-1;<span>$i</span>++<span>) </span><span> 49</span> <span> { </span><span> 50</span> <span>$testnumyes</span> = 0<span>; </span><span> 51</span> <span>$testnumno</span> = 0<span>; </span><span> 52</span> <span>for</span>(<span>$j</span>=1;<span>$j</span><<span>count</span>(<span>$train</span>);<span>$j</span>++<span>) </span><span> 53</span> <span> { </span><span> 54</span> <span>if</span>((<span>$train</span>[<span>$j</span>][<span>$i</span>]==<span>$test</span>[<span>$i</span>])&&(<span>$train</span>[<span>$j</span>][<span>count</span>(<span>$test</span>)-1]==<span>$flagsyes</span>))<span>$testnumyes</span>++<span>; </span><span> 55</span> <span>else</span> <span>if</span>((<span>$train</span>[<span>$j</span>][<span>$i</span>]==<span>$test</span>[<span>$i</span>])&&(<span>$train</span>[<span>$j</span>][<span>count</span>(<span>$test</span>)-1]==<span>$flagsno</span>))<span>$testnumno</span>++<span>; </span><span> 56</span> <span> } </span><span> 57</span> <span> 58</span> <span>$array_yes</span>[<span>$i</span>] = <span>$testnumyes</span> / <span>$count_yes</span><span> ; </span><span> 59</span> <span>$array_no</span>[<span>$i</span>] = <span>$testnumno</span> / <span>$count_no</span><span> ; </span><span> 60</span> <span>/*</span> <span> 61</span> <span> print_r($testnumyes."<br>"); </span><span> 62</span> <span> print_r($testnumno."<br>"); </span><span> 63</span> <span> print_r($count_yes."<br>"); </span><span> 64</span> <span> print_r($count_no."<br>"); </span><span> 65</span> <span> print_r($array_no[$i]."<br>"); </span><span> 66</span> <span>*/</span> <span> 67</span> <span> } </span><span> 68</span> <span> 69</span> <span>$py</span>=1<span>; </span><span> 70</span> <span>$pn</span>=1<span>; </span><span> 71</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><<span>count</span>(<span>$test</span>)-1;<span>$i</span>++<span>){ </span><span> 72</span> <span>$py</span> *= <span>$array_yes</span>[<span>$i</span><span>]; </span><span> 73</span> <span>$pn</span> *= <span>$array_no</span>[<span>$i</span><span>]; </span><span> 74</span> <span> } </span><span> 75</span> <span> 76</span> <span>$py</span> *= <span>$p_yes</span><span>; </span><span> 77</span> <span>$pn</span> *= <span>$p_no</span><span>; </span><span> 78</span> <span> 79</span> <span>if</span>(<span>$py</span>><span>$pn</span>)<span>return</span> <span>$flagsyes</span><span>; </span><span> 80</span> <span>else</span> <span>return</span> <span>$flagsno</span><span>; </span><span> 81</span> <span> 82</span> <span>/*</span><span> print_r($py."<br>"); </span><span> 83</span> <span> print_r($pn."<br>"); </span><span> 84</span> <span>*/</span> <span> 85</span> <span> 86</span> <span>} </span><span> 87</span> <span>//</span><span>--------------------------------------------------------------------</span> <span> 88</span> <span> 89</span> <span>$train</span> = getFileContent("train.txt"<span>); </span><span> 90</span> <span>$test</span> = getFileContent("test.txt"<span>); </span><span> 91</span> <span> 92</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><<span>count</span>(<span>$test</span>);<span>$i</span>++<span>) </span><span> 93</span> <span>{ </span><span> 94</span> <span>$test</span>[<span>$i</span>][<span>count</span>(<span>$test</span>[0])-1] = NaiveBayes(<span>$test</span>[<span>$i</span>],<span>$train</span>,Y,<span>N); </span><span> 95</span> <span>} </span><span> 96</span> <span> 97</span> <span>/*</span> <span> 98</span> <span>*将数组中的内容读到.txt中 </span><span> 99</span> <span>*/</span> <span>100</span> <span>//</span><span>--------------------------------------------------------------------</span> <span>101</span> <span>$fp</span>= <span>fopen</span>('result.txt','wb'<span>); </span><span>102</span> <span>for</span>(<span>$i</span>=0;<span>$i</span><<span>count</span>(<span>$test</span>);<span>$i</span>++<span>) </span><span>103</span> <span>{ </span><span>104</span> <span>$temp</span> = <span>NULL</span><span>; </span><span>105</span> <span>for</span>(<span>$j</span>=0;<span>$j</span><<span>count</span>(<span>$test</span>[<span>$i</span>]);<span>$j</span>++<span>) </span><span>106</span> <span> { </span><span>107</span> <span>$temp</span> = <span>$test</span>[<span>$i</span>][<span>$j</span>]."\t"<span>; </span><span>108</span> <span>fwrite</span>(<span>$fp</span>,<span>$temp</span><span>); </span><span>109</span> <span> } </span><span>110</span> <span>fwrite</span>(<span>$fp</span>,"\r\n"<span>); </span><span>111</span> <span>} </span><span>112</span> <span>fclose</span>(<span>$fp</span><span>); </span><span>113</span> <span>//</span><span>--------------------------------------------------------------------</span> <span>114</span> <span>115</span> <span>/*</span> <span>116</span> <span>*打印输出 </span><span>117</span> <span>*/</span> <span>118</span> <span>//</span><span>--------------------------------------------------------------------</span> <span>119</span> <span>echo</span> "<pre class="brush:php;toolbar:false">"<span>; </span><span>120</span> <span>print_r</span>(<span>$test</span><span>); </span><span>121</span> <span>echo</span> "

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

寫在前面&筆者的個人理解目前,在整個自動駕駛系統當中,感知模組扮演了其中至關重要的角色,行駛在道路上的自動駕駛車輛只有通過感知模組獲得到準確的感知結果後,才能讓自動駕駛系統中的下游規控模組做出及時、正確的判斷和行為決策。目前,具備自動駕駛功能的汽車中通常會配備包括環視相機感測器、光達感測器以及毫米波雷達感測器在內的多種數據資訊感測器來收集不同模態的信息,用於實現準確的感知任務。基於純視覺的BEV感知演算法因其較低的硬體成本和易於部署的特點,以及其輸出結果能便捷地應用於各種下游任務,因此受到工業

C++中機器學習演算法面臨的常見挑戰包括記憶體管理、多執行緒、效能最佳化和可維護性。解決方案包括使用智慧指標、現代線程庫、SIMD指令和第三方庫,並遵循程式碼風格指南和使用自動化工具。實作案例展示如何利用Eigen函式庫實現線性迴歸演算法,有效地管理記憶體和使用高效能矩陣操作。

JSP註解的分類及用法解析JSP註解分為兩種:單行註解:以結尾,只能註解單行程式碼。多行註解:以/*開頭,以*/結尾,可以註解多行程式碼。單行註解範例多行註解範例/**這是一段多行註解*可以註解多行程式碼*/JSP註解的用法JSP註解可以用來註解JSP程式碼,使其更易於閱

C++sort函數底層採用歸併排序,其複雜度為O(nlogn),並提供不同的排序演算法選擇,包括快速排序、堆排序和穩定排序。

人工智慧(AI)與執法領域的融合為犯罪預防和偵查開啟了新的可能性。人工智慧的預測能力被廣泛應用於CrimeGPT(犯罪預測技術)等系統,用於預測犯罪活動。本文探討了人工智慧在犯罪預測領域的潛力、目前的應用情況、所面臨的挑戰以及相關技術可能帶來的道德影響。人工智慧和犯罪預測:基礎知識CrimeGPT利用機器學習演算法來分析大量資料集,識別可以預測犯罪可能發生的地點和時間的模式。這些資料集包括歷史犯罪統計資料、人口統計資料、經濟指標、天氣模式等。透過識別人類分析師可能忽視的趨勢,人工智慧可以為執法機構

01前景概要目前,難以在檢測效率和檢測結果之間取得適當的平衡。我們研究了一種用於高解析度光學遙感影像中目標偵測的增強YOLOv5演算法,利用多層特徵金字塔、多重偵測頭策略和混合注意力模組來提高光學遙感影像的目標偵測網路的效果。根據SIMD資料集,新演算法的mAP比YOLOv5好2.2%,比YOLOX好8.48%,在偵測結果和速度之間達到了更好的平衡。 02背景&動機隨著遠感技術的快速發展,高解析度光學遠感影像已被用於描述地球表面的許多物體,包括飛機、汽車、建築物等。目標檢測在遠感影像的解釋中

一、58畫像平台建置背景首先和大家分享下58畫像平台的建造背景。 1.傳統的畫像平台傳統的想法已經不夠,建立用戶畫像平台依賴數據倉儲建模能力,整合多業務線數據,建構準確的用戶畫像;還需要數據挖掘,理解用戶行為、興趣和需求,提供演算法側的能力;最後,還需要具備數據平台能力,有效率地儲存、查詢和共享用戶畫像數據,提供畫像服務。業務自建畫像平台和中台類型畫像平台主要區別在於,業務自建畫像平台服務單條業務線,按需定制;中台平台服務多條業務線,建模複雜,提供更為通用的能力。 2.58中台畫像建構的背景58的使用者畫像

寫在前面&筆者的個人理解在自動駕駛系統當中,感知任務是整個自駕系統中至關重要的組成部分。感知任務的主要目標是使自動駕駛車輛能夠理解和感知周圍的環境元素,如行駛在路上的車輛、路旁的行人、行駛過程中遇到的障礙物、路上的交通標誌等,從而幫助下游模組做出正確合理的決策和行為。在一輛具備自動駕駛功能的車輛中,通常會配備不同類型的信息採集感測器,如環視相機感測器、雷射雷達感測器以及毫米波雷達感測器等等,從而確保自動駕駛車輛能夠準確感知和理解周圍環境要素,使自動駕駛車輛在自主行駛的過程中能夠做出正確的決斷。目
