測試使用K-最近鄰(kNN)算法的30個問題

做者|SUNIL RAY
編譯|Flin
來源|analyticsvidhya算法

介紹

若是你要問我機器學習中2種最直觀的算法——那就是k最近鄰(kNN)和基於樹的算法。二者都易於理解,易於解釋,而且很容易向人們展現。有趣的是,上個月咱們對這兩種算法進行了技能測試。機器學習

若是你不熟悉機器學習,請確保在瞭解這兩種算法的基礎上進行測試。它們雖然簡單,可是功能強大,而且在工業中獲得普遍使用。此技能測試將幫助你在k最近鄰算法上進行自我測試。它是專爲你測試有關kNN及其應用程序的知識而設計的。函數

超過650人註冊了該測試。若是你是錯過這項技能測試的人之一,那麼這篇文章是測試問題和解決方案。這是參加考試的參與者的排行榜。性能

有用的資源

這裏有一些資源能夠深刻了解該主題。學習

技能測試問答

1) k-NN算法在測試時間而不是訓練時間上進行了更多的計算。

A)真
B)假測試

解決方案:A.net

該算法的訓練階段僅包括存儲訓練樣本的特徵向量和類別標籤。設計

在測試階段,經過分配最接近該查詢點的k個訓練樣本中最頻繁使用的標籤來對測試點進行分類——所以須要更高的計算量。3d

2)假設你使用的算法是k最近鄰算法,在下面的圖像中,____將是k的最佳值。

A) 3
B) 10
C) 20
D) 50
解決方案:Brest

當k的值爲10時,驗證偏差最小。

3)在k-NN中不能使用如下哪一個距離度量?

A) Manhattan
B) Minkowski
C) Tanimoto
D) Jaccard
E) Mahalanobis
F)均可以使用

解決方案:F

全部這些距離度量均可以用做k-NN的距離度量。

4)關於k-NN算法,如下哪一個選項是正確的?

A)可用於分類
B)可用於迴歸
C)可用於分類和迴歸

解決方案:C

咱們還能夠將k-NN用於迴歸問題。在這種狀況下,預測能夠基於k個最類似實例的均值或中位數。

5)關於k-NN算法,如下哪一個陳述是正確的?

  1. 若是全部數據的比例均相同,則k-NN的效果會更好
  2. k-NN在少數輸入變量(p)下工做良好,但在輸入數量很大時會遇到困難
  3. k-NN對所解決問題的函數形式沒有任何假設

A)1和2
B)1和3
C)僅1
D)以上全部

解決方案:D

以上陳述是kNN算法的假設

6)下列哪一種機器學習算法可用於估算分類變量和連續變量的缺失值?

A)K-NN
B)線性迴歸
C)Logistic迴歸

解決方案:A

k-NN算法可用於估算分類變量和連續變量的缺失值。

7)關於曼哈頓距離,如下哪項是正確的?

A)可用於連續變量
B)可用於分類變量
C)可用於分類變量和連續變量
D)無

解決方案:A

曼哈頓距離是爲計算實際值特徵之間的距離而設計的。

8)對於k-NN中的分類變量,咱們使用如下哪一個距離度量?

  1. 漢明距離
  2. 歐氏距離
  3. 曼哈頓距離

A)1
B)2
C)3
D)1和2
E)2和3
F)1,2和3

解決方案:A

在連續變量的狀況下使用歐氏距離和曼哈頓距離,而在分類變量的狀況下使用漢明距離。

9)如下哪一個是兩個數據點A(1,3)和B(2,3)之間的歐幾里得距離?

A)1
B)2
C)4
D)8

解決方案:A

sqrt((1-2)^ 2 +(3-3)^ 2)= sqrt(1 ^ 2 + 0 ^ 2)= 1

10)如下哪一個是兩個數據點A(1,3)和B(2,3)之間的曼哈頓距離?

A)1
B)2
C)4
D)8

解決方案:A

