1. 程式人生 > >測試數據科學家聚類技術的40個問題(附答案和分析)(轉)

測試數據科學家聚類技術的40個問題(附答案和分析)(轉)

sqs fib method 描述 只有一個 聚類分析 iap 角度 技術

技術分享

本文作者 Saurav Kaushik 是數據科學愛好者,還有一年他就從新德裏 MAIT 畢業了,喜歡使用機器學習和分析來解決復雜的數據問題。看看以下40道題目,測試下你能答對多少。

作者 | Saurav Kaushik

翻譯 | AI科技大本營(rgznai100)

介紹

創造出具有自我學習能力的機器——人們的研究已經被這個想法推動了十幾年。如果要實現這個夢想的話,無監督學習和聚類將會起到關鍵性作用。但是,無監督學習在帶來許多靈活性的同時,也帶來了更多的挑戰。

在從尚未被標記的數據中得出見解的過程中,聚類扮演著很重要的角色。它將相似的數據進行分類,通過元理解來提供相應的各種商業決策。在這次能力測試中,我們在社區中提供了聚類的測試,總計有1566人註冊參與過該測試。

總結果

下面是分數的分布情況,可以幫你評估你的表現:

技術分享

你也可以通過訪問這裏來查看自己的成績,超過390個人參加了測試,最高分數是33分。下面是對分數分布的部分統計。

https://datahack.analyticsvidhya.com/contest/clustering-skilltest/lb

總分布:

平均分:15.11

中位數:15

模型分數:16

相關資源:

An Introduction toClustering and different methods of clustering

https://www.analyticsvidhya.com/blog/2016/11/an-introduction-to-clustering-and-different-methods-of-clustering/

Getting yourclustering right (Part I)

https://www.analyticsvidhya.com/blog/2013/11/getting-clustering-right/

Getting yourclustering right (Part II)

https://www.analyticsvidhya.com/blog/2013/11/getting-clustering-right-part-ii/

Questions & Answers

Q1. 電影推薦系統是以下哪些的應用實例:

  1. 分類

  2. 聚類

  3. 強化學習

  4. 回歸

選項:

  1. 只有2

  2. 1和2

  3. 1和3

  4. 2和3

  5. 1 2 3

  6. 1 2 3 4

答案: E

一般來說,電影推薦系統會基於用戶過往的活動和資料,將用戶聚集在有限數量的相似組中。然後,從根本上來說,對同一集群的用戶進行相似的推薦。

在某些情況下,電影推薦系統也可以歸為分類問題,將最適當的某類電影分配給特定用戶組的用戶。與此同時,電影推薦系統也可以視為增強學習問題,即通過先前的推薦來改進以後的電影推薦。

Q2. 情感分析是以下哪些的實例:

  1. 回歸

  2. 分類

  3. 聚類

  4. 強化學習

選項:

  1. 只有1

  2. 1和2

  3. 1和3

  4. 1 2 3

  5. 1 2 4

  6. 1 2 3 4

答案:E

在基本水平上的情感分析可以被認為是將圖像、文本或語音中表示的情感,分類成一些情感的集合,如快樂、悲傷、興奮、積極、消極等。同時,它也可以被視為對相應的圖像、文本或語音按照從1到10的情感分數進行回歸。

另一種方式則是從強化學習的角度來思考,算法不斷地從過去的情感分析的準確性上進行學習,以此提高未來的表現。

Q3. 決策樹可以用來執行聚類嗎?

  1. 不能

答案:A

決策樹還可以用在數據中的聚類分析,但是聚類常常生成自然集群,並且不依賴於任何目標函數。

Q4. 在進行聚類分析之前,給出少於所需數據的數據點,下面哪種方法最適合用於數據清理?

  1. 限制和增加變量

  2. 去除異常值

選項:

  1. 1

  2. 2

  3. 1和2

  4. 都不能

答案:A

在數據點相對較少的時候,不推薦去除異常值,在一些情況下,對變量進行剔除或增加更合適。

Q5. 執行聚類時,最少要有多少個變量或屬性?

  1. 0

  2. 1

  3. 2

  4. 3

答案:B

進行聚類分析至少要有一個變量。只有一個變量的聚類分析可以在直方圖的幫助下實現可視化。

