こんにちはECナビ システム本部の大竹(@tokosa)です。

私は以前よりポケモンが好きで、新しいシリーズが出ると必ず買ってしまいます。

先日ポケットモンスター ブラック・ホワイト(BW)が発売されました!

BWにて新たに150ほどポケモンも増え、いつ買おうか悩んでいます。

ポケモンをやる時、いつも悩ましいのがポケモンのパーティです。

長くやっていると、同じ様なポケモンを選んでしまいますし、同じようなワザばかり使ってしまいます。

そこで、今回はポケモンのデータを使用し、今まで使用した事はないが、

使用経験のあるポケモンに近いポケモンをRを使用し発掘したいと思います。

今回使用するデータは下記のデータ(抜粋)

1.トレーニングデータ

トレーニングデータはポケモンプラチナまでの全507ポケモンデータを使用します。

クラスを『使った』『未使用』で分類しており、使った事のあるポケモンは94種類です。

trainning

 

2.テストデータ

テストデータはポケモンBWより新しく登場した、150種類のデータです。

test

■NaiveBayesで分類

今回はRのパッケージklaRを使用します。

library(klaR)
pokemon.training<-read.csv("pokemon-training.csv")
pokemon.test<-read.csv("pokemon-test.csv")
mN <- NaiveBayes(使用~HP+こうげき+ぼうぎょ+とくこう+とくぼう+すばやさ, data=pokemon.training)

■トレーニングデータの周辺確率分布
plotで描画します。
plot(mN)

グラフを見て分かるように、『とくこう』と『すばやさ』が高いポケモンを多く使用しています。

NaiveBayes_trainning


■テストデータの周辺確率分布
NaiveBayes_test

■検証

トレーニングデータで、簡単ですが検証を行いました。

pokemon.training<-read.csv("pokemon-training.csv")
pokemon.test<-read.csv("pokemon-test.csv")
mN <- NaiveBayes(使用~HP+こうげき+ぼうぎょ+とくこう+とくぼう+すばやさ, data=pokemon.training)
mNpred <- predict(mN)
mNresult<-table(pokemon.training$使用,mNpred$class)
mNresult
↓結果↓
         使った 未使用
  使った     50     44
  未使用     44    369

使用した事あり、結果も使ったは50

使用した事がなく、結果も未使用は44

正解率は82.6%でした。

■予測

では、実際に新ポケモンのテストデータを予測してみます

mNpred <- predict(mN,pokemon.test[,3:11])
table(pokemon.test$名前,mNpred$class)

結果は・・・・

result

■まとめ

結果は、とくこう・とくぼう・すばやさの高いポケモンとなりました。

イベント系(伝説のポケモン?)が多いのは個体値が高いといえます。

検証結果では、使用した事があるのに結果が未使用になったポケモンを調べた所

進化前のポケモンでした。

早速買って試してみようと思います。