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], [1, 1], [2, 1], [3, 2]])
>>> y = np.array([1, 1, 1, 2, 2, 2])
>>> 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 估算器实例 |