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