机器学习之K-means聚类分析NBA球员案例
機器學習之K-means聚類分析NBA球員案例
本次案例利用k-means算法分析NBA球員球隊實力,具體采用2種方式實現案例,一種為自己實現,一種為調用sklearn庫,數據來源nba_2013.csv。
k-means的計算理解過程:
1.從集合D中隨機選取k個元素,作為k個簇的各自的中心;
2.分別計算剩下的元素到k個簇中心的相異度,將這些元素分別劃歸到相異度最低的簇;
3.根據聚類結果,重新計算k個簇各自的中心,計算方法是取簇中所有的元素各自維度的算術平均數;
4.將D中全部元素按照新的中心重新聚類;
5.重復第4步,直到聚類結果不再變化;
6.將結果輸出。
2.數據處理及分析
2.1.數據導入
導入數據集
Player-球員名稱
Age–年齡
Bref_team_id–戰隊名
程序編寫:
數據集內容輸出截圖:
2.2取出后衛的數據
程序編寫:
結果截圖:
2.3定義失誤次數及助攻次數
程序編寫:
結果圖展示:
使用K-means聚類時,
第一步:當k=5時,他會隨機選取5個點作為中心點,然后計算所有點到這5個點的距離
第二步:將每一個點劃到不同的簇
第三步:將每一個簇中的點計算橫縱坐標的均值,計算出新的中心點(可以是不是實際的點)
第四步:重新計算每一個點到中心點的距離,重新劃分屬于不同的簇
第五步:不斷的更新中心點,不斷的重新劃分簇,直到再怎么更新中心點,簇里的元素都不再發生變化了
2.4 隨機選出5個點并選出中心點
程序編寫:
2.5 編寫程序輸出初始化后的中心點
點位圖
2.6將中心點的信息保存再字典里:
結果截圖:
2.7計算距離 程序編寫
輸出距離值
2.8對所有數據選擇自己的中心點,進行分類
2.9對每行的數據進行比較,得出這一行數據最近的中心點,屬于這一簇
2.10將結果顯示出來
將分類的數據顯示出來
2.11重新計算中心點
2.12重新計算中心點,對所有點進行重新劃分中心點,并將分類的數據顯示出來
3、利用庫函數實現
導入數據:
from sklearn.cluster import KMeans
調用sklearn的庫函數,只需指定需要分類的個數
結果點位圖
總結
以上是生活随笔為你收集整理的机器学习之K-means聚类分析NBA球员案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你的服务器没有正确响应Token验证的解
- 下一篇: 使用centos7+bind9构建内网私