在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算法的表現。