0

kmean クラスタリングを行う C++ コードをリファクタリングしています。コードには 2 つのバージョンがあります。

  1. 通常の kmean
  2. フィーチャ アライン クラスタリング: わずかに異なる距離メトリックと更新ルールを使用します。

これを効果的に実装するにはどうすればよいですか?メソッドのオーバーロード (ただし、これは入力に依存しません)

OK、これは kmean クラスタリングを行う疑似コードです。2 つのバージョンの距離と更新機能を実装する必要があります。

int* kmean_clustering(vector<double[10]> data)
// each row of data hold one data point
// so we have M data points of 10 dimension
{
    // Split codebook
    // Assignment step
    Find the closest codebook based on distance(distance here can be Euclidean, Mahalanobis, .....)
    //Update step
}
4

1 に答える 1

2

よく書かれたコードは、良い小説を読むようなものです。それが、Knuth がプログラミングの芸術と呼ぶ理由です。この本は、リファクタリングのボトムアップアプローチを教えてくれるかもしれません。

于 2013-02-27T02:20:26.943 に答える