最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

拓端tecdat|R語言中的SOM(自組織映射神經(jīng)網(wǎng)絡)對NBA球員聚類分析

2021-07-04 00:11 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=19077

導入

自組織映射?(SOM)是一種工具,通過生成二維表示來可視化高維數(shù)據(jù)中的模式,在高維結構中顯示有意義的模式。通過以下方式使用給定的數(shù)據(jù)(或數(shù)據(jù)樣本)對SOM進行“訓練”:

  • 定義了網(wǎng)格的大小。

  • 網(wǎng)格中的每個單元都在數(shù)據(jù)空間中分配了一個初始化向量。

    • 例如,如果要創(chuàng)建22維空間的地圖,則會為每個網(wǎng)格單元分配一個22維向量。

  • 數(shù)據(jù)被反復輸入到模型中進行訓練。每次輸入訓練向量時,都會執(zhí)行以下過程:

    • 識別具有最接近訓練向量的代表向量的網(wǎng)格單元。

    • 隨著訓練向量的多次輸入,收斂的參數(shù)使調整變得越來越小,從而使地圖穩(wěn)定。

該算法賦予SOM的關鍵特征:數(shù)據(jù)空間中接近的點在SOM中更接近。因此,SOM可能是表示數(shù)據(jù)中的空間聚類的好工具。

Kohonen映射類型

下面的示例將使用2015/16 NBA賽季的球員統(tǒng)計數(shù)據(jù)。我們將查看每36分鐘更新一次的球員統(tǒng)計信息。這些數(shù)據(jù)可從?http://www.basketball-reference.com/獲得。我們已經(jīng)清理了數(shù)據(jù)。

  1. NBA <- read.csv("NBA_cleaned.csv",

  2. sep = ",", header = T, check.names = FALSE)

基本SOM

在創(chuàng)建SOM之前,我們需要選擇要在其中搜索模式的變量。

colnames(NBA)

  1. ## ?[1] "" ? ? ? "Player" "Pos" ? ?"Age" ? ?"Tm" ? ? "G" ? ? ?"GS"

  2. ## ?[8] "MP" ? ? "FG" ? ? "FGA" ? ?"FG%" ? ?"3P" ? ? "3PA" ? ?"3P%"

  3. ## [15] "2P" ? ? "2PA" ? ?"2P%" ? ?"FT" ? ? "FTA" ? ?"FT%" ? ?"ORB"

  4. ## [22] "DRB" ? ?"TRB" ? ?"AST" ? ?"STL" ? ?"BLK" ? ?"TOV" ? ?"PF"

  5. ## [29] "PTS"

我們從簡單示例開始:

som(scale(NBA[res1], grid = somgrid(6, 4, "rectangular")

請注意,我們標準化了訓練數(shù)據(jù),并定義了網(wǎng)格大小。標準SOM圖可為網(wǎng)格單元的代表矢量創(chuàng)建這些餅圖表示,其中半徑對應于特定維度上的大小。

熱圖SOM

我們可以通過將每個球員分配到具有最接近該球員狀態(tài)的代表向量來識別地圖?!坝嫈?shù)”類型的SOM根據(jù)球員數(shù)量創(chuàng)建了一個熱圖。

  1. # 色帶


  2. colors <- function(n, alpha = 1) {

  3. rev(heat.colors(n, alpha))

  4. }

繪圖點

您可以使用“映射”類型的SOM將球員繪制為網(wǎng)格上的點。我們與常規(guī)SOM進行可視化比較。

每個地圖單元格的代表性矢量顯示在右側。左側是根據(jù)其狀態(tài)與這些代表向量的接近程度繪制的球員圖表。

環(huán)形SOM

下一個示例是一種更改幾何形狀的方法。在為上述示例訓練SOM時,我們使用了矩形網(wǎng)格。由于邊緣(尤其是拐角處)的單元比內部單元具有更少的鄰居,因此傾向于將更多的極端值推到邊緣。

  1. par(mfrow = c(1, 2))

  2. plot(NBA.SOM2, type = "mapping", pchs = 20, main = "Mapping Type SOM")

  3. plot(NBA.SOM2, main = "Default SOM Plot")

映射距離

當用繪制時?type = "dist.neighbours",單元格將根據(jù)與它們最近的鄰居的距離著色,這使我們可以直觀地看到高維空間中不同要素之間的距離。

plot(SOM2, type = "dist.neighbours")

有監(jiān)督SOM

有監(jiān)督的SOM使我們可以進行分類。到目前為止,我們僅將三維數(shù)據(jù)映射到二維。當我們處理更高維度的數(shù)據(jù)時,SOM的實用性變得更加明顯,因此讓我們使用擴展的球員統(tǒng)計信息列表來做這個受監(jiān)督的示例:

我們創(chuàng)建有監(jiān)督的SOM,并根據(jù)球員在球場上的位置對其進行分類。我們將數(shù)據(jù)隨機分為訓練集和測試集。

  1. indices <- sample(nrow(NBA), 200)

  2. training <- scale(NBA[indices, NBA.measures2])

  3. testing <- scale(NBA[-indices, NBA.measures2], center = attr(training,

  4. "scaled:center"), scale = attr(training, "scaled:scale"))

請注意,當我們重新標準化測試數(shù)據(jù)時,我們需要根據(jù)訓練數(shù)據(jù)的方式對其進行標準化。

您可以在訓練算法中對訓練變量(NBA.training)與預測變量(NBA$Pos)進行加權?,F(xiàn)在讓我們檢查預測的準確性:

  1. ##

  2. ## ? ? ? ? ? ? ? ? ?Center Point Guard Power Forward Shooting Guard

  3. ## ? Center ? ? ? ? ? ? 16 ? ? ? ? ? 0 ? ? ? ? ? ?26 ? ? ? ? ? ? ?1

  4. ## ? Point Guard ? ? ? ? 0 ? ? ? ? ?49 ? ? ? ? ? ? 0 ? ? ? ? ? ? 12

  5. ## ? Power Forward ? ? ?10 ? ? ? ? ? 1 ? ? ? ? ? ?29 ? ? ? ? ? ? ?5

  6. ## ? Shooting Guard ? ? ?0 ? ? ? ? ? 8 ? ? ? ? ? ? 4 ? ? ? ? ? ? 38

  7. ## ? Small Forward ? ? ? 0 ? ? ? ? ? 0 ? ? ? ? ? ?15 ? ? ? ? ? ? ?9

  8. ##

  9. ## ? ? ? ? ? ? ? ? ?Small Forward

  10. ## ? Center ? ? ? ? ? ? ? ? ? ? 4

  11. ## ? Point Guard ? ? ? ? ? ? ? 11

  12. ## ? Power Forward ? ? ? ? ? ? ?8

  13. ## ? Shooting Guard ? ? ? ? ? ?19

  14. ## ? Small Forward ? ? ? ? ? ? 38

可視化預測:

這次,我們使用xweight?參數(shù)為權重衡量球員統(tǒng)計數(shù)據(jù)?。

使用type = "codes"?我們進行繪制,可以?得到標準的可視化球員狀態(tài)(Codes X)和球員位置預測(Codes Y)。


  1. add.cluster.boundaries(NBA.SOM4, NBA.SOM4.hc)

該視圖使我們可以將球員統(tǒng)計數(shù)據(jù)與位置預測進行比較。

可視化預測:自定義SOM

在最后一個示例中,我們將對該type = mapping?圖進行一些自定義,?以便我們可以同時表示實際球員位置和SOM的預測位置。我們將從可視化開始。

背景顏色繪制的球員點的背景代表其真實位置。

  1. bg.pallet <- c("red", "blue", "yellow", "purple", "green")


  2. # 為所有單元格制作僅背景顏色的矢量


  3. base.color.vector <- bg.pallet[match(position.predictions, levels(NBA$Pos))]


  4. # 設置alpha以最大的預測置信度標準化



  5. max.conf <- apply(NBA.SOM4$codes$Y, 1, max)

最受歡迎的見解

1.R語言k-Shape算法股票價格時間序列聚類

2.R語言中不同類型的聚類方法比較

3.R語言對用電負荷時間序列數(shù)據(jù)進行K-medoids聚類建模和GAM回歸

4.r語言鳶尾花iris數(shù)據(jù)集的層次聚類

5.Python Monte Carlo K-Means聚類實戰(zhàn)

6.用R進行網(wǎng)站評論文本挖掘聚類

7.用于NLP的Python:使用Keras的多標簽文本LSTM神經(jīng)網(wǎng)絡

8.R語言對MNIST數(shù)據(jù)集分析 探索手寫數(shù)字分類數(shù)據(jù)

9.R語言基于Keras的小數(shù)據(jù)集深度學習圖像分類


拓端tecdat|R語言中的SOM(自組織映射神經(jīng)網(wǎng)絡)對NBA球員聚類分析的評論 (共 條)

分享到微博請遵守國家法律
禄劝| 凤翔县| 永平县| 屏南县| 巢湖市| 英吉沙县| 抚州市| 孟村| 鹤壁市| 金湖县| 利川市| 丹东市| 舟山市| 博罗县| 武陟县| 新巴尔虎右旗| 息烽县| 大余县| 阿尔山市| 大庆市| 布尔津县| 翁源县| 阜城县| 石柱| 荣成市| 新源县| 新乡县| 津市市| 平乡县| 沙湾县| 通道| 万安县| 丹凤县| 松原市| 和硕县| 肇东市| 枣阳市| 攀枝花市| 桃园县| 额济纳旗| 山东|