Q6. 運行過兩次的K均值聚類,是否可以得到相同的聚類結果?

答案:B

K均值聚類算法通常會對局部最小值進行轉換,個別時候這個局部最小值也是全局最小值,但這種情況比較少。因此,更建議在繪制集群的推斷之前,多次運行K均值算法。

然而,每次運行K均值時設置相同的種子值是有可能得出相同的聚類結果的,但是這樣做只是通過對每次的運行設置相同的隨機值來進行簡單的算法選擇。

Q7. 在K均值的連續叠代中,對簇的觀測值的分配沒有發生改變。這種可能性是否存在?

  1. 不好說

  2. 以上都不對

答案:A

當K均值算法達到全局或局部最小值時,兩次連續叠代所產生的數據點到簇的分配不會發生變化。

Q8. 以下哪項可能成為K均值的終止條件?

  1. 對固定數量的叠代。

  2. 在局部最小值不是特別差的情況下,在叠代中對簇觀測值的分配不發生變化。

  3. 在連續叠代中質心不發生變化。

  4. 當 RRS 下降到閾值以下時終止。

選項:

  1. 1 3 4

  2. 1 2 3

  3. 1 2 4

  4. 全部都是

答案:D

這四種條件都可能成為K均值聚類的終止條件:

  1. 這個條件限制了聚類算法的運行時間,但是在一些情況下,由於叠代次數不足,聚類的質量會很差。

  2. 在局部最小值不是特別差的情況下,會產生良好的聚類,但是運行時間可能相當長。

  3. 這種條件要確保算法已經收斂在最小值以內。

  4. 在 RRS 下降到閾值以下時終止,可以確保之後聚類的質量。實際上,這是一個很好的做法,在結合叠代次數的同時保證了K均值的終止。

Q9. 以下哪種算法會受到局部最優的聚焦問題的影響?

  1. K均值聚類算法

  2. 層次聚類算法

  3. 期望-最大化聚類算法

  4. 多樣聚類算法

選項:

  1. 1

  2. 2 3

  3. 2 4

  4. 1 3

  5. 1 2 4

  6. 以上都是

答案:D

在上面四個選項中,只有K均值聚類和期望-最大化聚類算法有在局部最小值出收斂的缺點。

Q10. 以下哪種算法對離群值最敏感?

  1. K均值聚類算法

  2. K中位數聚類算法

  3. K模型聚類算法

  4. K中心點聚類算法

答案:A

在上面給出的選項中,K均值聚類算法對離群值最敏感,因為它使用集群數據點的平均值來查找集群的中心。

Q11. 在對數據集執行K均值聚類分析以後,你得到了下面的樹形圖。從樹形圖中可以得出那些結論呢?

技術分享

  1. 在聚類分析中有28個數據點

  2. 被分析的數據點裏最佳聚類數是4

  3. 使用的接近函數是平均鏈路聚類

  4. 對於上面樹形圖的解釋不能用於K均值聚類分析

答案:D

樹形圖不可能用於聚類分析。但是可以根據K聚類分析的結果來創建一個簇狀圖。

Q12. 如何使用聚類(無監督學習)來提高線性回歸模型(監督學習)的準確性:

  1. 為不同的集群組創建不同的模型。

  2. 將集群的id設置為輸入要素,並將其作為序數變量。

  3. 將集群的質心設置為輸入要素,並將其作為連續變量。

  4. 將集群的大小設置為輸入要素,並將其作為連續變量。

選項:

  1. 1

  2. 1 2

  3. 1 4

  4. 3

  5. 2 4

  6. 以上都是

答案:F

將集群的 id 設置為序數變量和將集群的質心設置為連續變量,這兩項可能不會為多維數據的回歸模型提供更多的相關信息。但是當在一個維度上進行聚類分析時,上面給出的所有方法都有望為多維數據的回歸模型提供有意義的信息。舉個例子,根據頭發的長度將人們分成兩組,將聚類 ID 存儲為敘述變量,將聚類質心存儲為連續變量,這樣一來,多維數據的回歸模型將會得到有用的信息。

