実践編:スケーリング
動画で説明した通り、実際のデータをクラスタリングする際には、特徴量の分布が異なる場合にスケーリングが必要になることがあります。この章ではこれまで、スケーリングが不要な合成データを使用してきました。
この演習では、第1章で紹介した「実際の」データである pokemon データセットに戻って作業します。まず各特徴量の分布(平均と標準偏差)を確認し、それに応じてデータをスケーリングします。その後、完全連結法を使って階層的クラスタリングモデルを作成しましょう。
この演習はコースの一部です
R による教師なし学習
演習の手順
データはワークスペース内の pokemon オブジェクトに格納されています。
colMeans()関数を使って、pokemonの各変数の平均を確認しましょう。apply()関数とsd()関数を使って、各変数の標準偏差を確認しましょう。変数は行列の列にあたるため、apply()のMARGIN引数には 2 を指定するようにしてください。scale()関数を使ってpokemonデータをスケーリングし、結果をpokemon.scaledに格納しましょう。- 完全連結法を使って
pokemon.scaledデータの階層的クラスタリングモデルを作成しましょう。method引数を明示的に指定し、結果をhclust.pokemonに格納してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# View column means
# View column standard deviations
# Scale the data
# Create hierarchical clustering model: hclust.pokemon