データ群をK個のクラスタに分けるために、「いちばんしっくり来るK個の重心」を再帰で見つけるK平均法を使う。 このページのインデントわかりづらくてイライラした。 このアルゴリズムは階層的クラスタリングより全然速い。 p.47~48より clusters.rbにkcluster関数を追加した http://www.bitbucket.org/shokai/collective-intelligence-study/src/aea87de2da8d/03/clusters.rb def kcluster(rows, distance=:pearson, k=4) # それぞれのポイントの最小値と最大値を決める ranges = Array.new for i in 0...rows[0].length cols = Array.new for row in rows cols.push(row[