访问数据点 scikit KNNR



问题

使用 neigh.fit(( 拟合数据后,我想访问这些数据点,我该怎么做?

>>> samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]
>>> samplesy = [80, 60, 40]
>>> from sklearn import neighbors
>>> neigh = neighbors.KNeighborsRegressor(n_neighbors=1)
>>> neigh.fit(samples, samplesy) 
>>> print(neigh.kneighbors([1., 1., 1.])) 
(array([[ 0.5]]), array([[2]]))

因此,从中我了解到最接近的数据点是"样本[2]"。但是,在我不再有权访问变量"samples"的情况下,有没有办法访问"neigh"中的数据点?也许像"嘶嘶声[2]"之类的东西?因为数据点必须保存在"嘶嘶"模型中的某个地方,对吗?

为什么

我想访问 5 个最近邻数据点并计算这些数据点的聚类中心。然后,我想计算此聚类中心到新数据点的距离,以了解此新数据点与原始数据的距离。

用于拟合模型的数据存储在neigh._fit_X

>>> neigh._fit_X
array([[ 0. ,  0. ,  0. ],
       [ 0. ,  0.5,  0. ],
       [ 1. ,  1. ,  0.5]])

但是:变量名称的前导下划线应该向您发出信号,表明这应该在某种程度上是一个私有属性。您不应期望此数据以任何特定方式运行,甚至不应存在于库的未来版本中。使用它的风险由您自己承担。

更好的方法可能是自己跟踪输入数据。

相关内容

  • 没有找到相关文章

最新更新