kmean クラスタリングを行う C++ コードをリファクタリングしています。コードには 2 つのバージョンがあります。
- 通常の kmean
- フィーチャ アライン クラスタリング: わずかに異なる距離メトリックと更新ルールを使用します。
これを効果的に実装するにはどうすればよいですか?メソッドのオーバーロード (ただし、これは入力に依存しません)
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
}