Affinity Propagation を Perl で実装
2014-07-07-2
[Algorithm][Programming]
公式サイトにあるCのコードを比較的素直に Perl に移植しました。もともとがメモリ効率重視な実装なので、Perl っぽい書き換えをもうちょっとやった方がいいんだろうけど、とりあえずはこれで。(単に力尽きただけ……)
元のCのソースはこちら:
http://www.psi.toronto.edu/affinitypropagation/apcluster_unsupported.txt
今回実装した Perl のソースはこちら:
http://chalow.net/misc/src/ap.pl
随時修正します。
実行例:
結果はCのと同じになるけど、ちょっと遅めです。まあ当然ですが。
- Affinity Propagation についてのリンク集[2014-07-05-2]
元のCのソースはこちら:
http://www.psi.toronto.edu/affinitypropagation/apcluster_unsupported.txt
今回実装した Perl のソースはこちら:
http://chalow.net/misc/src/ap.pl
随時修正します。
実行例:
% ./ap.pl ToyProblem/Similarities.txt ToyProblem/Preferences.txt output.txt Number of identified clusters: 3 Fitness (net similarity): -116.689864 Similarities of data points to exemplars: -70.006096 Preferences of selected exemplars: -46.683768 Number of iterations: 54 % cat output.txt 3 3 3 3 3 3 7 7 7 7 3 7 3 7 7 20 20 20 20 20 20 3 20 20 7
結果はCのと同じになるけど、ちょっと遅めです。まあ当然ですが。
関連記事
- Affinity Propagation についてのリンク集[2014-07-05-2]