通過導入必要的scikit-learn導入必要的庫,加載給定的數據,劃分測試集和訓練集之后訓練預測和評估即可
具體代碼如下:
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix# 加載鳶尾花數據集
iris = load_iris()
X = iris.data
y = iris.target# 劃分數據集為訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)# 標準化數據
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)# 創建KNN分類器并訓練模型
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)# 使用測試集進行預測
y_pred = knn.predict(X_test)# 輸出結果
print("Accuracy:", accuracy_score(y_test, y_pred))
print("Classification Report:")
print(classification_report(y_test, y_pred, target_names=iris.target_names))
print("Confusion Matrix:")
print(confusion_matrix(y_test, y_pred))
運行結果: