use Rubix\ML\Datasets\Unlabeled;
use Rubix\ML\Clusterers\KMeans;
use Rubix\ML\Transformers\StandardScaler;
require 'vendor/autoload.php';
// Datos de ejemplo (coordenadas 2D)
$samples = [
[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]
];
// Crear dataset sin etiquetas
$dataset = new Unlabeled($samples);
// Escalar datos
$transformer = new StandardScaler();
$dataset->apply($transformer);
// Entrenar el modelo K-Means (3 clústeres)
$clusterer = new KMeans(3);
$clusterer->train($dataset);
// Predecir clústeres para los datos
$predictions = $clusterer->predict($dataset);
print_r($predictions); // Muestra los clústeres asignados (e.g., [0, 0, 0, 1, 1, 1])
Un ejemplo de uso sería una tienda que quiere segmentar a sus clientes según sus hábitos de compra. El clustering puede identificar grupos como "compradores frecuentes de ropa" o "compradores ocasionales de electrónicos" basándose en patrones en los datos de compras, sin necesidad de etiquetas previas.