( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

ポケモンで学ぶデータ分析|データの中身を知ろう

ポケモンデータを使ってデータ分析を学ぶ

今回の企画は皆さんよくご存じのポケモンのデータを利用して、データ分析を分かりやすくご紹介します

データ分析」と聞くと難しい、数式が必要というイメージを持ってしまいますが、実はほとんど必要ありません

また単純な数列が並んでも理解しにくいため、アニメやゲームで慣れ親しんだであろう「ポケモン」のデータを使います

Excelデータもご用意しているので、ぜひ手元で確認してみてください

ポケモンのデータ一覧

なぜポケモンのデータなのか?

世の中には様々なデータが存在していますが、その中でもポケモンのデータは統計、データ分析、機械学習を学ぶのに非常に適しています

ポケモンのデータが学習に適している理由は3つあります

データの中身を知っている人が多い

一つ目の理由はデータの中身を知っている人が多いためです

アニメやゲームが好きな方(好きだった方)にとっては、ほとんどのデータをだいたい理解していることになります

例えばピカチュウは「でんきタイプで小柄、すばしっこい」というのは、多くの人が知っています

ピカチュウの画像
出典:Poke API(https://pokeapi.co/)

もしそのポケモンのことを知らなくても「ひこう」「ほのお」タイプなのかなと予想することもできますし、

豪華な見た目から「伝説」ポケモンで「強いのでは」と予測することもできます

ホウオウの画像
出典:Poke API(https://pokeapi.co/)

また親しみのあるものを題材に扱うことで、「統計」という取っ付きにくいテーマも分かりやすくご説明できると考えています

② データが充実している

ピカチュウのステータス

ポケモンのデータは非常に細かくデータがそろっているので有名です

個々のポケモンの名前はもちろん、身長や体重、タイプやステータスまで細かくデータが存在しています

さらにPoke APIを利用することで、無料でデータを取得することができます

今回はこのAPIを使いデータを取得・加工しています

詳細は下記でご紹介します

ポケモンのデータ一覧

またデータを見ると「数値型=1.2.3…」や「文字列型=フシギダネ」と統計を学ぶには必要なデータの種類がそろっており、データ数も「897」と多く存在しています

この点においてもポケモンデータは、データが充実していると言えます

③ データに共通点・相関が存在している

最後はデータ分析に特化した理由ですが、ポケモンのデータにはデータ同士に一定の関係性があり、

統計的アプローチを実施することで、共通点や相関関係を明らかにすることができます

言い換えるとデータを見ることで何かしらの「示唆」を出すことができるのです

例えば「ぼうぎょ」というステータスをタイプ別に見てみると、「はがね」「いわ」の順に高いことが分かります

つまり防御=硬そうという仮説を立てることができるのです

ポケモンのタイプ別のぼうぎょ平均のグラフ

またポケモンには「伝説のポケモン」というのが存在し、該当のポケモンが伝説かどうかを示す情報も存在しています

上記のデータを伝説かどうかで分けて見てみると、明らかに「伝説=True」が高いことが分かります

ポケモンのタイプ別のぼうぎょ平均のグラフ(伝説のポケモン別)

他にもポケモンには実世界と共通する点が存在しており、少しでもポケモンに精通している方であれば容易に仮説を立てることができます

  • 伝説のポケモンは他のポケモンより強い
  • 進化前より進化後の方が強い
  • エスパータイプはとくこうが強い

仮説が立てられる・下知識がある」ことで、統計解析を優位に進めることができます

データの中身を解説

ポケモンのデータ一覧

ポケモンのデータ(Excel:105 KB)

今回利用するポケモンのデータは897匹のポケモンと19の情報(カラム)からなるデータです

前述した通りPoke APIを利用しているため、皆様でも簡単に取得することができます

※面倒な方は上記Excelをダウンロードしてください

id

idは各ポケモンに振られた数値で、他のポケモンと被らないように振られています

名前

名前は各ポケモンの日本語の名前を示しています

実はPoke APIでは英語名を始め、各国の呼び方が用意されています

タイプ

タイプとはポケモンに設定されている属性のようなもので、「最低1つ・最高2つ」ポケモンに付与されています

またほとんどのポケモンが、見た目からタイプを推定することができ、タイプによってステータスが異なる傾向があります

タイプ別のポケモン数

高さ・重さ

高さ重さはポケモンの身長と体重を表しています

一番大きい「ムゲンダイナ」と「ピカチュウ」を比較すると、高さは50倍・重さは158倍もあります

ポケモンのムゲンダイナとピカチュウの高さ比較

世代

ポケモンには1~8まで世代が存在し、新しいゲームが出るたびに新種のポケモンが発表されます

ポケモンWikiに詳細が載っているので、気になる方はこちらをご覧ください

ポケモンの世代別の御三家のステータス

ステータス

ステータスとはポケモンが持つ6つ能力の合算です

  • HPヒットポイント (Hit Point) の略で、体力のこと
  • こうげき物理技の攻撃力のこと
  • ぼうぎょ物理技の防御力のこと
  • とくこう特殊技の攻撃力のこと
  • とくぼう特殊技の防御力のこと
  • すばやさ早さのこと
ピカチュウとライチュウのステータス

捕まえやすさ

捕まえやすさはその名の通り、そのポケモンの捕まえやすさを指しておりゲームなどで利用する数値です

あまり公にはされていませんが、各ポケモンごとに設定されています

数値が上がるほど捕まえやすくなり最大で255で、最小は3で伝説のポケモンが並びます

ベビー

ベビーはそのポケモンがあかちゃんポケモンかどうかを指します(True=ベビー)

ポケモンのベビーとその他の箱ひげ図

伝説

伝説はそのポケモンが伝説ポケモンかどうかを指します(True=伝説)

伝説のポケモンとその他の箱ひげ図

進化

進化はそのポケモンが進化するかどうか、また何段階目の進化を指します

  • 0:進化しない(メタモン)
  • 1:1段階目のポケモン(フシギダネ)
  • 2:2段階目のポケモン(フシギソウ)
  • 3:3段階目のポケモン(フシギバナ)

画像URL

画像URLはそのポケモンの画像を取得できるURLです

Pythonというプログラミング言語では、画像URLをWebから取得することができます

Pythonを利用したポケモンの画像取得の例
出典:Poke API(https://pokeapi.co/)

まとめ

ポケモンで学ぶデータ分析」企画の第一弾いかがでしたか?

初回はデータを使う理由とその中身を見ていきました

データを扱う仕事をしている私も、「統計・分析」には苦手意識がありました

ポケモンという親しみやすいテーマを使うことで、楽しく統計やデータ分析、機械学習を学ぶことができれば幸いです

お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。