sqrt(mod((1-2))+ mod((3-3)))= sqrt(1 + 0)= 1

內容:11-12

假設你給出瞭如下數據,其中x和y是2個輸入變量,而Class是因變量。

如下是散點圖,顯示了2D空間中的上述數據。

11)假設你要使用3-NN中的歐氏距離來預測新數據點x = 1和y = 1的類別。該數據點屬於哪一個類別?

A)+ 類
B)– 類
C)不能判斷
D)這些都不是

解決方案:A

全部三個最近點均爲 + 類,所以此點將歸爲+ 類。

12)在上一個問題中,你如今要使用7-NN而不是3-KNN,如下x = 1和y = 1屬於哪個?

A)+ 類
B)– 類

C)不能判斷

解決方案:B

如今,此點將歸類爲 – 類,由於在最近的圓圈中有4個 – 類點和3個 + 類點。

內容13-14:

假設你提供瞭如下2類數據,其中「+」表明正類,「-」表明負類。

13)k-NN中k的如下哪一個k值會最小化留一法交叉驗證的準確性?

A)3
B)5
C)二者都相同
D)沒有一個

解決方案:B

5-NN將至少留下一個交叉驗證錯誤。

14)如下哪一項是k = 5時不進行交叉驗證的準確性?

A)2/14
B)4/14
C)6/14
D)8/14
E)以上都不是

解決方案:E

在5-NN中,咱們將有10/14的交叉驗證精度。

15)關於k-NN中的k,根據誤差,如下哪一項是正確的?

A)當你增長k時,誤差會增長
B)當你減小k時,誤差會增長
C)不能判斷
D)這些都不是

解決方案:A

大K表示簡單模型,簡單模型始終被視爲高誤差

16)關於方差k-NN中的k,如下哪一項是正確的?

A)當你增長k時,方差會增長
B)當你減小k時,方差會增長
C)不能判斷
D)這些都不是

解決方案:B

簡單模型將被視爲方差較小模型

17)如下兩個距離(歐幾里得距離和曼哈頓距離)已經給出,咱們一般在K-NN算法中使用這兩個距離。這些距離在點A(x1,y1)和點B(x2,Y2)之間。

你的任務是經過查看如下兩個圖形來標記兩個距離。關於下圖,如下哪一個選項是正確的?

A)左爲曼哈頓距離,右爲歐幾里得距離
B)左爲歐幾里得距離,右爲曼哈頓距離
C)左或右都不是曼哈頓距離
D)左或右都不是歐幾里得距離
解決方案:B

左圖是歐幾里得距離的工做原理,右圖是曼哈頓距離。

18)當你在數據中發現噪聲時,你將在k-NN中考慮如下哪一個選項?

A)我將增長k的值
B)我將減小k的值
C)噪聲不能取決於k
D)這些都不是

解決方案:A

爲了確保你進行的分類,你能夠嘗試增長k的值。

19)在k-NN中,因爲維數的存在,極可能過分擬合。你將考慮使用如下哪一個選項來解決此問題?

  1. 降維
  2. 特徵選擇

A)1
B)2
C)1和2
D)這些都不是

解決方案:C

在這種狀況下,你可使用降維算法或特徵選擇算法

20)如下是兩個陳述。如下兩個陳述中哪一項是正確的?

  1. k-NN是一種基於記憶的方法,即分類器會在咱們收集新的訓練數據時當即進行調整。
  2. 在最壞的狀況下,新樣本分類的計算複雜度隨着訓練數據集中樣本數量的增長而線性增長。

A)1
B)2
C)1和2
D)這些都不是

解決方案:C

21)假設你給出瞭如下圖像(左1,中2和右3),如今你的任務是在每一個圖像中找出k-NN的k值,其中k1表明第1個圖,k2表明第2個圖,k3是第3個圖。

A)k1 > k2 > k3
B)k1 < k2
C)k1 = k2 = k3
D)這些都不是

解決方案:D

