【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )
文章目錄
- I . K-NN 簡介
- II . K-NN 分類
- III . K-NN 分類實例
- IV . K-NN 分類 準確性評估方法
- V . 保持法
- VI . kkk-交叉確認法
- VII . K-NN 分類結果評價指標
- VIII . 分類 判定 二維表
- IX . 準確率
- X . 召回率
- XI . 準確率與召回率關聯
- XII . 準確率 與 召回率 綜合考慮
I . K-NN 簡介
K-NN 簡介 :
① 全稱 : K-NN 全稱是 K-Nearest Neighbors , 即 K 最近鄰 算法 ;
② 定義 : 給定查詢點 ppp , 找出離ppp 最近的 KKK 個點 , 找出所有的 qkq_kqk? 點 , qkq_kqk? 點的要求是 點到 ppp 的距離 小于其第 kkk 個鄰居的距離 ;
③ 理解方式 : 以 ppp 點為圓心畫圓 , 數一下圓內 , 和圓的邊上的點是由有 KKK 個 , 如果個數不足 KKK 個 , 擴大半徑 , 直到圓邊上和園內的點的個數大于等于 KKK 為止 ;
④ 圖示 : 紅色的點是 ppp 點 , 綠色的點是 ppp 點的 999 個最近的鄰居 , 圓上的綠點是第 999 個最近的鄰居 ;
II . K-NN 分類
K-NN 分類 :
① 已知條件 : 假設給定查詢點 ppp , 已經直到其 KKK 個最近鄰居 ;
② 分類內容 : K-NN 的目的是為了給查詢點 ppp 進行分類 ;
③ 數據集樣本抽象成點 : 將訓練集的數據樣本 , 當做 nnn 維空間中的的點 ;
④ 預測分類 : 給定一個未知樣本 ppp , 要給該位置樣本分類 , 首先以該未知樣本作為查詢點 , 以 ppp 點為中心 , 找到該樣本的點在 nnn 維空間中的 KKK 個近鄰 , 將這 KKK 個近鄰按照某個屬性的值進行分組 , 該未知樣本 ppp 被分到樣本最多的那個組 ;
III . K-NN 分類實例
為下面的紅色點進行分類 : 有兩種分類 , 綠色點的分類是 AAA , 和 紫色點的分類是 BBB , 為紅點進行分類 ;
1-NN 分類 : 此時 AAA 類別有 111 個 , BBB 類別有 000 個 , 紅色點被分為 AAA 類別 ;
3-NN 分類 : 此時 AAA 類別有 111 個 , BBB 類別有 222 個 , 紅色點被分為 BBB 類別 ;
9-NN 分類 : 此時 AAA 類別有 555 個 , BBB 類別有 222 個 , 紅色點被分為 AAA 類別 ;
15-NN 分類 : 此時 AAA 類別有 555 個 , BBB 類別有 999 個 , 紅色點被分為 BBB 類別 ;
K-NN 分類 準確度 : 數據量越大 , 準確度越高 ; K-NN 的思想是與周圍的大多數樣本保持一致 ;
IV . K-NN 分類 準確性評估方法
K-NN 分類準確性評估方法 : 保持法 , kkk-交叉確認法 , 這兩種方法是常用的 K-NN 評估分類準確率的方法 ;
V . 保持法
1 . 保持法 :
① 訓練集測試集劃分 : 將數據集樣本隨機分成兩個獨立的數據集 , 分別是用于訓練學習的訓練集 , 和用于驗證測試的測試集 ;
② 訓練集測試集 樣本比例 : 數據集劃分比例 , 通常是 , 訓練集 23\dfrac{2}{3}32? , 測試集 13\dfrac{1}{3}31? ;
③ 隨機劃分 : 劃分一定要保證隨機性 , 劃分時不能有任何偏好 ;
2 . 隨機選樣法 : 執行 KKK 次保持法 , 得到 KKK 個準確率 , 總體的準確率取這 KKK 次準確率的平均值 ;
3 . 隨機選樣法本質 : 保持法的另一種形式 , 相當于使用多次保持法 ;
VI . kkk-交叉確認法
1 . kkk-交叉確認法 : 首先要劃分數據集 , 然后進行 kkk 次訓練測試 , 最后計算出準確率 ;
2 . 劃分數據集 : 將數據集樣本劃分成 kkk 個獨立的子集 , 分別是 {S1,S2,?,Sk}\{ S_1 , S_2 , \cdots , S_k \}{S1?,S2?,?,Sk?} , 每個子集的樣本個數盡量相同 ;
3 . 訓練測試 :
① 訓練測試次數 : 訓練 kkk 次 , 測試 kkk 次 , 每次訓練都要對應一次測試 ;
② 訓練測試過程 : 第 iii 次訓練 , 使用 SiS_iSi? 作為測試集 , 其余 (k?1)(k-1)(k?1) 個子集作為訓練集 ;
4 . 訓練測試 示例 : 訓練 kkk 次 ;
第 111 次訓練 , 使用 S1S_1S1? 作為測試集 , 其余 (k?1)(k-1)(k?1) 個子集作為訓練集 ;
第 222 次訓練 , 使用 S2S_2S2? 作為測試集 , 其余 (k?1)(k-1)(k?1) 個子集作為訓練集 ;
?\vdots?
第 kkk 次訓練 , 使用 SkS_kSk? 作為測試集 , 其余 (k?1)(k-1)(k?1) 個子集作為訓練集 ;
5 . 準確率結果 :
① 單次訓練測試結果 : kkk 次測試訓練 , 每次使用 SiS_iSi? 作為測試集 , 測試的子集中有分類正確的 , 有分類錯誤的 ;
② 總體準確率 : kkk 次測試后 , 相當于將整個數據集的子集 {S1,S2,?,Sk}\{ S_1 , S_2 , \cdots , S_k \}{S1?,S2?,?,Sk?} 都當做測試集測試了一遍 , 將整體的數據集的樣本分類正確的樣本個數 YYY , 除以整體的樣本個數 TTT , 即可得到 kkk-交叉確認 準確率結果 YT\dfrac{Y}{T}TY? ;
VII . K-NN 分類結果評價指標
K-NN 分類結果評價指標 : ① 準確率 , ② 召回率 ;
VIII . 分類 判定 二維表
1 . 分類 判定二維表 : 這里引入二維表 , 這個二維表表示 人 和 機器 , 對樣本的判定情況 ;
| 機器判斷正確 | a | b |
| 機器判斷錯誤 | c | d |
2 . 樣本分類正確性分析 :
① 樣本分類的三種認知 : 樣本實際的分類 , 人認為的分類 , 機器認為的分類 ;
② 樣本的實際分類 : 樣本的實際分類是 AAA ;
③ 人的判斷 : 人認為該樣本分類是 AAA , 說明人判定正確 , 人如果認為該樣本分類為 BBB , 說明人判斷錯誤 ;
④ 機器的判斷 : 機器認為該樣本分類是 AAA , 說明機器判定正確 ; 機器如果認為該樣本分類為 BBB , 說明機器判斷錯誤 ;
3 . 表內數據含義 : 表格中的 a,b,c,da , b , c , da,b,c,d 值表示樣本的個數 ; :
① aaa 含義 : 表示 人判斷正確 , 機器判斷正確 的樣本個數 ; 數據集中人和機器同時分類正確的樣本個數 ;
② bbb 含義 : 表示 人判斷錯誤 , 機器判斷正確 的樣本個數 ; 數據集中人分類錯誤 , 機器分類正確的樣本個數 ;
③ ccc 含義 : 表示 人判斷正確 , 機器判斷錯誤 的樣本個數 ; 數據集中人分類正確 , 機器分類錯誤的樣本個數 ;
④ ddd 含義 : 表示 人判斷錯誤 , 機器判斷錯誤 的樣本個數 ; 數據集中人和機器同時分類錯誤的樣本個數 ;
IX . 準確率
1 . 準確率計算公式 :
P=aa+bP = \frac{a}{a + b}P=a+ba?
(a+b)(a + b)(a+b) 是 機器 分類正確 的樣本的總數 ;
aaa 是人和機器都認為正確的樣本個數;
2 . 準確率理解 : 機器分類正確的樣本中 , 哪些是真正正確的樣本 ; (a+b)(a + b)(a+b) 是機器認為正確的樣本 , 其中只有 aaa 個樣本是真正正確的 ;
X . 召回率
1 . 召回率計算公式 :
R=aa+cR = \frac{a}{a + c}R=a+ca?
(a+c)(a + c)(a+c) 是 人認為 分類正確 的樣本的總數 ;
aaa 是人和機器都認為正確的樣本個數;
2 . 召回率理解 : 人認為分類正確的樣本中 , 哪些是機器判定正確的 ; (a+c)(a + c)(a+c) 是人認為正確的樣本個數 , 機器認為正確的是 aaa 個樣本 ;
XI . 準確率與召回率關聯
準確率 與 召回率 關系 : 這兩個指標互相矛盾 ;
準確率 與 召回率 是互相影響的 , 準確率很高時 , 召回率很低 ;
準確率 100% 時 , 召回率很低 ; 召回率 100% 時 , 準確率很低 ;
XII . 準確率 與 召回率 綜合考慮
1 . 準確率 與 召回率 綜合考慮 :
F=1α1P+(1+α)1RF = \frac {1} { \alpha \dfrac{1}{P} + (1 + \alpha) \dfrac{1}{R} }F=αP1?+(1+α)R1?1?
將準確率 與 召回率放在 上述公式中計算 , PPP 是準確率 , RRR 是召回率 ;
α\alphaα 是一個系數 , 通常 α\alphaα 取值 0.50.50.5 ;
2 . α\alphaα 取值 0.50.50.5 時公式為 : 此時的度量指標叫做 F1F_1F1? 值 , 這個值經常作為 K-NN分類結果的度量指標 , 即考慮了準確率 , 又考慮了召回率 ;
F1=2PRP+RF_1 = \frac{2PR}{P + R}F1?=P+R2PR?
總結
以上是生活随笔為你收集整理的【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 应用开发】Androi
- 下一篇: 【数据挖掘】聚类算法 简介 ( 基于划分