📅  最后修改于: 2023-12-03 15:17:40.071000             🧑  作者: Mango
最近质心分类器(Nearest Centroid Classifier)是一种简单但有效的分类器,它使用质心(centroid)来代表每个类别,用测试样本与质心的距离来判定测试样本所属的类别。
最近质心分类器的工作原理如下:
下面是一个使用最近质心分类器进行二分类的示例:
from sklearn.datasets import make_blobs
from sklearn.neighbors import NearestCentroid
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 生成示例数据
X, y = make_blobs(n_samples=1000, centers=2, n_features=10, random_state=42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练最近质心分类器
clf = NearestCentroid()
clf.fit(X_train, y_train)
# 测试最近质心分类器
y_pred = clf.predict(X_test)
# 计算分类精度
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
以上代码使用 make_blobs
生成一个包含两个类别的示例数据集,其中每个样本有10个特征。然后将数据集划分为训练集和测试集,并使用 NearestCentroid
训练一个最近质心分类器。最后,测试分类器并计算分类精度。
最近质心分类器是一个简单但有效的分类器,它特别适用于高维数据集和线性可分的问题。但它也有一些缺点,比如无法处理不同类别之间的交叉重叠等问题。因此,在实际应用中,需要根据具体问题选择合适的分类器。