knn算法python实现例子 混淆矩阵
时间: 2024-06-23 07:01:47 浏览: 212
K-Nearest Neighbors (KNN) 算法是一种基于实例的学习方法,用于分类和回归。在Python中,我们可以使用sklearn库中的KNeighborsClassifier来实现KNN分类器。以下是一个简单的KNN算法的Python实现例子:
```python
# 导入必要的库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import confusion_matrix, accuracy_score
# 加载数据集(这里以iris数据集为例)
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 数据预处理(标准化数据)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 创建KNN分类器,这里设置k=3作为示例
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 计算混淆矩阵
conf_mat = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:\n", conf_mat)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy*100}%")
```
在这个例子中,我们首先加载了Iris数据集,然后划分了数据为训练集和测试集。接着,我们创建了一个KNN分类器,并使用训练数据对其进行训练。然后对测试集进行预测,并用混淆矩阵来评估模型性能,最后计算出模型的准确率。
阅读全文