データのお砂場(140) R言語、animals、動物のクラスタリング{cluster}

Joseph Halfmoon

サンプル・データ・セットをダウンロードしたときの老人の密な楽しみは、数字の裏側にある世界の不思議、今だ知らぬ事象を目の当たりにすることです。そこで忘却力の老人は、毎度Rによる統計処理より背景調査?に勤しむのであります。しかし今回は調査の余地がありませぬな。つまらん?いやいや生成AIに問いかける題材が多数?

※「データのお砂場」投稿順Indexはこちら

※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。

Attributes of Animals

今回のサンプルデータセットの解説ページが以下に。

Attributes of Animals

R的に言えば、全ての変数が2値情報のデータを使って、「モノセティック・クラスタリング」を試行してみるためのサンプル・データです。各種の動物を以下のような視点で2値情報としてます。

    • 恒温動物か否か
    • 飛べるか否か
    • 脊椎動物か否か
    • 絶滅危惧種か否か
    • 集団生活をするか否か
    • 毛を持つか否か

DNA的な生物の分類からすると、ちょっと異なる視点かもしれませぬが、理解しやすいといえばそんな感じもいたします。ターゲットとしているのは20種類の動物さんですが、正確なお名前などはありません。3文字の略称?のみ。3文字で「分かってしまう」ケースもあれば、何?というものもあり。

ここでのクラスタリングに使用するアルゴリズムについては以下に解説があります。

MONothetic Analysis Clustering of Binary Variables

このアルゴリズムは各変数が2値(建前0/1の2値だけれども、上記のサンプルデータの場合1/2の2値。それでもお構いなく処理可能みたい)でのクラスタリング用らしいです。特長的なのが「欠損値があっても、以下の条件ならばゆるされる」みたいです。太っ腹?

    • 欠損値は変数値の数の半分以下
    • 欠損値以外の値には異なる観測値がある
    • 欠損値の無い変数が少なくとも一つある

今回のサンプルデータは、「見たらわかるだろ~」と思うのですが、欠損値が複数含まれてます。多分わざとNAを入れている?

先ずは生データ

生データそのものを表示してみました。animalsRawData

NAが5点含まれとります。

今回のデータセットでは処理例が含まれており、その中で各変数のバイナリの値の数を集計していたので以下に。animalsTable

1が「否」で、2が「是」ですじゃ。上下2段を足して20にならないところはNAが含まれております。

mona関数でクラスタリング

さて処理例に従って、mona関数を適用してみます。こんな感じ。animalMona

オリジナル・データでは、1と2で記されており、欠損値NAも含んでいました。これが、monaで処理後は、NAが「補完」された上で、0と1に転換されておることが分かります。勝手に補完などして大丈夫か?と思うのですが、個別に5か所の補完値を検証(動物は頭の中で想像)したところでは大丈夫そうです。ホントか? その辺を味わうためのサンプルデータなのか?

上記を行った結果をバーナー図(バーナーグラフ)に描けます。animalsBanner

上記を見ただけでは、なんじゃらほいなグラフです。中央左から見ていくと、なんとなくMONAがやっていること、を追いかけていける気がします。気のせい?

まず、war(恒温動物か否か)という視点で、上のsalと、下のcat以下を分類しているみたいです。下は恒温動物、上は変温動物ね。それ以降分類に使った変数がグラフ化されております。やはり具体的な動物名が知りたいです。catはお猫様、salはサーモンかね?

そういうわけで動物名を勝手推定して書き入れたものが以下に。animalsBannerW

 

黒字で書き添えたのが、最後分類に使った変数の意味。左に青字で書き添えたのが、老人の「勝手推定」の動物名です。外れているかもしれんです。

なお、英語のボキャブラリーに乏しい忘却力の老人は、chi って何よ?などと思ってました。そこで、Googleの生成AI Gemini 様にお伺いをたてました。

英語で chi で始まる 絶滅危惧種の動物名を教えて

上記の問いかけでは多数候補あり絞り切れません。以下を追加。

それは、温血の脊椎動物で飛行能力はなく、有毛。集団生活をする

そうしたらGemini様から以下のようなご回答をいただきました。chimpanzee

ううむ、流石、生成AI、納得。

でもね、上手くいかなかったり、ガセネタをぶちこんできているケースも散見されました。眺めていると、恒温動物や、変温動物の識別を間違えているケースが多いようにおもわれましたぜ。Gemini様はつまらんところで間違えるな。知らんけど。クラスタリング用のサンプルデータで生成AIを練習してしまった?

データのお砂場(139) R言語、agriculture、EUの農業従事者{cluster}へ戻る

データのお砂場(141) R言語、chorSub、C土壌層の元素含有量{cluster}へ進む