Python KNN算法

5 提交 / 0個新回復
最新回復
Python KNN算法

1. 簡述機器學習
? ? ? ? 在日常生活中,人們很難直接從原始數據本身獲得所需信息。而機器學習就是把生活中無序的數據轉換成有用的信息。例如,對于垃圾郵件的檢測,偵測一個單詞是否存在并沒有多大的作用,然而當某幾個特定單詞同時出現時,再輔以考慮郵件的長度及其他因素,人們就可以更準確地判定該郵件是否為垃圾郵件。
? ? ? ??機器學習分為監督學習無監督學習,其中:
? ? ? ??(1)監督學習:包含分類和回歸。分類,是將實例數據劃分到合適的分類中。回歸,主要用于預測數值形數據。因為這類算法必須知道預測什么,即目標變量的分類信息,所以稱為監督學習。
? ? ? ??(2)無監督學習:此時數據沒有類別信息,不能給定目標值。在無監督學習中,將數據集合分成由類似的對象組成的多個類的過程稱為聚類,將尋找描述數據統計值的過程稱為密度估計,此外,無監督學習還可以減少數據特征的維度,以便我們可以使用二維或三維圖形更加直觀地展示數據信息。
以下是機器學習的主要算法:
? ? ? ??監督學習:k-近鄰算法(KNN),樸素貝葉斯算法,支持向量機(SVM),決策樹
? ? ? ??線性回歸,局部加權線性回歸,Ridge回歸,Lasso最小回歸系數估計
? ? ? ??無監督學習:K-均值,DBSCAN,最大期望算法,Parzen窗設計
2. K-近鄰算法
? ? ? ??k-近鄰算法(KNN),是最基本的分類算法,其基本思想是采用測量不同特征值之間的距離方法進行分類。
? ? ? ??算法原理:存在一個樣本數據集合(訓練集),并且樣本集中每個數據都存在標簽(即每一數據與所屬分類的關系已知)。輸入沒有標簽的新數據后,將新數據的每個特征與樣本集中數據對應的特征進行比較(計算歐拉距離),然后提取樣本集中特征最相似數據(最近鄰)的分類標簽。一般會取前k個最相似的數據,然后取k個最相似數據中出現次數最多的標簽(分類)最后新數據的分類。
算法偽碼:

? ? ? ??對未知類別屬性的數據集中的每個點依次執行以下操作:1)計算已知類別數據集中的點與當前點之間的距離;2)按照距離遞增次序排序;3)選取與當前點距離最小的k個點;4)確定前k個點所在類別的出現頻率;5)返回前k個點出現頻率最高的類別作為當前點的預測分類。

包含分類和回歸

過程稱為密度估計

劃分到合適的分類中

樸素貝葉斯算法

国产69久久精品成人看,国产性色AV高清在线观看,国产亚洲Av综合人人澡精品,国产在线拍揄自揄拍无码