データハンドリング 前処理 可視化

クラスタリングの実践(中学生スポーツテストデータ)

投稿日:7月 15, 2019 更新日:

クラスタリングの実践

概要

・目的:中学生のスポーツテストデータをクラスタリングにより身体能力の組み合わせのパターンを理解する

データの読み込み

中学生104人の運動能力テスト6種と体力測定5種の計測のデータ。このデータを使って中学生の身体能力についてクラスタリングを行ってみる。
データの詳細はこちら

(詳細)。
https://raw.githubusercontent.com/maskot1977/ipython_notebook/master/toydata/sports_dataJt.txt

  • 50mRun 50m走
  • longjump 走り幅跳び
  • handball ハンドボール投げ
  • chinning 懸垂
  • sidestep 反復横跳び
  • vertump 垂直跳び
  • back 背筋力
  • grip 握力(両手平均)
  • backward 上体そらし
  • forward 立位体前屈
  • stepping 踏み台昇降
50mRunlongjumphandballchinningsidestepvertumpbackgripbackwardforwardstepping
Student
18.331515235407915.53912.079.6
27.939320039499019.05011.071.4
310.124012033318821.04511.047.4
49.330511037377423.5505.056.6
58.633017145538922.54512.085.7

データの確認


まずは、データ型や欠損値を確認。データ型はすべて数値、欠損値はない。

まずは、データのサマリを確認。中学生の身体能力のデータなので顕著な外れ値は存在しない。特徴量間に淡い相関が確認できものと無相関にみえるものがある。

50mRunlongjumphandballchinningsidestepvertumpbackgripbackwardforwardstepping
count104.000000104.00000104.000000104.000000104.000000104.000000104.000000104.000000104.000000104.000000104.000000
mean7.898077403.3750021.2884623.72115441.86538554.596154121.95192334.34375052.0769239.67788565.867308
std0.57841157.636324.4844353.9522804.4395798.38922026.4961556.8080648.4240676.36087811.736876
min6.900000240.000008.0000000.00000030.00000031.00000062.00000015.50000031.000000-11.00000045.000000
25%7.500000364.5000019.0000001.00000039.75000049.000000105.00000030.00000045.0000005.00000057.600000
50%7.800000400.0000022.0000002.00000042.50000055.000000124.50000035.25000052.0000009.50000064.300000
75%8.125000443.2500024.0000005.00000045.00000060.000000136.00000038.00000057.00000014.00000072.150000
max10.100000543.0000032.00000017.00000052.00000075.000000236.00000056.00000070.00000023.000000112.500000

主成分分析


主成分分析を行い、より情報を圧縮した状態でデータの全体を確認し、理解を深める。

主成分分析結果の確認。まずは寄与率を確認。第1主成分で約40%、第2主成分で50%程度の情報を持っている。 後工程で第1主成分 x 第2主成分を散布図で可視化するが50%程度歯科情報がないことに留意する。

因子負荷量の確認。第1主成分は50mRun(50m走)、longjump(走り幅跳び)、handboll(ハンドボール投げ)、vertump(垂直跳び)の影響が大きい。 一方、第2主成分はbackward(上体そらし)、forward(立位体前屈)の影響が大きい事がわかる。
※因子負荷量は各主成分に対する相関係数を表している

因子負荷量と主成分得点をバイプロットで可視化してみる。赤の棒線は因子負荷量、青のドットは中学生を表している。
因子負荷量(グラフ上赤字)から軸の意味を解釈すると以下のように解釈できそう。

  • 第1主成分(横軸)
    • 右方向:走力
    • 左方向:総合力
  • 第2主成分(縦軸)
    • 上方向:上半身の能力
    • 下方向:下半身の能力

第二主成分までの情報の場合、中学生の身体能力について、データ間に境目がなく、明確なグループ分けができるわけではなさそう。

クラスタリング


k-meansを使ってク中学生の身体能力をクラスタリングし、その特徴を理解する。

k-meansの場合、クラスタ数を自ら決める必要がある。今回はエルボー法を使って、クラスタ数を決定する。

エルボー法
ステップ1:クラスタ数を1,2,3,,と変えていき、各SSE値をプロット
ステップ2:クラスタ数の増加にともない下がっていくSSE値の減少率が低下した点を最適クラスターとする

このデータからでは、明確な最適値の判断は難しい。 強いて言うなら、クラスタ5で落ち率が低下しているように見えるため、クラスタ数は4とする

クラスタ数を4としてK-meansを実施し、結果を主成分分析の散布図にプロット。 無理やり分割しているように見えるが、重心の位置は分割できている。

cluster0123
50mRun1.993278-0.8652820.241592-0.330023
longjump-1.6612010.749774-0.3621950.410940
handball-1.6535210.447531-0.3975460.613640
chinning-0.8536280.882054-0.5247620.249553
sidestep-1.7596550.116692-0.1441350.593253

クラスタリングの結果を集計し可視化。

  • クラスタ0:運動オンチクラスタ(運動全般が苦手)
  • クラスタ1:筋力クラスタ(筋力は高いが柔軟性に欠ける)
  • クラスタ2:運動神経抜群クラスタ(筋力面では筋力クラスタに劣るが、すべての項目で優れている)
  • クラスタ3:中の下クラスタ(ほぼすべての項目で平均よりやや劣る)※50mRunは高いほうが悪いことに注意
cluster0123
50mRun9.0454557.4000008.0371437.708108
longjump308.090909446.380952382.600000426.945946
handball13.90909123.28571419.51428624.027027
chinning0.3636367.1904761.6571434.702703
sidestep34.09090942.38095241.22857144.486486
vertump42.27272762.19047651.05714357.297297
back92.909091133.761905109.257143135.891892
grip25.27272738.64285730.12142938.594595
backward49.36363645.76190550.22857158.216216
forward8.9090914.7619057.94285714.337838
stepping57.91818267.61904867.36857165.816216

-データハンドリング, 前処理, 可視化

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

教師なし学習 クラスタリング

  辛さ 重厚 スパイシー 果実味 コク 酸味 落ち着き 香り 華や …

no image

python/pandas/dataframe/重複関連

pandasのDataFrameの取り扱いで、特に重複関連についてのまとめ データは有名なタイタニックデータを使います。 データはこちらkaggleコンペページのリンクです。 左上の「data」からデ …

no image

pythonのpandasを使ったデータ処理2

pythonのpandasを使ったデータ処理1からの続き。 データは有名なタイタニックデータを使います。 データはこちらkaggleコンペページのリンクです。 左上の「data」からデータをダウンロー …

no image

不均衡データの取り扱い | PortoSeguro コンペ

Contents1 概要説明2 コンペの説明3 インデックス4 不均衡データセット5 メトリックの罠6 Resampling7 Random under-sampling8 Random over-s …

no image

クラスタリングの実践(好きなアイスクリームアンケート)

Contents1 概要2 データの読み込み3 データの確認4 主成分分析5 クラスタリング 概要 ・目的:このデータを使ってアイスクリームの好みの違いをクラスタリングで分類し、好みのパターンを理解す …