如何在 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。
我第一次尝试使用亲和力传播模型进行训练和预测。
这是我的代码:
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。