jacobemerick/ kmeans
PHP 实现的 k-means 聚类算法
1.0.0
2014-07-31 00:59 UTC
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2024-09-24 06:50:57 UTC
README
这个小巧的类可以使用 PHP 对一组观测值计算 k-means。k-means 是一种将数据根据相关性聚类到组中的方法,例如将地理数据(使用纬度/经度)聚类成一个可消化的摘要。它在检测大型数据集中的模式时很有用。
用法
假设你想聚类一个数据集。数据必须是一个多维数组,每个值都是数值,尽管每行的尺寸没有限制(n 维空间)。
$array = [ [1, 1, 3], [3, 7, 6], [5, 8, 3], [1, 2, 1], [9, 10, 8], [4, 4, 4], ];
通过观察,你可能怀疑这些数据可以被聚类成 3 个不同的集合。为了测试,运行这个类。
$kmeans = new Jacobemerick\KMeans\Kmeans($array); $kmeans->cluster(3); // cluster into three sets $clustered_data = $kmeans->getClusteredData(); // $clustered_data = [ // [[1, 1, 3], [1, 2, 1]], // [[3, 5, 6], [5, 4, 3], [4, 4, 4]], // [[9, 10, 8]], // ]; $centroids = $kmeans->getCentroids(); // $centroids = [ // [1, 1.5, 2], // [4, 4.33, 4.33], // [9, 10, 8], // ];
注意:更大的数据集将更一致——如果你多次运行此示例,结果可能会有所不同。
安装
通过 Composer
$ composer require jacobemerick/kmeans:~1.0