NBA球員數據集聚類分析

2020-12-15 北京圖靈學院

Hello大家好,今天為大家送上Kmeans聚類算法的案例,圖片處理與NBA群員信息的分析。

Kmeans算法是非監督的學習裡面的一個經典算法,也是一個典型的基於距離的非層次聚類算法,在小化誤差函數的基礎上,將數據劃分為預定的類數K(這個k我們稍後說),採用距離作為相似性的評價指標,及認為倆個對象的距離越近,其相似度越高。

可能大家有點懵,這個Kmeans到底是什麼呢,其實他就是我們的扎堆算法(個人定義的),為啥這麼說呢,大家都知道人以類似物以群分,在我們拿到一堆數據集後這堆數據集沒有我們所需要的標籤,這時候我們就需要將相似度高的分為一組(專業術語稱之為一簇),而分為多少簇呢就是這個K;比如上學時老師根據學習成績和平時表現將學生分為學霸,學酥,學渣等;在比如利用國家個城市的經濟,醫療等數據將其劃分為幾種不同的貧富等級(如發達,欠發達,貧困,特貧困等)

當然,聚類算法不僅僅可以將數據實現分割,還可以用於異常點的監控,所謂的異常點就是遠離任何簇的樣本,而這些樣本往往就是需要關注的點,例如信用卡交易中的監控。

Kmeans算法其實就是這麼簡單,並沒有太多的複雜的數學公式,接下來我們看看該算法的集體過程:

注意:聚類的結果可能依賴於初始聚類中心的隨機選擇,可能使得結果嚴重偏離全局最優分類。在實際應用中為了得到較好的結果,通常以不同的初始聚類中心多次運行Kmeans算法。

下圖為Kmeans聚類示意圖:

說了這麼多,有人可能就開始鬱悶啦,鬱悶那個K到底取多少呢,這個K的確定也是Kmeans裡面的一個難點,通常會選用探索法,即給定不同的K值下,對比某些評估指標的變動情況,進而選擇一個比較合理的K值。那麼我帶大家簡單看看我們常用最佳K值確定的幾種方法:

1. 拐點法

2. 輪廓係數法

3. 間隔統計量法

嗯,就是這三種方法,由於篇幅有限,只能先告訴大家這三種方法,我們改天在詳談這個三種方法,先給大家來個有意思的案例,那就是依舊我們的Kmeans算法進行圖片的聚類,其實就是按照像素進行聚類;

如下:

我們利用sklearn庫導入了一張笑臉圖片,然後通過聚類分析得到處理壓縮後的圖片

最終效果圖為:

哈哈哈,自己也被驚著啦,因為此處處理的時候將一張三維的圖片拉成了一張二維的所以他變得如此之醜陋

沒關係接下來我們看看利用聚類算法對NBA球員進行聚類分析:

先對球員數據進行讀取(數據來源於虎撲)

從數據集來看,得分,命中率,罰球命中率等都為數值型變量,並且量綱也不一樣,谷需要對數據集做標準化處理,此處挑選得分,命中率,三分命中率和發球命中率4個維度用於球員得分與命中率之間的散點圖,便於後文比對聚類後的效果

通過肉眼似乎如法直接對這286名球員進行分割,如果要將這些球員聚類的話,該劃分為幾類計較合適呢,通過利用前面介紹的三種選擇k的方法,對該數據集進行測試:

使用輪廓係數選擇最佳的K值

使用間隙統計量選擇最佳的K值

通過上述方法我們最終得到K的值為3.

重新繪製球員與命中率之間的散點圖

如上圖,三類散點圖看上去很有規律,其中五角星代表各個簇的中心,對比正方形和圓行的點,他們之間的差異主要體現在命中率上,正方形所代表的球員屬於低得分低命中率型,命中率普遍在百分之50以下,圓形所代表的球員屬於低得分高命中率型,在對比正方形和三角形的點,他們的差異體現在得分上,三角形所代表的球員屬於高得分低命中率型,當然行圖中也能發現幾個強悍的球員高得分高命中率

最後看看三類球員的雷達圖,比對四個指標上的差異

