孫鵬 楊杉
(四川大學(xué)錦城學(xué)院 四川省成都市 611731)
大數(shù)據(jù)時代的到來,讓數(shù)據(jù)的處理、分析及挖掘成為了人們熱衷于研究的一大課題,各行各業(yè)都能通過數(shù)據(jù)挖掘從數(shù)據(jù)源中探尋出許多有用的潛在知識,而我們在進(jìn)行數(shù)據(jù)挖掘之前通常還會對數(shù)據(jù)進(jìn)行探索、預(yù)處理等一系列操作來對我們之后的工作奠定基礎(chǔ)。數(shù)據(jù)挖掘的主要方法有:分類、聚類、關(guān)聯(lián)分析、回歸預(yù)測。本文所使用到的K-means 算法就是一種無監(jiān)督學(xué)習(xí)的聚類算法,它是用于將數(shù)據(jù)劃分成不同的分組的方法。
足球起源于中國古代的“蹴鞠”。1958年7月,前國際足聯(lián)主席阿維蘭熱訪華時說,足球運(yùn)動最初起源于中國。他的這一說法于2004年得到了國際足聯(lián)的正式確認(rèn)[1]。亞足聯(lián)自1954年成立以來,現(xiàn)有46 個會員協(xié)會和1 個準(zhǔn)會員協(xié)會[2]。亞洲足球在世界范圍內(nèi)水平較弱,身處亞洲的我國在足球方面的成績也往往不理想,常常受到外界詬病。而為了客觀地反映國足在亞洲的真實(shí)水平,本文通過K-means 算法,來對亞洲各個球隊(duì)的排名進(jìn)行一個聚類研究,將亞洲球隊(duì)的排名數(shù)據(jù)進(jìn)行一個檔次的劃分,以此來觀察中國足球到底在亞洲層面屬于哪一檔次的球隊(duì)。
本文利用《虎撲體育》等專業(yè)足球網(wǎng)站收集和整理到了24 支進(jìn)入到2019年阿聯(lián)酋亞洲杯決賽圈的亞洲主流球隊(duì)的2020FIFA 排名、2019年亞洲杯排名以及2015年亞洲杯的排名,利用K-means算法進(jìn)行聚類研究,在大數(shù)據(jù)的剖析下客觀地反映國足在亞洲足壇的一個真實(shí)地位。
收集整理了24 支亞洲主流球隊(duì)2020FIFA 排名,2019年亞洲杯排名以及2015年亞洲杯的排名,首先從描述性統(tǒng)計結(jié)果看,F(xiàn)IFA 排名最高為28 名,僅僅剛踏入世界杯32 強(qiáng)的門檻而已,這也反映了在世界范圍內(nèi)亞洲足球整體處于非常落后的局勢。而2015年的亞洲杯有9 項(xiàng)缺失值,造成這一缺失的原因是首先2019年亞洲杯首次進(jìn)行進(jìn)行了擴(kuò)軍,從歷年的16 支增加到了24 支,而四年間各個國家的足球水平有著起伏,導(dǎo)致了某些球隊(duì)不一定都進(jìn)入到了這兩屆亞洲杯的決賽圈,所以沒有排名。
person 相關(guān)系數(shù)是一種準(zhǔn)確度量兩個變量之間的關(guān)系密切程度的統(tǒng)計學(xué)方法[3]。這里利用corr 函數(shù)計算person 相關(guān)性,得到了2020FIFA 排名與2019 亞洲杯排名的person 相關(guān)系數(shù)接近0.8,具有顯著的相關(guān)性。而將它們建立回歸模型,從圖1 中可以看到是呈現(xiàn)一個顯著的正向的線性關(guān)系。
圖1:線性回歸模型
圖2:“手肘”法折線圖
針對2015年亞洲杯排名中9 項(xiàng)缺失的數(shù)據(jù),由于本屆亞洲杯決賽圈只有16 支球隊(duì)參加,所以其余未進(jìn)入球隊(duì)的名次這里利用pandas 中的fillna 函數(shù)進(jìn)行填充,將沒有進(jìn)入到2015 亞洲杯決賽圈的球隊(duì)填充為17 名。
而由于k-means 算法采用距離度量相似度,需要做數(shù)據(jù)規(guī)范化,這里使用了Z-score 標(biāo)準(zhǔn)化[4]方法,消除因不同量綱級別而引起的誤差。
K-means 算法,是在1967年,由MacQueen J 提出的,一種用于對數(shù)據(jù)進(jìn)行聚類的算法[5],由于K-means 算法具有簡單且較為容易實(shí)現(xiàn)的特征,因此得到了各界的廣泛應(yīng)用。K-means 算法采用的是劃分法聚類技術(shù),一般來說用于p 維度連續(xù)空間中的對象聚類。該距離是用來作為相似性的評估指標(biāo),即,兩個對象之間的距離越接近,相似性就越大。
K-means 算法是一種無監(jiān)督學(xué)習(xí)的算法,它的大致流程為:
1.隨機(jī)的選擇k 個數(shù)據(jù)集合中的對象作為初始簇的中心點(diǎn);
2.對數(shù)據(jù)集合當(dāng)中的所有對象進(jìn)行遍歷,按照它們之間的相似性來判斷每一個數(shù)據(jù)對象應(yīng)該被分配到哪個簇當(dāng)中去。相似性一般用數(shù)據(jù)對象與聚類中心點(diǎn)之間的歐幾里得距離(即歐式距離)來衡量。距離越小,說明數(shù)據(jù)對象和聚類之間的相似性就越大。最后將數(shù)據(jù)對象分配到相似性最大的集群;
3.將每組中非中心點(diǎn)到聚類中心的平均值計算出來,然后作為新的聚類中心
4.將上述的步驟2 和步驟3 一直重復(fù)進(jìn)行,直到簇中心沒有改變或已經(jīng)達(dá)到最大迭代次數(shù)。
前文中提到了利用歐氏距離計算非中心點(diǎn)到中心點(diǎn)之間的距離,這是一種常見的用于度量空間中兩點(diǎn)之間距離的度量方式,歐氏距離公式為:
盡管K-means 算法具有簡單性和高效性的優(yōu)點(diǎn),但它也有缺點(diǎn)。K-means 算法通常存在兩類難以解決的問題:一是如何選擇合適的對象,作為初始的聚類中心;二是怎樣在一開始就把合適的k 值確定下來[6]。除此之外,研究者們還提出了不少改進(jìn)的K-means 算法,例如:Likas 和Vlassis 提出了全局的K-means 算法,該算法是一種有效的基于遞增思想的全局優(yōu)化方法,不依賴于任何初始參數(shù)[7]。優(yōu)化了初始類簇中心,能夠得到全局最優(yōu)解。但是,數(shù)據(jù)集中的簇數(shù),仍然需要輸入;Likas 和Tzortzis 共同提出了最小最大K-means 聚類算法,該算法以歐式距離為基礎(chǔ),聚類中心是選取了盡可能遠(yuǎn)的樣本點(diǎn),在選取初始值時,規(guī)避了可能會發(fā)生的聚類中心太過鄰近的這種情況,而且提高了劃分初始數(shù)據(jù)集的效率[8]。傳統(tǒng)的K-means算法在通過以上改進(jìn)的K-means 算法后在一定程度上彌補(bǔ)了某些方面的不足之處,取得了較為不錯的聚類效果。但是迄今為止,K-means算法仍然沒有一個合理的解決方法來同時解決自動確定初始k 值和選擇合適的初始聚類中心這兩個核心問題。
“手肘”法是一種確認(rèn)最優(yōu)k 值的方法,它利用的是SSE 和k值的關(guān)系圖來判斷的[9]。手肘法的主要思想為:在K-means 算法下,當(dāng)一個數(shù)據(jù)集進(jìn)行聚類時,隨著k 的值增大,會把數(shù)據(jù)集分割得越來越詳細(xì),聚類的中心不斷增多,SSE 逐漸減小。當(dāng)k 值小于真實(shí)的簇數(shù)時,隨著k 值繼續(xù)增加,SSE 值的下降率相對較大,關(guān)系圖顯示兩點(diǎn)之間的線會更陡。當(dāng)k 與真實(shí)聚類數(shù)相等時,隨著k 值的增大,SSE 值下降的速度會越來越慢,關(guān)系圖顯示兩點(diǎn)之間的線會變得平緩[10]。因此,SSE 值和k 值的圖形是一個類似“手肘型”的折線圖,拐點(diǎn)處的值(即位于“肘部”的臨界點(diǎn)的值)是最佳k 值。如圖2所示,k=3 即為折線圖的拐點(diǎn),因此對于此數(shù)據(jù)集,最佳簇數(shù)為3。
由“手肘”法得出的最佳聚類數(shù)k=3 放入模型中,開始對數(shù)據(jù)集進(jìn)行聚類:
data=df.iloc[:,1:]
kmeans=KMeans(n_clusters=3)
kmeans.fit(data)
kmeans.predict(data)
y_=kmeans.fit_predict(data)
最后通過聚類得出的結(jié)果:[日本,韓國,伊朗,澳大利亞,卡塔爾]為一梯隊(duì);[阿聯(lián)酋,越南,中國,約旦,烏茲別克斯坦,吉爾吉斯斯坦,巴林,伊拉克,沙特,阿曼,黎巴嫩,敘利亞]為一梯隊(duì);[泰國,巴勒斯坦,印度,菲律賓,土庫曼斯坦,也門,朝鮮]為一梯隊(duì);所以,在經(jīng)過K-means 聚類算法研究后,客觀上來說,中國足球在亞洲足壇中,雖然比不上日本、韓國、伊朗、澳大利亞、卡塔爾這些一流球隊(duì),但是再不濟(jì)也是屬于亞洲第二檔實(shí)力的球隊(duì),并沒有外界所貶低的那么差,并且近期國足利用國際足聯(lián)規(guī)則歸化了一批巴西籍球員,整體實(shí)力有所提升,我相信中國足球能夠繼續(xù)進(jìn)步,沖出亞洲,走向世界!