C 實現簡單的K means聚類演算法

2021-04-27 15:58:19 字數 737 閱讀 9077

namespace k_means

public int[,] getprocess()

#endregion

#region //根據點到質心的距離,將點放到不同的組中

for (int i = 0; i < num; i++)

if (j == 0)

else}}

int groupknum = groupnum[index];

resultp[index, groupknum] = i+1;

groupnum[index]++;

}#endregion

#region //儲存質心

for (int i = 0; i < k; i++)

for (int j = 0; j < sub; j++)

precenter[i, j] = tmpcenter[i, j];

#endregion

#region //確定新質心

for (int i = 0; i < k; i++)

tmpcenter[i, j] = tmp / knum;}}

}#endregion

#region //判斷質心是否變化

bool judge = true;

for (int i = 0; i < k; i++)

}if (judge)

#endregion

}return resultp;}}

}

kmeans聚類 c 實現

num class 聚類數 num data 資料個數 dimension 資料維度 每個資料是多少維的 data 待聚類資料指標 cluster center 聚類中心指標 max error 前後兩次誤差降低到此值迭代終止 max iters 最大迭代次數 1 隨機初始化聚類中心 2 根據聚類中...

C 實現Kmeans扁平聚類

隨機生成50個2維向量,將他們聚成3個簇,然後在平面上表示出來 kmeans,h pragma once include include using namespace std struct point struct vect struct cluster class kmeans void qce...

k means聚類演算法C 實現

clustering 中文翻譯作 聚類 簡單地說就是把相似的東西分到一組,同 classification 分類 不同,對於乙個 classifier 通常需要你告訴它 這個東西被分為某某類 這樣一些例子,理想情況下,乙個 classifier 會從它得到的訓練集中進行 學習 從而具備對未知資料進行...