es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo predecir con Affinity Propagation en Python

Estoy tratando de entrenar y predecir con un modelo de propagación de afinidad por primera vez.

Aquí está mi código:

import numpy as np
from sklearn.cluster import AffinityPropagation

data = np.array([[0.1,0.1,0.4], [0.0, 0.1, 0.5], [0.7,0.5,0.2]])

affprop = AffinityPropagation(affinity="euclidean", damping=0.7, random_state=0)
affprop.fit(data)

data_2 = np.array([[0.1,0.1], [0.0, 0.1], [0.7,0.5]])

affprop.predict(data_2)

Sin embargo, cuando ejecuto esto, obtengo el siguiente error:

ValueError: X tiene 2 características, pero AffinityPropagation espera 3 características como entrada.

¿Estoy entendiendo mal cómo funciona la propagación de afinidad con la predicción? Quiero poder alimentar a mi modelo entrenado nuevos datos. ¿El número de dimensiones (es decir, la longitud de cada sublista) debe ser la misma que la de los datos entrenados?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, tienes razón. AffinityPropagation requiere que los datos de entrada tengan el mismo número de características (es decir, la longitud de cada sublista) que los datos entrenados. En tu ejemplo, los datos entrenados tienen 3 características mientras que los nuevos datos (data_2) solo tienen 2 características, lo que causa el error.

    Para usar el modelo entrenado para la predicción, debes proporcionar nuevos datos con el mismo número de características que en los datos de entrenamiento. Si tus nuevos datos tienen un número diferente de características, deberías entrenar un nuevo modelo con el número correcto de características.

    En resumen, el número de dimensiones/características en los datos de entrada debe ser el mismo tanto para el entrenamiento como para la predicción con AffinityPropagation.

Comments are closed.