2017-11-30 14 views
4

私は2次元配列として距離行列を持っているが、このように:だから距離行列からクラスターを得るには、PHPを使用しますか?

distance matrix

、私はその助けを借りて、要素のクラスタを、見つける必要があります。私は、k-meansのような階層的クラスタ化を使って、それを行うことができます。私はここでそのような例を見つけましたPHP K-Means

この例では、2次元配列をポイントの配列に変換する方法はありますか?

$points = [ 
[80,55],[86,59],[19,85],[41,47],[57,58], 
[76,22],[94,60],[13,93],[90,48],[52,54], 
[62,46],[88,44],[85,24],[63,14],[51,40], 
[75,31],[86,62],[81,95],[47,22],[43,95], 
[71,19],[17,65],[69,21],[59,60],[59,12], 
[15,22],[49,93],[56,35],[18,20],[39,59], 
[50,15],[81,36],[67,62],[32,15],[75,65], 
[10,47],[75,18],[13,45],[30,62],[95,79], 
[64,11],[92,14],[94,49],[39,13],[60,68], 
[62,10],[74,44],[37,42],[97,60],[47,73], 
]; 
+1

データを数学的に変換する方法を説明できますか?それが私たちを助けるかもしれない –

答えて

1

まず:nitpick:差分O詳細https://www.quora.com/What-is-the-difference-between-k-means-and-hierarchical-clustering参照K-手段は、階層的クラスタリングアルゴリズムではありません。

2番目:距離行列を、元に戻ったときの元の点に変換したくない場合。あなたからの距離行列を得るのですか

  1. を:悲しいことに、あなたが唯一のリンクk平均の実装は、それゆえ、あなたの要件に応じて、いくつかの可能性を持っている、あなたは生の座標を入力することができますし、ユークリッド距離を想定APIを持っています?可能であれば、生の座標を取得し(距離の測度がユークリッド距離であることを確認する)、リンクしたライブラリを使用します。あなたは一度だけ使用パイソンとsklearnをクラスタを計算する必要がある場合は、あなたの行列

  2. から値を返すために、具体的getDistanceWith方法:

  3. は、あなたがリンクされたライブラリでPointクラスをオーバーライド

    。このライブラリはまさにあなたが望むものです。特に:https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.cluster.hierarchy.linkage.html

  4. あなた自身のコードを書いてください:クラスタリングは非常に簡単なトピックなので、素晴らしいコーディング演習です。

関連する問題