// Pick K random clusters
while(clusterNumbers.Count < clusterCount)
{
clusterNumber = random.Next(0, rowCount-1);
if (!clusterNumbers.Contains(clusterNumber)) // <----- Should check if a similar datapoint is already in there instead of clusternumber
{
cluster = new Cluster();
clusterNumbers.Add(clusterNumber);
dataPoint = new double[fieldCount];
for (int field = 0; field < fieldCount; field++)
{
dataPoint.SetValue((data[clusterNumber, field]),field);
}
cluster.Add(dataPoint);
clusters.Add(cluster);
}
}