Q13. 使用層次聚類算法對同一個數據集進行分析,生成兩個不同的樹形圖有哪些可能的原因:

  1. 使用了接近函數

  2. 數據點的使用

  3. 變量的使用

  4. 只有B和C

  5. 以上都有

答案:E

接近函數、數據點、變量,無論其中哪一項的改變都可能使聚類分析產生不同的結果,並產生不同的樹狀圖。

Q14. 在下面的圖中,如果在y軸上繪制一條y=2的水平線,將產生多少簇?

技術分享

選項:

  1. 1

  2. 2

  3. 3

  4. 4

答案:B

因為在樹狀圖中,與 y=2 紅色水平線相交的垂直線有兩條,因此將形成兩個簇。

Q15. 根據下面的樹形圖,數據點所產生的簇數最可能是?

技術分享

選項

  1. 2

  2. 4

  3. 6

  4. 8

答案:B

通過觀察樹狀圖,可以很好的判斷出不同組的簇數。根據下圖,水平線貫穿過的樹狀圖中垂直線的數量將是簇數的最佳選擇,這條線保證了垂直橫穿最大距離並且不與簇相交。

技術分享

在上面的例子中,簇的數量最佳選擇是4,因為紅色水平線涵蓋了最大的垂直距離AB。

Q16. K均值聚類分析在下面哪種情況下無法得出好的結果?

  1. 具有異常值的數據點

  2. 具有不同密度的數據點

  3. 具有非環形的數據點

  4. 具有非凹形的數據點

選項:

  1. 1 2

  2. 2 3

  3. 2 4

  4. 1 2 4

  5. 1 2 3 4

答案:D

在數據包含異常值、數據點在數據空間上的密度擴展具有差異、數據點為非凹形狀的情況下,K均值聚類算法的運行結果不佳。

技術分享

Q17. 通過以下哪些指標我們可以在層次聚類中尋找兩個集群之間的差異?

  1. 單鏈

  2. 完全鏈接

  3. 平均鏈接

選項:

  1. 1 2

  2. 1 3

  3. 2 3

  4. 1 2 3

答案:D

通過單鏈接、完全鏈接、平均鏈接這三種方法,我們可以在層次聚類中找到兩個集群的差異。

Q18. 下面哪些是正確的?

  1. 特征性多重共線性對聚類分析有負面效應

  2. 異方差性對聚類分析有負面效應

選項:

  1. 1

  2. 2

  3. 1 2

  4. 以上都不是

答案:A

聚類分析不會受到異方差性的負面影響,但是聚類中使用的特征/變量多重共線性會對結果有負面的影響,因為相關的特征/變量會在距離計算中占據很高的權重。

Q19. 給定具有以下屬性的六個點:

技術分享

如果在層次聚類中使用最小值或單鏈接近函數,可以通過下面哪些聚類表示和樹形圖來描述?

  1. 技術分享

  2. 技術分享

  3. 技術分享

  4. 技術分享

答案:A

對於層級聚類的單鏈路或者最小化,兩個簇的接近度指的是不同簇中任何兩個點之間的距離的最小值。例如,我們可以從圖中看出點3和點6之間的距離是0.11,這正是他們在樹狀圖中連接而成的簇的高度。再舉一個例子,簇{3,6}和{2,5}之間的距離這樣計算:dist({3, 6}, {2, 5}) =min(dist(3, 2), dist(6, 2), dist(3, 5), dist(6, 5)) = min(0.1483, 0.2540,0.2843, 0.3921) = 0.1483.

Q20. 給定具有以下屬性的六個點:

技術分享

如果在層次聚類中使用最大值或完全鏈接接近函數,可以通過下面哪些聚類表示和樹形圖來描述?

  1. 技術分享

  2. 技術分享

  3. 技術分享

  4. 技術分享

答案:B

對於層級聚類的單鏈路或者最大值,兩個簇的接近度指的是不同簇中任何兩個點之間的距離的最大值。同樣,點3和點6合並在了一起,但是{3,6}沒有和{2,5}合並,而是和{4}合並在了一起。這是因為dist({3, 6}, {4}) = max(dist(3, 4), dist(6, 4)) = max(0.1513,0.2216) = 0.2216,它小於dist({3, 6}, {2, 5}) = max(dist(3,2), dist(6, 2), dist(3, 5), dist(6, 5)) = max(0.1483, 0.2540, 0.2843, 0.3921) =0.3921 and dist({3, 6}, {1}) = max(dist(3, 1), dist(6, 1)) = max(0.2218,0.2347) = 0.2347。

