おいしいスパイスカレーの統計学的に正しい作り方⑤|第4章 マホのクラスタリング占い
【【創作大賞2026 ビジネス部門 応募作品】
クミの親友で、タロットの達人でもあるマホが教えてくれた、答えなしで分ける方法、それがクラスタリング。K-meansは正解がないのに、似たもの同士を見つけ出すことができます。
この連載はカレー好きの大学生クミ、AIロボ・チャッピーと一緒に、オリジナルのカレーデータセットを使って、統計と機械学習を学べる入門書。分析を進めながら「勝てるカレーの条件」と「シナモンの謎」を解き明かします。
こちらのマガジンで連載中!
今日は4限の授業がないので、同じゼミのマホを誘って大学内で一番人気のカフェテリアに来た。古い校舎をリノベーションした建物はインテリアもレトロでおしゃれで、料理もおいしい。それでいて学食価格とあって、お昼時になるといつも満席だ。
「4限がないといいよね、11時にランチってなんだか贅沢」
「うん。特にこの時間は静かで落ち着く」
「ところでクミ、あなたまたカレー?」
マホはオムライスを口に運びながらあきれたように言った。
「もちろん!私、カレーのコンテストに出ようと思ってるんだ」
「コンテスト?そんなのあるんだ」
「そうなの!XGっていう、めちゃくちゃ強い人がいて、毎年のように優勝してるの!!」
「じゃあ、クミみたいな大学生、勝てっこないんじゃないの?思い出作り?」
「違うよー。私、日本一のカレーインフルエンサーとして、今回ほんとに優勝狙ってるんだもん!」
「日本一のカレーインフルエンサーwwwそれ、自分で言う??」
「私以外に誰も言ってくれないでしょ。それより、これが歴代のレシピなんだけどね……まだどんなカレーを作ったらいいか、よくわからないの」
私はアイスシナモンティーの氷をカラカラと回しながら続けた。
「クミンをたっぷり、あとシナモンは絶対に入れたいんだけどね」
「なるほど~。そんな時はマホさんに任せなさい!」
そう言うとマホはカバンから小さな箱を取り出し、中に入っているカードをテーブルに並べ始めた。

「カード……あ、マホの得意なタロット!占いね?」
「違うよ、これはクラスタリング。簡単に言うと“グループ分け”だよ。どのレシピが似てるか、コンピューターが勝手に判断して分けてくれるの」
「へぇ、そんなことできるんだ」
「そう。これはK-meansって方法なんだけど、まずはいくつのグループに分けるか、“K”を決めるのよ。分け方のキレ味が良くなるポイントを探すの」
「なんか数学っぽい……」

「まぁね。“エルボー法”っていうんだけど、グラフがひじの形に曲がるとこがベストなのよ。今回は……カクっと曲がってるところがないわね。しいて言えば2だけど、2つに分けてもあまり情報がないから。K=4でやってみるね」
マホはそう言って、4つの山にカードを分類した。

