複数のパラメーターを持つK-meansアルゴリズム

Naghaveer R

地図上に一連のポイントがあります。クラスターを作成しようとしています。距離とともに、各クラスターの最大コスト(別のパラメーターとして)を検討しています。

以下のコードスニペットを見つけてください。

private void assignCluster(List<Cluster> finalClusters, List<Node> clusterNodes, int maxCostLimit) {
    double max = Double.MAX_VALUE;
    double min = max;
    int clusterIndex = 0;
    double distance = 0.0;

    for (Node node : clusterNodes) {
        min = max;
        for (int i = 0; i < finalClusters.size(); i++) {
            Cluster cluster = finalClusters.get(i);
            distance = Point.getDistanceBetweenPoints(node.getPoint(), cluster.getPoint());
            if (distance < min && (cluster.getTotalCost() + node.getCost()) <= maxCostLimit) {
                min = distance;
                clusterIndex = i;
            }
        }
        if (min != max) {
            Cluster cluster = finalClusters.get(clusterIndex);
            cluster.setTotalCost(cluster.getTotalCost() + node.getCost());
            cluster.addClusterNode(node);
        }
    }
}

クラスターを作成しようとすると、無限ループになります。または、マップ上の2つのポイントが2つの異なるクラスターに割り当てられます。各反復で、これら2つのクラスターの重心が変化します。私に提案してください、どうすればこれを達成できますか?

編集

Cluster.java

public class Cluster{
    private List<Node> clusterNodes = new ArrayList<Node>();
    private Integer totalCost = 0;
    private Point2D point;

         //getters and setters
}

Point.java

public class Point{
    private double x = 0;
    private double y = 0;

        // getters and setters

       //method to find the distance between 2 points
}

基本的なKmeansアルゴリズムについては、このリンクを参照していますhttp://www.dataonfocus.com/k-means-clustering-java-code/

デニス・ソマーズ

通常、K -meansアルゴリズムは、前の反復からクラスターへのノードの割り当てを繰り返さないことを示すことができます。

おそらくこれはあなたの場合に可能です。これは、K -meansを使用する場合に従来は存在しなかった、導入したコストの追加の制約のためですが、それでもそうではないかどうかはわかりません。

assignCluster()コードを提供したこのメソッドをどのように使用しているのか疑問に思います。あなたは呼び出し続け、その周りに別のループ持っていますassignCluster()finalClusters =、クラスタの最新の割り当てのリスト、およびclusterNodes =すべてのノードのリスト、そしてそれは前のものと同じである割り当てで終わるまでループし続けるの?

もしそうならcluster.addClusterNode()、ノードをその前のクラスターから正しく削除しますか(上記のように実装した場合はそうすべきだと思いますか?)。注目すべきもう1つのことは、(cluster.getTotalDemand() + node.getCost())計算です。あなたは、このノードは、あなたには、したくない場合があり、中にすでにあることをクラスタに注目することが起こる場合、私は、それを疑うnode.getCost()それがいた場合、それは、二重にカウントされますから、その計算に含まcluster.getTotalDemand()

コードに何をさせたいのか、またはコードが表示されていない他のメソッドをどのように実装したのかについて、いくつかの仮定を立てる必要がありました。そのため、仮定に誤りがあるかどうかを指摘する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数のパラメーターを持つK-meansアルゴリズム

分類Dev

Python k-meansアルゴリズム

分類Dev

異なるパラメータを持つ複数のsklearnアルゴリズムを複数のデータフレームに適用する方法は?

分類Dev

Pythonの単純なk-meansアルゴリズム

分類Dev

K-meansクラスターアルゴリズムのsilhouette_scoreを見つける方法

分類Dev

K-meansアルゴリズムC#

分類Dev

k-meansクラスタリングアルゴリズムの実装

分類Dev

間違った答えを与えるMatlabのk-meansアルゴリズム?

分類Dev

複数のパラメーターを持つHaskellフィルター関数

分類Dev

k-meansアルゴリズムを正しく実装する

分類Dev

複数のパラメーターを持つ角度入力フィルター

分類Dev

Pythonのk-meansクラスタリングアルゴリズムでカテゴリデータにアプローチする方法

分類Dev

複数のパラメーターを持つJNIカスタム例外

分類Dev

複数のパラメーターを持つLaravel5.7カスタムURL

分類Dev

複数のパラメーターを持つSignalRクライアント

分類Dev

複数のパラメーターを持つJmDNSTXTフィールド

分類Dev

scikit-learn:K-MeansとMiniBatchKMeansのクラスタリングアルゴリズムの比較

分類Dev

anglejsの複数のパラメーターを持つクエリ文字列

分類Dev

複数のパラメータを持つ同じURLのhtaccessmodリライト

分類Dev

複数の境界を持つコンパイル時型パラメータ

分類Dev

複数のパラメータリストを持つ無名関数

分類Dev

複数のパラメーターを持つJavaジェネリック

分類Dev

Dart URI:同じキーを持つ複数のクエリパラメータ

分類Dev

複数のパラメーターを持つUshahidiGETリクエスト

分類Dev

symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

分類Dev

A *アルゴリズム8パズル

分類Dev

ASP.netMVCルート制約で複数の値を持つ1つのルートパラメーター

分類Dev

K-Meansアルゴリズムの実行中にインデックスを取得する

分類Dev

Clojure:複数のパラメーターを持つ関数でフィルターを使用する

Related 関連記事

  1. 1

    複数のパラメーターを持つK-meansアルゴリズム

  2. 2

    Python k-meansアルゴリズム

  3. 3

    異なるパラメータを持つ複数のsklearnアルゴリズムを複数のデータフレームに適用する方法は?

  4. 4

    Pythonの単純なk-meansアルゴリズム

  5. 5

    K-meansクラスターアルゴリズムのsilhouette_scoreを見つける方法

  6. 6

    K-meansアルゴリズムC#

  7. 7

    k-meansクラスタリングアルゴリズムの実装

  8. 8

    間違った答えを与えるMatlabのk-meansアルゴリズム?

  9. 9

    複数のパラメーターを持つHaskellフィルター関数

  10. 10

    k-meansアルゴリズムを正しく実装する

  11. 11

    複数のパラメーターを持つ角度入力フィルター

  12. 12

    Pythonのk-meansクラスタリングアルゴリズムでカテゴリデータにアプローチする方法

  13. 13

    複数のパラメーターを持つJNIカスタム例外

  14. 14

    複数のパラメーターを持つLaravel5.7カスタムURL

  15. 15

    複数のパラメーターを持つSignalRクライアント

  16. 16

    複数のパラメーターを持つJmDNSTXTフィールド

  17. 17

    scikit-learn:K-MeansとMiniBatchKMeansのクラスタリングアルゴリズムの比較

  18. 18

    anglejsの複数のパラメーターを持つクエリ文字列

  19. 19

    複数のパラメータを持つ同じURLのhtaccessmodリライト

  20. 20

    複数の境界を持つコンパイル時型パラメータ

  21. 21

    複数のパラメータリストを持つ無名関数

  22. 22

    複数のパラメーターを持つJavaジェネリック

  23. 23

    Dart URI:同じキーを持つ複数のクエリパラメータ

  24. 24

    複数のパラメーターを持つUshahidiGETリクエスト

  25. 25

    symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

  26. 26

    A *アルゴリズム8パズル

  27. 27

    ASP.netMVCルート制約で複数の値を持つ1つのルートパラメーター

  28. 28

    K-Meansアルゴリズムの実行中にインデックスを取得する

  29. 29

    Clojure:複数のパラメーターを持つ関数でフィルターを使用する

ホットタグ

アーカイブ