Q21. 給定具有以下屬性的六個點:

技術分享

如果在層次聚類中使用組平均值接近函數,可以通過下面哪些聚類表示和樹形圖來描述?

  1. 技術分享

  2. 技術分享

  3. 技術分享

  4. 技術分享

答案:C

對於層次聚類的的群平均值,兩個簇的接近度指的是不同集群中的每一對點對的近似值的平均值。這是最大值和最小值方法之間的中間方法,下面的等式可以表示:

技術分享

我們來計算一下某些簇之間的距離。dist({3, 6, 4}, {1}) = (0.2218 + 0.3688 + 0.2347)/(3 ? 1) = 0.2751,dist({2, 5}, {1}) = (0.2357 + 0.3421)/(2 ?1) = 0.2889. dist({3, 6, 4}, {2, 5}) = (0.1483 + 0.2843 + 0.2540 + 0.3921 +0.2042 + 0.2932)/(6?1) = 0.2637。因為dist({3, 6, 4}, {2, 5})小於dist({3, 6, 4},{1}) 和dist({2, 5}, {1}),所以這兩個簇在第四階段被合並到了一起。

Q22. 給定具有以下屬性的六個點:

技術分享

如果在層次聚類中使用 Ward 方法的接近函數,可以通過下面哪些聚類表示和樹形圖來描述?

  1. 技術分享

  2. 技術分享

  3. 技術分享

  4. 技術分享

答案:D

Ward 方法是一種質心算法。質心方法通過計算集群的質心之間的距離來計算兩個簇的接近度。對於 Ward 方法來說,兩個簇的接近度指的是當兩個簇合並時產生的平方誤差的增量。在6%的樣本數據集中,使用 Ward 方法產生的結果和使用最大值、最小值、組平均值的聚類結果會有所不同。

Q23. 根據下圖,簇的數量的最佳選擇是?

技術分享

  1. 1

  2. 2

  3. 3

  4. 4

答案:C

輪廓系數旨在將某個對象與自己的簇的相似程度和與其他簇的相似程度進行比較。輪廓系數最高的簇的數量表示簇的數量的最佳選擇。

Q24. 在聚類分析之前處理缺失值的有效叠代策略有哪些?

  1. 平均值插補法

  2. 由最近的值進行分配

  3. 用期望最大化算法進行插補

  4. 以上都是

答案:C

上面提到的所有方法都可以有效的在聚類分析之前處理缺失值,但是只有期望最大化算法是可以叠代的。

Q25. K均值算法有一些局限性。 其中的一個是,把一個點(完全屬於一個集群或根本不屬於一個集群的點)強制分配到一個集群。(註意:軟性分配可以被認為是被分配給每個聚類的概率:例如 K= 3 時對於一些點 Xn,p1 = 0.7,p2 = 0.2,p3 = 0.1)

下面哪些算法允許軟性分配?

  1. 高斯模糊模型

  2. 模糊K均值

選項:

  1. 1

  2. 2

  3. 1 2

  4. 以上都不是

答案:C

高斯模糊模型和模糊K均值都允許進行軟性分配。

Q26. 假設你想使用K均值聚類算法將7個觀測值聚類到3個簇中。在第一次叠代簇之後,C1、C2和C3具有以下觀測值:

C1: {(2,2), (4,4), (6,6)}

C2: {(0,4), (4,0)}

C3: {(5,5), (9,9)}

如果繼續進行第二次叠代,哪一個將成為集群的質心?

  1. C1: (4,4), C2: (2,2), C3: (7,7)

  2. C1: (6,6), C2: (4,4), C3: (9,9)

  3. C1: (2,2), C2: (0,0), C3: (5,5)

  4. 以上都不是

答案:A

找到集群中數據點的質心 C1 = ((2+4+6)/3,(2+4+6)/3) = (4, 4)

找到集群中數據點的質心 C2 = ((0+4)/2, (4+0)/2) =(2, 2)

找到集群中數據點的質心 C3 = ((5+9)/2, (5+9)/2) =(7, 7)

