Selecciona por nombre, no por número
i = names.index("mean radius")
radius = X[:, i]
Encuentra la posición con names.index(...). No escribas el número a mano.
Los datos de breast_cancer tienen 30 mediciones reales de 569 pacientes reales. Seleccionar la columna equivocada no produce ningún error. Devuelve otra medición real, tu análisis continúa y da una respuesta segura y equivocada. En investigación eso produce resultados que nadie puede reproducir; en una herramienta clínica, una recomendación equivocada sobre una persona real.
La misma operación se ejecuta en tecnología sobre una matriz (usuarios, artículos), para sacar el historial de un usuario antes de recomendarle algo.