sklearn.neighbors.NearestCentroid

class sklearn.neighbors.NearestCentroid(metric='euclidean', *, shrink_threshold=None)

[源码]

最近的质心分类器。

每个类别均以其质心表示,测试样本被分类为具有最接近质心的类别。

用户指南中阅读更多内容。

参数 说明
metric str or callable
计算要素阵列中实例之间的距离时使用的度量。 如果metric是字符串或可调用,则必须是metric参数的metrics.pairwise.pairwise_distances允许的选项之一。 对应于每个类别的样本的质心是一个点,从该点可以使属于该特定类别的所有样本的距离之和(根据度量)最小化。 如果提供了“曼哈顿”度量标准,则此质心为中位数,对于所有其他度量标准,现在将质心设置为均值。
版本0.19中的更改:不建议使用metric ='precomputed',现在会引发错误
shrink_threshold float, default=None
缩小质心以删除特征的阈值。
属性 说明
centroids_ array-like of shape (n_classes, n_features)
每个类的质心。
classes_ array of shape (n_classes,)
唯一的类标签。

另见:

sklearn.neighbors.KNeighborsClassifier

最近邻分类器

声明

当用于带有tf-idf向量的文本分类时,此分类器也称为Rocchio分类器

参考资料

Tibshirani, R., Hastie, T., Narasimhan, B., & Chu, G. (2002)。 通过基因表达的收缩质心诊断多种癌症。 美国国家科学院院刊,99(10),6567-6572。 美国国家科学院

示例

>>> from sklearn.neighbors import NearestCentroid
>>> import numpy as np
>>> X = np.array([[-1-1], [-2-1], [-3-2], [11], [21], [32]])
>>> y = np.array([111222])
>>> clf = NearestCentroid()
>>> clf.fit(X, y)
NearestCentroid()
>>> print(clf.predict([[-0.8-1]]))
[1]

方法

方法 说明
fit(X, y) 根据给定的训练数据拟合NearestCentroid模型。
get_params([deep]) 获取此估计量的参数。
predict(X) 对测试向量X进行分类
score(X, y[, sample_weight]) 返回给定测试数据和标签上的平均准确度。
set_params(**params) 设置此估算器的参数。
__init__(metric='euclidean', *, shrink_threshold=None)

[源码]

初始化, 请参阅help(type())以获得准确的说明

fit(X, y)

[源码]

根据给定的训练数据拟合NearestCentroid模型

参数 说明
X {array-like, sparse matrix} of shape (n_samples, n_features)
训练向量,其中n_samples是样本数,n_features是特征数。 注意,质心收缩不能与稀疏矩阵一起使用。
y array-like of shape (n_samples,)
目标值(整数)
get_params(deep=True)

[源码]

获取此估计量的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和作为估算器的所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
predict(X)

[源码]

对测试向量X进行分类。

返回X中每个样本的预测类C。

参数 说明
X array-like of shape (n_samples, n_features)
返回值 说明
C ndarray of shape (n_samples,)

声明

如果度量构造函数参数是“预先计算的”,则将X假定为要预测的数据与self.centroids_之间的距离矩阵。

score(X, y, sample_weight=None)

[源码]

返回给定测试数据和标签上的平均准确度。

在多标签分类中,这是子集准确性,这是一个严格的指标,因为您需要为每个样本正确预测每个标签集

参数 说明
X array-like of shape (n_samples, n_features)
测试样本
y array-like of shape (n_samples,) or (n_samples, n_outputs)
X的真实标签。
sample_weight array-like of shape (n_samples,), default=None
样本权重
返回值 说明
score float
self.predict(X) wrt. y.的平均准确度
set_params(**params)

[源码]

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。 后者的参数格式为 __ ,以便可以更新嵌套对象的每个组件。

参数 说明
**params dict
估算器参数。
返回值 说明
self object
估算器实例

sklearn.neighbors.NearestCentroid 使用示例