En minería de datos, k-means++[1]​[2]​ es un algoritmo que se utiliza para la selección de los valores iniciales (o "semillas") en el algoritmo k-means clustering. Fue propuesto en 2007 por David Arthur y Sergei Vassilvitskii, como un algoritmo de aproximación para el problema NP-duro k-means—una forma de evitar los agrupamientos pobres a veces encontrados por el algoritmo k-means estándar. Es similar al primero de tres métodos para encontrar semillas propuestos, en 2006,[3]​ por Rafail Ostrovsky, Yuval Rabani, Leonard Schulman and Chaitanya Swamy. (La distribución de la primera semilla es diferente).