原创 Logistic迴歸算法(梯度上升)

Logistic迴歸算法是一個最優化算法,迴歸就是擬合的過程。Logistic迴歸的思想就是利用現有數據對分類邊界建立線性迴歸公式,今天我們用這個算法來解決二值分類問題。 這裏介紹一個名叫Sigmoid的公式,這個函數是一種階躍函數,(詳

原创 線性迴歸2(局部加權迴歸)

上節我們討論了標準的求迴歸係數的方法,今天我們來討論使用局部加權的方法求迴歸係數。對於線性迴歸有可能出現欠擬合現象。所以爲了避免這種情況的發生我們爲每個數據點引入一個權重來降低誤差,我們這裏計算權重的方法是使用高斯核公式計算。這裏使用的數

原创 K--近鄰算法示例

這個實例是一個手寫識別系統,在這個系統中包含2000個訓練數據和900個測試數據。同學們可以在digits.zip下載, (提取碼:23ed) 每個文件名的第一個數字即爲文件內容所代表的數字,我們可以將下面代碼加入到上節的文件中: de

原创 Logistic迴歸(隨機梯度上升)

由於梯度上升優化算法在每次更新數據集時都需要遍歷整個數據集,計算複雜都較高,這裏有一個隨機梯度上升算法也可以求得迴歸係數,這種算法一次只用一個樣本點來更新迴歸係數。 def stocGradAscent0(dataMatrix, clas

原创 java.lang.RuntimeException: java.lang.NoSuchMethodException: tfidf$Reduce.()

今天運行hadoop突然出現一個問題! java.lang.RuntimeException: java.lang.NoSuchMethodException: tfidf$Reduce.<init>() at org.apac

原创 決策樹

決策樹算法也是分類算法中非常常用的一個算法,首先我們先來了解一下它的基本實現原理:         在給定的一個訓練樣本中可能包含很多的屬性,我們可以根據屬性值來劃分數據集,通過不斷的劃分數據集直到所有的葉子節點上的數據集屬於同意類。就構

原创 樸素貝葉斯

這一節讓我們來學習一下利用貝葉斯進行分類處理。在學習貝葉斯算法之前我們需要了解一些條件概率的的概念。什麼是條件概率呢?條件概率就是在已知條件下另一個事件發生的概率,這就是貝葉斯算法的核心思想,接下來我們就利用分類文章的例子來講解貝葉斯算法

原创 heap和stack有什麼區別

java內存分爲兩類,一類爲 棧內存,一類爲堆內存。棧內存是指程序進入一個方法時,會爲這個方法分配一塊專屬的私有空間,用來存儲這個方法內的局部變量。當這個方法結束時,分配給這個方法的棧就會釋放,這個棧中的變量也會釋放。 堆與棧作用不同的內

原创 貝葉斯算法擴展(支持多分類處理)

在前一節中我們已經討論了關於貝葉斯算法的工作原理以及代碼實現,但是它處理的數據是二分類問題,這一節我們就將代碼稍微修改一下使其能夠實現多分類問題。主要有兩個函數需要進行修改一個是trainNB0(),一個是classifyNB()這兩個,

原创 字節流與字符流的區別

要把一片二進制數據逐一輸出到某一設備,或者從設備中讀取二進制流,我們都要用統一的方式完成這個操作。這個抽象描述的方式起名爲IO流。對應的抽象類爲OutputStream和InputStream。不同的實現類代表這不同的輸入輸出設備。他們都

原创 K--近鄰算法解析

代碼測試環境:Python,需要安裝Numpy庫 首先講解關於K--近鄰算法的工作原理:        K--近鄰算法的工作原理是根據所給已知標籤的數據集計算出與未知標籤數據的最近的K個數據,這K個數據的標籤中所佔比重最大的那個數據的標籤

原创 Logistic迴歸(實例)

這節我們通過一個實例來進行一下算法測試:Text.txt下載  (提取碼:3b8f)   Train.txt下載  (提取碼:d947) def classifyVector(inX, weights): prob = sigmo

原创 Logistic迴歸(改進的隨機梯度上升)

上一節我們討論的隨機梯度上升算法在進行迭代的過程中迴歸係數會出現激烈的改變,這一節我們對上一節的算法進行改進: def stocGradAscent1(dataMatrix, classLabels, numIter=150):

原创 重新格式化hadoop

首先將hdfs-site.xml文件中的代碼片 <span style="font-size:18px;"><property>

原创 貝葉斯算法實例

這一節我們將通過一個例子來觀察貝葉斯的運行情況:email文件下載 (提取碼:0610)def textParse(bigString):