

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
はじめに:k-meansとk近傍法の基本がごっちゃになりがち
データ分析の世界には、似ているけれど役割が違うアルゴリズムがたくさんあります。その中でk-meansとk近傍法(k-NN)は、名前が似ていて混同しやすいけれど、実際には使い方や目的が大きく異なります。
k-meansは未ラベルデータを自動的にグループ化するクラスタリングの代表格で、データをk個のクラスタに分け、各データ点がどのクラスタに属するかを割り振ります。ここで肝になるのは“ラベルがない状態”でデータを整理する点です。学習というよりも、データの配置を最適化する反復的な処理です。対してk-NNは、未知のデータに対してそのデータがどんなラベルになるかを予測する仕組みで、事前に作ったラベル付きデータ(訓練データ)を使います。新しいデータが来るたびに、訓練データとの距離を計算して、近いk個のデータのラベルを集計して決定します。ここで重要なのは距離計算とラベルの決定方法です。つまりk-NNは“予測の癖を持つ”アルゴリズムであり、k-meansは“データを自然に分ける”作業です。
この違いをつかむと、実務での使い分けがずっと楽になります。例えば、顧客のセグメントを見つけたいときにはk-meansが適している場面が多いです。なぜなら、ラベルを事前に決めずにデータを似た特徴でまとめられるからです。
一方で、国語の成績データのように、すでに“合格/不合格”のようなラベルがある場合は、距離を測って最近傍のラベルを多数決で決めるk-NNが合うケースが多いです。
さらに重要な点として、データのスケール(各特徴の単位や幅)にも注意が必要です。k-meansは距離の平方和を最小化することでクラスタを作るため、特徴量のスケールが揃っていないと、特定の特徴が過剰に影響してしまいます。これを避けるためには、事前に標準化や正規化を行うのが一般的です。k-NNも同様に距離計算を用いるため、スケーリングが結果を大きく左右します。こうした点を押さえておくと、アルゴリズム選択の迷いが減り、データの特性に合わせた適切な分析がしやすくなります。
ねえ、k近傍法の話をもう少し深掘りしてみよう。近傍をどう決めるかで世界が変わるんだよ。例えば、kを小さくするとデータのノイズに敏感になってしまい、反対にkを大きくすると多数決が安定する代わりに細かな違いを見落とす。距離の定義も重要で、ユークリッド距離、マンハッタン距離、コサイン類似度など選択肢がある。データの山の形が変わると、最適な距離は変わる。私たちは友だちを選ぶとき、どれくらい近いかで意見が分かれるように、データ点の距離も同じ。k-NNを使うときは訓練データが豊富だと良い結果が出やすい反面、計算量が増えるので、事前にデータをサンプリングしたり、近似法を使う工夫も必要だ。そんな“ちょっとした選び方”が分析の命運を握ることもあるんだよ。