因此, C1: (4,4), C2: (2,2), C3: (7,7)

Q27. 假設你想用K均值聚類方法將7個觀測值聚類到3個簇中,在第一次叠代簇之後,C1、C2、C3具有以下觀測值:

C1: {(2,2), (4,4), (6,6)}

C2: {(0,4), (4,0)}

C3: {(5,5), (9,9)}

在第二次叠代中,觀測點(9,9)到集群質心C1的 Manhattan 距離是?

  1. 10

  2. 5 * sqrt(2)

  3. 13 * sqrt(2)

  4. 以上都不是

答案:A

(4,4)和(9,9)的 Manhattan 距離是:(9-4)+(9-4)= 10。

Q28. 如果聚類分析現在有兩個變量V1和V2,對於K均值分析(k=3)的描述,下面哪些是正確的?

  1. 如果V1和V2完全相關,簇的質心會在一條直線上

  2. 如果V1和V2完全不相關,簇的質心會在一條直線上

選項:

  1. 1

  2. 2

  3. 1 2

  4. 以上都不是

答案:A

如果變量V1和V2完全相關,那麽所有的數據點都會在同一條直線上,三個簇的質心也會在同一條直線上。

Q29. 應用K均值算法之前,特征縮放是一個很重要的步驟。這是為什麽呢?

  1. 在距離計算中,它為所有特征賦予相同的權重

  2. 不管你用不用特征縮放,你總是會得到相同的簇

  3. 在Manhattan距離中,這是重要的步驟,但是Euclidian中則不是

  4. 以上都不是

答案:A

特征縮放保證了在聚類分析中每一個特征都有同樣的權重。想象這樣一個例子,對體重範圍在55-100(kg)和身高在5.6到6.4(英寸)的人進行聚類分析。因為體重的範圍遠遠高於身高的範圍,如果不進行縮放,產生的簇會對結果產生誤導。因此,使它們具有相同的級別就顯得很有必要了,只有這樣才能保證聚類結果權重相同。

Q30. 為了在K均值算法中找到簇的最優值,可以使用下面哪些方法?

  1. Elbow 法

  2. Manhattan 法

  3. Ecludian 法

  4. 以上都是

  5. 以上都不是

答案:A

在上面給出的選項中,只有 Elbow 方法是用來尋找簇數的最優值的。方差百分比是一個與簇數有關的函數,Elbow 方法關註的就是方差百分比:分析時應該選擇多個簇,以便在添加另一個簇時,不會給出更好的數據建模。

Q31. 關於K均值聚類的描述正確的是?

  1. K均值對簇中心初始化非常敏感

  2. 初始化不良會導致收斂速度差

  3. 初始化不良可能導致整體聚集不良

選項:

  1. 1 3

  2. 1 2

  3. 2 3

  4. 1 2 3

答案:D

上面給出的三個描述都是正確的。K均值對簇中心初始化非常敏感。而且,初始化不良會降低收斂的速度差並會使得整體聚集效果不佳。

Q32. 可以用下面哪一種方法來獲得和全局最小值有關的K均值算法的良好結果?

  1. 試著運行不同的質心初始化算法

  2. 調整叠代的次數

  3. 找出最佳的簇數

選項:

  1. 2 3

  2. 1 3

  3. 1 2

  4. 以上都是

答案:D

上面列舉的所有選項都是為了獲得良好的聚類結果而采用的標準實踐。

Q33. 根據下圖的結果,簇的數量的最好選擇是?

技術分享

  1. 5

  2. 6

  3. 14

  4. 大於14

答案:B

根據上面的結果,使用 elbow 方法的簇數的最優選擇是6。

Q34. 根據下圖的結果,簇的數量的最好選擇是?

技術分享

  1. 2

  2. 4

  3. 6

  4. 8

答案:C

一般來說,平均輪廓系數越高,聚類的質量也相對較好。在這道題中,對於研究區域的網格單元,最優聚類數應該是2,這時平均輪廓系數的值最高。但是,聚類結果(k=2)的 SSE 值太大了。當 k=6 時,SEE 的值會低很多,但此時平均輪廓系數的值非常高,僅僅比 k=2 時的值低一點。因此,k=6 是最佳的選擇。

