Я работаю над алгоритмом кластеризации K-средних. Доступно множество примеров, но я не могу найти пример, который объясняет, что я пытаюсь сделать.
Мой набор данных содержит клиентов и их покупки. Каждый 1 в наборе данных означает, что клиент купил этот товар. 0 означает не купленный.
0,0,0,0,1,0,1,0,0,1
1,0,0,1,0,0,0,1,1,0
1,1,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0
Слева направо представляют различные элементы.
Сверху вниз представляют клиентов. Я хочу объединить клиентов. Таким образом, в наборе данных 4 измерения и будет 10 точек.
Теперь я пытаюсь создать точки из этого набора данных для следующих шагов. Я хочу создать список, содержащий все точечные объекты, а затем назначить их нужным кластерам, но я не знаю, как обрабатывать 4 различных измерения при создании точечного объекта.
class Point
{
public int ClusterNumber { get; set; }
public int X { get; set; }
public int Y { get; set; }
public Point(int clusterNumber, int CustomerId, int ProductId)
{
ClusterNumber = clusterNumber;
X = CustomerId;
Y = ProductId;
}
}