如上圖,三個群體的球員在各個維度上還是存在差異的,以C2和C3舉例,他們的平均得分並沒有顯著差異,但是C3的命中率卻比C2高很多,在從平均的罰球命中率和三分命中率來看,C2類的球員普遍比C3類球員強一些。

相關焦點

  • nba貧富差有多大?揭秘nba最底層球員的生活,林書豪曾睡隊友沙發
    nba是全世界籃球水平最高的地方,他受到了來自全世界籃球迷的關注,而其本身也是一個巨大的商業聯盟,因此在很多球迷的眼裡,那些在nba裡面打球的球員只要能夠進入nba就十分有錢了,如果還能打出不錯的成就那麼他就是人生的贏家,這樣的結論是怎麼來的呢?其實很簡單很直接。
  • NBA前十位球員排名!
    今天小編想用自己看球多年的想法來列出nba前十位球員!來看一看,和你們想的有沒有差別。第十位!杜蘭特。在雷霆時期是小編最喜歡的球員之一。(當然,nba怪物很多..)他當年與韋斯特布魯克,哈登組成的「雷霆三少」殺入總決賽,又在2016年西部決賽面對勇士3-1領先... 當然被翻盤了。之後杜蘭特選擇了那條最難的路。那個夏天小編的直覺是杜蘭特可能會去凱爾特人或者留在雷霆。上一個賽季是否被打敗這不重要。重要的是,這支勇士隊是上上個賽季的總冠軍,上個賽季也拿到了常規賽73勝。
  • R語言 vs Python:數據分析哪家強?(1)
    我們會平行使用Python和R分析一個數據集,展示兩種語言在實現相同結果時需要使用什麼樣的代碼。這讓我們了解每種語言的優缺點,而不是猜想。在Dataquest,我們教授兩種語言,並認為兩者在數據科學工具箱中都佔據各自的地位。我們將會分析一個NBA數據集,包含運動員和他們在2013-2014賽季的表現,可以在這裡下載這個數據集。
  • R vs Python:硬碰硬的數據分析
    我們會平行使用Python和R分析一個數據集,展示兩種語言在實現相同結果時需要使用什麼樣的代碼。這讓我們了解每種語言的優缺點,而不是猜想。在Dataquest,我們教授兩種語言,並認為兩者在數據科學工具箱中都佔據各自的地位。 我們將會分析一個NBA數據集,包含運動員和他們在2013-2014賽季的表現,可以在這裡下載這個數據集。
  • ArcGIS聚類分析
    01 概述 聚類分析,Cluster analysis,亦稱為群集分析,是對於統計數據分析的一門技術,在許多領域受到廣泛應用,包括機器學習,數據挖掘,模式識別,圖像分析以及生物信息。
  • python數據分析萬字乾貨!一個數據集全方位解讀pandas
    但是,如何確定數據集包含NBA的哪些統計數據?到目前為止,我們僅看到了數據集的大小及前幾行數據。接下來我們來系統地檢查數據。使用以下命令顯示所有列及其數據類型.info():>>> nba.info()
  • 【好文翻譯】R vs Python:硬碰硬的數據分析
    我們會平行使用Python和R分析一個數據集,展示兩種語言在實現相同結果時需要使用什麼樣的代碼。這讓我們了解每種語言的優缺點,而不是猜想。在Dataquest,我們教授兩種語言,並認為兩者在數據科學工具箱中都佔據各自的地位。 我們將會分析一個NBA數據集,包含運動員和他們在2013-2014賽季的表現,可以在這裡下載這個數據集。我
  • NBA與Stata
    今天,小編通過nba2stata這個命令,拿到NBA球員的賽場數據,來感受球隊領袖那殺手般的意志。nba2stata是外部命令,需要使用search nba2stata查找並安裝。nba2stata共有四個語法結構,分別是:(1)抓取球員比賽數據。
  • 安全數據的聚類分析和判別分析概述
    1 聚類分析的基本原理1)聚類分析的含義聚類分析是根據「物以類聚」的原理,對樣品或指標進行分類的一種多元統計分析方法,將安全統計對象的集合分成多個類的分析過程。通常聚類分析可分為Q型聚類和R型聚類,Q型聚類是對樣品進行分類處理,R型聚類是對變量進行分類處理。本章只討論Q型聚類分析。2)聚類與分類的區別分類是有指導的學習,聚類是一種無指導的學習通過一定的方法在逐步分類過程中將沒有類標誌的安全統計數據聚集成有意義的類。
  • 聚類分析中的可視化
    ,我們需要使用聚類分析來發現數據的模式。便於理解聚類分析的結果或者效果,如何對聚類分析做可視化呢?解決方法library(pacman)p_load(factoextra)data("USArrests")?
  • 聚類分析及其實現
    對於用戶(以個體為中心的)分類的方法主要有潛在類別分析和聚類分析。聚類分析(Cluster analysis)是對一組對象進行分組的方法。它基於這樣一種假設,相對於其它類的對象,同一類中的對象有著更高的相似性。組內相似性越大,組間差距越大,說明聚類效果越好。
  • 一句順口溜說出了NBA最偉大的十位球員!
    一神:(喬丹)喬丹是nba歷史上最偉大的球員,曾經率隊奪得三連冠,然後退役。不過兩年之後又重新復出,再次帶隊奪得三連冠,喬丹的故事就是一個神話。他也被稱為籃球之神。二勾:(賈巴爾)賈巴爾是nba歷史級別的中鋒,一手勾手絕活吃遍全聯盟。
  • nba球員高中大學高得分比賽,第一期
    nba球員高中大學高得分比賽,第一期 nba球員有很多人在進nba前已經是很厲害的砍分高手,下面我來介紹下,一些球員在高中大學時候的高得分比賽。1.勒布朗.詹姆斯 LeBron James
  • 聚類分析的基本概況
    聚類分析是細分市場的有效工具,同時也可用於研究消費者行為,尋找新的潛在市場、選擇實驗的市場,並作為多元分析的預處理。 2.在生物上:聚類分析被用來動植物分類和對基因進行分類,獲取對種群固有結構的認識。 3.在地理上:聚類能夠幫助在地球中被觀察的資料庫商趨於的相似性。
  • NBA球員們的奇葩時刻:詹皇保羅被氣死,他迷之表情載入史冊
    NBA球員們的奇葩時刻:詹皇保羅被氣死,他迷之表情載入史冊大家都知道nba球員,在nba賽場上打一場比賽,需要堅持48分鐘。可以說這48分鐘,他們都要保持高度的注意力。因為nba的比賽一方面是身體的對抗和球技的考驗。而另一方面也是對精神的一種考驗。而在nba賽場上,不是每名球員都能保持48分鐘的專注。他們就鬧出了一些搞笑的事情。我們來一起看一下。首先來看離我們最近的今年總決賽第一場比賽。總決賽第一場比賽,騎士隊發揮非常出色。他們也是一直緊咬比分。與勇士隊不相上下。直到比賽的最後時刻。騎士隊落後一分。
  • 歡迎來到nba動物園,大蟲小蟲可還行,nba球員的那些動物綽號!
    歡迎來到nba動物園,大蟲小蟲可還行,nba球員的那些動物綽號!
  • R語言從入門到精通:Day15(聚類分析)
    - 測試數據和代碼見文末客服二維碼聚類分析是一種數據歸約技術,旨在揭露一個數據集中觀測值的子集。它可以把大量的觀測值歸約為若干個類。層次聚類的測試數據集主要來自於包flexclust中的數據集nutrient。採用平均聯動的聚類結果如圖1。圖1:平均聯動聚類結果
  • spss聚類分析功能怎麼使用?spss聚類分析教程
    spss 是一個非常好用的統計分析軟體,spss有一個聚類分析的功能哦,但是很多人不知道spss聚類分析功能怎麼使用?spss聚類分析是一個將case分析的數據的功能哦,下面小編就來告訴大家spss聚類分析使用教程吧!
  • 數據運營實操 | 如何用聚類分析進行企業公眾號的內容優化
    所以,在開始正文前,先說下本文的布局,讓大家有個心理準備:先講講聚類分析的一些基本原理,為接下來的數據分析做好理論儲備;關於微信文章/內容評估體系的建立和數據的抓取,為接下來的數據分析提供上等「原料」;案例實操,用鮮活的實際案例將方法落地,讓大家在一個案例裡徹底搞明白聚類分析這一方法;應用延伸,一通百通—除了微信內容優化可以用,聚類分析還可以用在