Azure Machine Learningを使ってラブライブのキャラのスリーサイズを元にクラスタリングを行う
Azure Machine Learningのクラスタリング機能を使うわかりやすい例として、アニメキャラのスリーサイズ値から「スタイルが良さそう」「普通」「残念」な3つのグループにクラスタリング分けをしてみます。
CSVファイルを用意
元データ
http://www.lovelive-anime.jp/otonokizaka/member/member01.html
LL.csvに保存
ExcelでCSVファイルを作るとSJISになるのでUTF8に変換しておく。
nkf -Lu LL.csv > LLu.csv
Azure Machine Learning Stdioにデータを登録
DATASETSを押下し左下の+ボタンから登録
Experiment のキャンバスにパーツを配置
K-Means Clusteringの「Number of Centroids」は3に変更する。(クラスタを3つに分けるので3にする)
Train Clustering Modelのカラム設定
クラスタリングの計算対象のカラムを設定します
Project Columns カラム設定
結果を出力させたいカラムを設定します
AssignmentsがクラスタリングのグループIDになるので必須です。
RUNボタンを押下して実行
計算が終わったら(1分ぐらいで完了)「Project Columns」ボタンを右クリックしてResult Dataset->Visualizeを押下。
Assignmentsにクラスタリング化されたグループIDが格納されています。
絵でわかりやすく表示するとこうなります。
ラブライブのキャラに関してはウェストがメンバー全員ほとんど変わらないので、単純にHとBのスコアでのグループわけになっててわかりやすく、うまくグループ化されています。
個人的には納得の結果です。
念のためスリーサイズ値を正規化して再度実施
スリーサイズは H <-> W <-> B 間の数値レンジのバラつきはそこまでないですが、年のため数値に正規化をかけて平等に比較されるようにします。
LLu.csvの後に「Normalize Data」(正規化)を追加
正規化対象のカラムを W B H に設定する
正規化の結果
RUNで実行
数値が正規化されてクラスタリングされているのがわかります。
絵でわかりやすくするとこうです
元々のスリーサイズ値をみても、そこまでおかしなグループ分けにはなっていません。
正規化をかけなかった時とくらべて更に正確にグループ分けがされた感じです。
Azure ML クラスタリング機能の応用例
- 戦闘機のスペック表からクラスタリング 「格闘機、地上攻撃機、マルチロール」などに区分け
- アイドル事務所の人が大量の応募者の女性のスリーサイズデータからとりあえずAzureMLを使ってスタイルのクラスタリングを作って面接候補リストを作る→「グラマー」「スレンダー」「残念」
- 婚活の候補一覧のスペック表からクラスタリング
- 飲食店の感想データからクラスタリング 「高いけどうまい店」「高いけどまずい店」「安いけどうまい店」「安くてまずい店」
・・など
今回は9人をターゲットとしましたが、もっと大量の人数をさばくときに特に有効でしょう。
それ以外にもクラスタリングの元となる計算方法がよくわからん!って人もAzureMLの基礎知識だけでクラスタリングが行えるのは超ベンリだと思います。
Author And Source
この問題について(Azure Machine Learningを使ってラブライブのキャラのスリーサイズを元にクラスタリングを行う), 我々は、より多くの情報をここで見つけました https://qiita.com/AKB428/items/69f55fcac0b6f3d13d1e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .