KNN 及 matplotlib 数据归一化

本文探讨了KNN算法中数据归一化的关键作用,包括透明度、样本空间相似性、分类准确度的计算,以及超参数调整。文中提到了网格搜索方法来优化参数,并详细解释了最大最小归一化和均值方差归一化的过程,强调了在不同场景下选择合适归一化策略的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

透明度:

 

 

 

样本空间分布相似 则样本很可能相似

KNN (K-Nearest Neighbors) 是一种基于实例的学习方法,用于分类和回归分析。Mnist数据集是一个非常知名的手写数字识别数据集,包含了60,000张训练图像和10,000张测试图像,每张图像都是28x28像素灰度图像,对应着0到9共10个数字类别。 在使用KNN算法读取Mnist数据集时,通常需要按照以下步骤操作: 1. **加载库**:首先安装必要的Python库,如`numpy`, `matplotlib`, `scikit-learn`等。 ```python import numpy as np from sklearn.datasets import fetch_openml ``` 2. **下载并加载数据**:使用`fetch_openml`函数从sklearn内置的数据集中获取MNIST数据。 ```python mnist = fetch_openml('mnist_784', version=1) ``` 3. **数据预处理**:将图片数据归一化,并转换成适当的格式供KNN模型使用。同时,将标签从one-hot编码转回整数。 ```python X_train = mnist.data / 255. y_train = mnist.target # 如果使用的是Keras等深度学习框架,可能还需要调整形状为(样本数, 28, 28) ``` 4. **选择邻居数k**:确定K值,它是KNN算法的关键超参数,表示查找最近邻的数量。 5. **应用KNN**:对每个测试点,计算其与所有训练点之间的距离,然后选取前k个最相似的训练点,多数票或平均值决定预测结果。 ```python from sklearn.neighbors import KNeighborsClassifier # 创建KNN分类器 knn = KNeighborsClassifier(n_neighbors=k) # 使用训练数据拟合模型 knn.fit(X_train, y_train) # 对测试数据进行预测 X_test = ... # 同样进行预处理 predictions = knn.predict(X_test) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值