k值在k3中最高,而在k1中則最低

22)在下圖中,下列哪個k值能夠給出最低的留一法交叉驗證精度?

A)1
B)2
C)3
D)5
解決方案:B

若是將k的值保持爲2,則交叉驗證的準確性最低。你能夠本身嘗試。

23)一家公司創建了一個kNN分類器,該分類器在訓練數據上得到100%的準確性。當他們在客戶端上部署此模型時,發現該模型根本不許確。如下哪項可能出錯了?

注意:模型已成功部署,除了模型性能外,在客戶端沒有發現任何技術問題

A)多是模型過擬合
B)多是模型未擬合
C)不能判斷
D)這些都不是

解決方案:A

在一個過擬合的模塊中,它彷佛會在訓練數據上表現良好,但它還不夠廣泛,沒法在新數據上給出相同的結果。

24)你給出瞭如下2條語句,發如今k-NN狀況下哪一個選項是正確的?

  1. 若是k的值很是大,咱們能夠將其餘類別的點包括到鄰域中。
  2. 若是k的值過小,該算法會對噪聲很是敏感

A)1
B)2
C)1和2
D)這些都不是

解決方案:C

這兩個選項都是正確的,而且都是不言而喻的。

25)對於k-NN分類器,如下哪一個陳述是正確的?

A) k值越大,分類精度越好

B) k值越小,決策邊界越光滑

C) 決策邊界是線性的

D) k-NN不須要顯式的訓練步驟

解決方案:D

選項A:並不是老是如此。你必須確保k的值不要過高或過低。

選項B:此陳述不正確。決策邊界可能有些良莠不齊

選項C:與選項B相同

選項D:此說法正確

26)判斷題:可使用1-NN分類器構造2-NN分類器嗎?

A)真
B)假

解決方案:A

你能夠經過組合1-NN分類器來實現2-NN分類器

27)在k-NN中,增長/減小k值會發生什麼?

A) K值越大,邊界越光滑

B) 隨着K值的減少,邊界變得更平滑

C) 邊界的光滑性與K值無關

D) 這些都不是

解決方案:A

經過增長K的值,決策邊界將變得更平滑

28)如下是針對k-NN算法給出的兩條陳述,其中哪一條是真的?

  1. 咱們能夠藉助交叉驗證來選擇k的最優值
  2. 歐氏距離對每一個特徵一視同仁

A)1
B)2
C)1和2
D)這些都不是

解決方案:C

兩種說法都是正確的

內容29-30:假設你已經訓練了一個k-NN模型,如今你想要對測試數據進行預測。在得到預測以前,假設你要計算k-NN用於預測測試數據類別的時間。

注意:計算兩個觀測值之間的距離將花費時間D。

29)若是測試數據中有N(很是大)的觀測值,則1-NN將花費多少時間?

A)N * D
B)N * D * 2
C)(N * D)/ 2
D)這些都不是

解決方案:A

N的值很是大,所以選項A是正確的

30)1-NN,2-NN,3-NN所花費的時間之間是什麼關係。

A)1-NN > 2-NN > 3-NN
B)1-NN < 2-NN < 3-NN
C)1-NN ~ 2-NN ~ 3-NN
D)這些都不是

解決方案:C

在kNN算法中,任何k值的訓練時間都是相同的。

整體分佈

如下是參與者的分數分佈:

你能夠在此處(https://datahack.analyticsvidhya.com/contest/skilltest-logistics-regression/#LeaderBoard) 訪問分數。超過250人蔘加了技能測試,得到的最高分是24。

原文連接:https://www.analyticsvidhya.com/blog/2017/09/30-questions-test-k-nearest-neighbors-algorithm/

歡迎關注磐創AI博客站:
http://panchuang.net/

sklearn機器學習中文官方文檔:
http://sklearn123.com/

歡迎關注磐創博客資源彙總站:
http://docs.panchuang.net/

相關文章
相關標籤/搜索