如何在 Python 中使用亲和力传播进行预测

How to predict with Affinity Propagation in Python

我第一次尝试使用亲和力传播模型进行训练和预测。

这是我的代码:

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)

然而,当我 运行 这样做时,出现以下错误:

ValueError: X has 2 features, but AffinityPropagation is expecting 3 features as input.

我是否误解了亲和力传播如何与预测一起工作?我希望能够为训练有素的模型提供新数据。维数(即每个子列表的长度)是否需要与训练数据相同?

data_2 中的每个元素的形状应与 data_1 中的每个元素的形状相同 (3,1)

或者data_2 = np.array([[0.1, 0.1, 0.1], [0.0, 0.1, 0.2], [0.7, 0.5, 0.25]]) 或者 data_2 = np.array([[0.1,0.1, 0.1]]) 会起作用。

您正在尝试预测您的新数据所属的集群,因此它必须位于相同的 n 维 space。