Paradigm Shift Design

ISHITOYA Kentaro's blog.

クラスタリングアルゴリズムk-means++のコードをPHPにポートした

動作を理解するために本当にポートしただけ。
PHPっぽくない。


例によって、CodeReposにコミットしておいた。
元のコードにもどこにもライセンスが見当たらなかったけれど、論文のリファレンス実装だし、プレゼン資料の最後のページに
「Friends dont' let friends use k-means!」
とあったので、きっと大丈夫だろうと言うことで。


作者のDavid Arthurさんのページは、David Arthur
ポート元のコードはhttp://www.stanford.edu/~darthur/kMeansppTest.zip


PHPにポートしたコードは、http://svn.coderepos.org/share/lang/php/misc/kmeanspp/

php -f main.php

で動きます。
元データは、下のほうの

<?php
$main->testAllMethods("test2(10).txt", new ReadFileGen("data.txt"), 10);
?>

を書き換えてください。data.txtが元データです。


k-meansを使っている友達がいるかどうかは疑問だけれど、使っている人はk-means++に!

K-means法によるクラスタリングのスマートな初期値選択を行うK-means++ - kaisehのブログ
k-means++を試し中 - のんびり読書日記 Perl