「クラスタって、グループってことだっけ?」
「そうそう。でね、これ見て。クミの作りたいシナモン入り、つまり"Cinnamon=1”のレシピは……この2番、“塔”のクラスタに入ってる」
「塔?」
「“突然の崩壊”って意味がある。クラスタの中でも、過去にあまり高得点が出てないパターンだね」
「XGは……?」
「えーっと……うわ、"Cinnamon=0”、0番、“魔術師のクラスタ”ね。これは手ごわいよ」
「シナモンはゼロ……でも、シナモン美味しいじゃん!!私、絶対に入れたいの!!」
「うん、わかる。まだ悪いと決まったわけじゃないよ。ただ、勝つには何か特別な工夫が必要かもしれないね」
「……うーん……」
「クミのおじいちゃん、確かカレー作りの名人だったよね? シナモン入りのレシピ、何か秘密があるかもよ」
「……うん、明日行ってみようかな……」
チャイムが鳴り、しばらくすると授業を終えた学生たちが次々とカフェテリアに入ってきた。 静かだった店内が一気ににぎやかになったので、私たちは席を立った。
マホと別れた後、私はこっそりチャッピーに話しかけた。
「チャッピー……やっぱりシナモンを入れたカレーじゃ、勝てないのかな」
チャッピーは少し首をかしげるように言った。
「んー、それは早計だよ。クラスタリングは、あくまで似たもの同士を分けただけで、どれが優勝したとかまでは知らないからね」
「そうなの?」
「そう。クラスタリングは教師なし学習といって、答えを教えずに『傾向』を探す方法。 だから、シナモンのクラスタが“難しい”傾向にあるとしても、勝てないと決まったわけじゃない」
「うーん……でも、マホの占いはめちゃくちゃ当たるから、ちょっと不安になるよ」
「だったら、明日、リニ爺に会いに行ってみたら? シナモン入りカレーで勝った人の話を知ってるかもしれないよ」
私はうなずいた。
「……うん、そうだね。行ってみようかな」
その時、再びチャイムの音が鳴った。 今度は授業開始を知らせる鐘。
「やばっ、5限始まっちゃう!」
私はスマホをカバンに放り込み、急いで教室に向かって走り出した。
外に出ると、照りつける日差しの中でセミの声が一斉に鳴き始めた。 さっきまで心地よかった夏の音が、少しだけ耳にうるさく感じた。
解説編
クラスタリング(K-means)── 見えないグループを見つける占い
マホのタロットカード、ちょっと不思議でしたね。
ケツさんや森さんは「このレシピは何点?」と聞かれて答えを出していました。でもマホは違う。「答え」を知らないまま、レシピの中に隠れたパターンを見つけ出した。これがクラスタリングです。
📊 クラスタリングとは?
クラスタリングは、データを「似たもの同士」のグループに自動で分ける手法です。
これまでの手法(決定木、ランダムフォレスト)は、「得点」という正解をあらかじめ教えてからモデルに学習させていました。これを教師あり学習と呼びます。
一方、クラスタリングには正解がありません。得点が高いか低いかは一切教えず、スパイスの配合パターンだけを見て「このレシピとこのレシピ、似てるね」とグループ分けする。これが教師なし学習です。
■ 強み
正解ラベルがなくても使える
データの全体像や傾向を「まず把握する」のに最適
前処理や探索的分析の第一歩として使いやすい
■ 弱み
グループ数(K)を自分で決める必要がある
「このグループは良い・悪い」は教えてくれない
変数のスケールが違うと結果がゆがむ(標準化が必要)
🔍 結果の読み方
① エルボー法でKを決める
K-meansで最初にやることは「何グループに分けるか」を決めること。これにはエルボー法を使います。
Kを1から10まで変えながら、グループ内のばらつき(inertia)をグラフにプロットすると、ある点でグラフの下がり方が緩やかになります。ちょうど腕を曲げた「ひじ(elbow)」のような形になるポイント。ここがベストなKです。
② クラスタの中身を見る
4つのグループに分かれたら、次は各グループの特徴を調べます。
・クラスタ0:ターメリック少なめ、シナモンなし → 高得点が多い
・クラスタ1:カルダモン多め、シナモンあり → 得点にばらつき
・クラスタ2:スパイス全体的に多め → 中程度の得点
・クラスタ3:シナモンあり、ターメリック多め → 低得点が多い
マホがクミのレシピを「塔」のクラスタ(崩壊の象徴)に分類したのは、シナモン入り×ターメリック多めのパターンが過去に苦戦していたからです。
③ 散布図で可視化する
2つの変数を選んで散布図を描くと、グループの分かれ方が目で見えます。Colabノートでは、変数の組み合わせを変えて「どの切り口で見ると一番きれいに分かれるか」を試してみてください。
⚠️ クラスタリングの落とし穴=「分けた」だけでは何もわからない
クラスタリングの最大の誤解は、「グループに分けた=答えが出た」と思ってしまうこと。マホは4つに分けた後、各クラスタの特徴を調べて初めて「シナモン入りは苦戦しがち」という知見を得ました。分けること自体は出発点に過ぎず、そこから「なぜこのグループは得点が低いのか?」を掘り下げる必要があります。
前回はこちら
次回はこちら
次の章では、リニア爺さんが登場します。 平均、標準偏差、t検定、分散分析──地味だけど、すべての統計の土台となる「比較」の世界です。機械学習を少し勉強した後だと、統計もいつもと違って見えるはずです。
マガジンはこちら
このマガジンは、カレー好きの大学生クミとAIロボ・チャッピーが統計と機械学習を使ってカレーコンテスト「Tabbele」に挑む物語です。
【物語編】
【コードと解説編】
第1章のコードと解説は無料記事、第2章以降は有料記事となっています。全章分のコードと、 .ipynb ファイルのダウンロード特典がついたマガジンがお得です。
