У меня есть данные об учениках, и я хочу сгруппировать их в соответствии с их атрибутами. Проблема в том, что student_id не должен использоваться в процессе кластеризации, потому что он не имеет ничего общего с кластеризацией, и я не могу просто удалить student_id, потому что тогда я не смогу узнать, что кластер соответствует каждый студент. My Array имеет следующую структуру:
Student_id | movies | chess | football | ....
---------------------------------------------------------
19324857 1 0 1 ...
Код
$studentsInfo = [[1,1,0,0,1,1], [1,1,1,1,0,0], [0,1,1,0,0,1], ....];
$kmeans = new KMeans(6);
$kmeans->cluster(studentsInfo);
Существует решение для поиска после процесса кластеризации параметров каждого учащегося, а затем найти его кластер, но это не практично и занимает много времени, и я работаю с большим количеством записей.
PR просто слился в основной ветке, так что вы можете использовать ключи как своего рода метку;)
http://php-ml.readthedocs.io/en/latest/machine-learning/clustering/k-means/
Других решений пока нет …