轉(zhuǎn)帖|實(shí)施案例|編輯:龔雪|2017-04-26 13:52:40.000|閱讀 409 次
概述:眾所周知,籃球隊(duì)分為大前鋒、小前鋒、得分后衛(wèi)、控球后衛(wèi)和中鋒五個位置,雖然現(xiàn)在無位置籃球正在興起,但是我們還是可以用球員的歷史數(shù)據(jù)來預(yù)測它的位置。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
引言:
眾所周知,籃球隊(duì)分為大前鋒、小前鋒、得分后衛(wèi)、控球后衛(wèi)和中鋒五個位置,雖然現(xiàn)在無位置籃球正在興起,但是我們還是可以用球員的歷史數(shù)據(jù)來預(yù)測它的位置。在這里我們就是要對球員進(jìn)行一個多分類,方法選用經(jīng)典的決策樹和它們的集成方法——隨機(jī)森林。接下來我們先看一下這五個位置各有什么特點(diǎn),當(dāng)然你可能比我更清楚這些內(nèi)容,但是我們也不是在做無用功,注意加重的文字,我們就從這些里面選擇特征。
中鋒一般都是整支球隊(duì)中最高的,能夠進(jìn)行激烈的身體對抗,負(fù)責(zé)籃板和阻攔,得分方式主要靠勾手、跳投和扣籃。
平均身高:6’11.25″
平均體重:257 lbs
控衛(wèi)一般都是最矮的球員,應(yīng)該具有優(yōu)秀的過人能力和控球能力,而不是作為主要投手。一般控衛(wèi)都是在攻防轉(zhuǎn)換中帶球過場的那個人,在進(jìn)攻和防守之間控制好球權(quán)。優(yōu)秀的控衛(wèi)在助攻和搶斷上數(shù)據(jù)很好看。
平均身高:6’2
平均體重:189 lbs
得分后衛(wèi)一般比控衛(wèi)要高一點(diǎn)但還是要比前鋒矮,他的定位是全隊(duì)的最佳投手,在其他隊(duì)友的掩護(hù)下投籃得分,也要足夠靈活分擔(dān)控衛(wèi)的職責(zé)。
平均身高:6’5.25″
平均體重:209 lbs
小前鋒被視為是進(jìn)攻時的全能球員,既要足夠強(qiáng)轉(zhuǎn)可以在內(nèi)線對抗又要足夠靈活足夠在外線馳騁,能夠在外線和內(nèi)線都具有較強(qiáng)的得分能力。
平均身高:6’7.75″
平均體重:225 lbs
大前鋒是一個既要身體高大強(qiáng)壯,還要有一定的速度,能夠積極進(jìn)攻并搶得籃板。
平均身高:6’9.5″
平均體重:246 lbs
我們選擇了15個變量來進(jìn)行:
在分析之前,我們先來看一些變量在不同位置中的分布,從而判斷什么變量可以幫助我們區(qū)分不同的位置。以下幾個可視化的圖表顯示了這15個變量的分布。可以清晰地發(fā)現(xiàn),中鋒和大前鋒在籃板和蓋帽的數(shù)量上獨(dú)領(lǐng)風(fēng)騷,這就很可能成為決策樹的分支變量。更加顯著的是助攻數(shù)據(jù),看到這里我認(rèn)為要獲得一個高的預(yù)測準(zhǔn)確度還是容易達(dá)到的。
決策樹類似于一個向你問問題的機(jī)器。比如我們有一個新球員,要預(yù)測他的位置。決策樹就會問:“它的總籃板數(shù)是多少”,然后你給它一個答案,它向你問的下一個問題是基于上一個問題的答案,直到他問的問題足夠多以后他不會再問了而是告訴你這個球員會打什么位置。決策樹很好理解而且做出來的圖也很直觀。
混淆矩陣顯示中鋒和大前鋒預(yù)測正確率在50%左右,因?yàn)?這兩個位置往往可替代性很強(qiáng),混淆的部分也很大。我們也看到了控衛(wèi)的預(yù)測正確率有80%。做的這里我就想隨機(jī)森林的結(jié)果一定會更好。
過擬合是指一個模型訓(xùn)練的程度過頭了,導(dǎo)致這了模型把很多因?yàn)槌闃铀鶐淼碾S機(jī)因素考慮進(jìn)去,從而導(dǎo)致模型的泛化能力差,在決策樹中主要是沒有進(jìn)行剪枝的問題??梢詮膱D中看出這個決策樹的分支很多,數(shù)比較深。而混淆矩陣顯示模型的預(yù)測準(zhǔn)確率變差了。從方差—偏差權(quán)衡的角度來看,過擬合往往是因?yàn)檫^于注重控制偏差,反而使方差超過了最優(yōu)水平。
隨機(jī)森林是把很多的決策樹組合在一起的集成算法,在下面我們可以看到在模型集成的過程中加入了隨機(jī)因素,所以綜合稱之為隨機(jī)森林。
在展示結(jié)果之前,我們先來剖析一下模型的訓(xùn)練過程。我們確定要集成的決策樹數(shù)目為T,第一步是為每一棵樹隨機(jī)抽取一個樣本子集,一般為樣本全集的2/3。第二步是在樹的每個節(jié)點(diǎn)上隨機(jī)抽取m個特征作為特征子集。第三步是樹的生成,在每個節(jié)點(diǎn)上選擇一個最佳的特征進(jìn)行分支。在下一個節(jié)點(diǎn)上繼續(xù)隨機(jī)選擇m個特征重復(fù)以上步驟。
在我做的過程當(dāng)中,我只注重調(diào)整兩個影響力最大的參數(shù),就是ntree和ntry,ntree就是指數(shù)的數(shù)目T,mtry就是指隨機(jī)抽取的樣本子集的大小m。
對于第一個參數(shù)T我設(shè)置為180,這個圖 展示了每個參數(shù)值對應(yīng)的最小袋外誤差。
對于參數(shù)m我設(shè)置為9,從下圖袋外誤差中可以看出當(dāng)m=9的時候誤差最小。
從混淆矩陣顯示結(jié)果來看,隨機(jī)森林的預(yù)測結(jié)果明顯優(yōu)于決策樹,尤其是控球后衛(wèi)的預(yù)測結(jié)果較好,但是對大前鋒和得分后衛(wèi)的預(yù)測精度就有些下降了。我的數(shù)據(jù)集還是有些太少,如果我們用更多的數(shù)據(jù),隨機(jī)森林的效果必然有更高的提升。在我下一步的計劃中,我想從50個賽季中抓取數(shù)據(jù),然后做一個類似的分析看看最終結(jié)果如何。
這篇博客是利用NBA球員的歷史數(shù)據(jù)來預(yù)測球員的位置,我用的是決策樹和它的集成算法隨機(jī)森林。結(jié)果顯示隨機(jī)森林表現(xiàn)得更好一點(diǎn),但是提升空間也很大。
譯者注:從混淆矩陣結(jié)果來看并沒有預(yù)想的那么好,另外作者明明在介紹各種位置的時候著重介紹了身高和體重的問題卻沒有將其加入特征全集中,也有特征選用少的原因。有興趣的朋友可以進(jìn)一步嘗試擴(kuò)大數(shù)據(jù)集和特征集以求更好的結(jié)果。
以下是代碼集,作者用的是R語言。
原文作者:Jurgen 譯者:Cup
原文鏈接:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn