温馨提示×

python怎么实现knn算法

小亿
57
2023-12-06 16:59:04
栏目: 编程语言

在Python中,可以使用sklearn库中的KNeighborsClassifier类来实现k-最近邻算法(K-Nearest Neighbors,KNN)。下面是一个简单的示例:

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 加载鸢尾花数据集
iris = load_iris()

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

# 创建KNN分类器,设置k值为3
knn = KNeighborsClassifier(n_neighbors=3)

# 使用训练集训练KNN分类器
knn.fit(X_train, y_train)

# 使用训练好的KNN分类器进行预测
y_pred = knn.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

在上述示例中,首先加载了鸢尾花数据集,然后使用train_test_split函数将数据集划分为训练集和测试集。接着,创建一个KNeighborsClassifier对象并设置k值为3,在训练集上训练KNN分类器。最后,使用训练好的分类器进行预测,并计算准确率。

这只是一个简单的示例,实际应用中可能还需要对数据进行预处理、调参等操作。另外,也可以根据具体需求使用不同的距离度量方式、权重方式等来调整KNN算法的表现。

0