Q35. 對於在初始化中使用了 Forgy 方法的K均值算法,下面哪個順序是正確的?

  1. 指定簇的數量

  2. 隨機分配簇的質心

  3. 將每個數據點分配給最近的簇質心

  4. 將每個點重新分配給最近的簇質心

  5. 重新計算簇的質心

選項:

  1. 1 2 3 5 4

  2. 1 3 2 4 5

  3. 2 1 3 4 5

  4. 以上都不是

答案:A

用於K均值初始化的方法是 Forgy 和隨機分區。Forgy 方法從數據集中隨機選擇k個觀測值,並將其作為初始值。隨機分區方法是先隨機為每個觀測值分配一個簇,隨後進行更新,簇的隨機分配點的質心就是計算後得到的初始平均值。

Q36. 如果你要用具有期望最大化算法的多項混合模型將一組數據點聚類到兩個集群中,下面有哪些重要的假設?

  1. 所有數據點遵循兩個高斯分布

  2. 所有數據點遵循n個高斯分布(n>2)

  3. 所有數據點遵循兩個多項分布

  4. 所有數據點遵循n個多項分布(n>2)

答案:C

在聚類中使用期望最大化算法,本質是將數據點按照所選數量的簇進行分類,這個數量和預期生成的不同分布的數量是相同的,而且分布也必須是相同的類型。

Q37. 下面對基於質心的K均值聚類分析算法和基於分布的期望最大化聚類分析算法的描述,哪些是不正確的?

  1. 都從隨機初始化開始

  2. 都是可叠代算法

  3. 兩者對數據點的假設很強

  4. 都對異常值敏感

  5. 期望最大化算法是K均值的特殊情況

  6. 都需要對所需要的簇數有先驗知識

  7. 結果是不可再現的。

選項:

  1. 1

  2. 5

  3. 1 3

  4. 6 7

  5. 4 6 7

  6. 以上都不是

答案:B

上面的描述中只有第五個是錯的,K均值是期望最大化算法的特殊情況,K均值是在每次叠代中只計算聚類分布的質心。

Q38. 下面關於 DBSCAN 聚類算法的描述不正確的是?

  1. 集群中的數據點必須處於到核心點的距離閾限內

  2. 它對數據空間中數據點的分布有很強的假設

  3. 它具有相當高的時間復雜度O(n3)

  4. 它不需要預先知道期望出現的簇的數量

  5. 它對於異常值具有強大的作用

選項:

  1. 1

  2. 2

  3. 4

  4. 2 3

  5. 1 5

  6. 1 3 5

答案:D

DBSCAN 可以形成任意形狀的聚類,數據點在數據空間的分布很難預測。

DBSCAN 有比較低的時間復雜度 O(n log n)。

Q39. 以下哪項的F分數存在上限和下限?

  1. [0,1]

  2. (0,1)

  3. [-1,1]

  4. 以上都不是

答案:A

F分數的最小可能值是0,最大可能值是1。1表示每個數據點都被分配給了正確的聚類,0表示聚類分析的旋進和(或)回調為0。在聚類分析中,我們期望出現的是F分數的高值。

Q40. 下面是對6000個數據點進行聚類分析後聚集成的3個簇:A、B和C:

技術分享

集群B的F1分數是多少?

  1. 3

  2. 4

  3. 5

  4. 6

答案:D

True Positive, TP = 1200

True Negative, TN = 600 + 1600 = 2200

False Positive, FP = 1000 + 200 = 1200

False Negative, FN = 400 + 400 = 800

因此,

Precision = TP / (TP + FP) = 0.5

Recall = TP / (TP + FN) = 0.6

最後,

F1 = 2 * (Precision * Recall)/(Precision + recall) = 0.54 ~ 0.5

結語

真心希望這次測試的答案對你有用。本次測試的重點主要集中在概念、聚類基本原理以及各種技術的實踐知識等方面。

原文鏈接

https://www.analyticsvidhya.com/blog/2017/02/test-data-scientist-clustering/

轉自:https://mp.weixin.qq.com/s/wmqGCLAYYAPPmA86LhSbLw

測試數據科學家聚類技術的40個問題(附答案和分析)(轉)