1.步骤:
(1)从sklearn导入鸢尾花数据集
(2)对数据集进行训练数据和测试数据划分,测试部分用来进行预测。
(3)均值方差法进行数据归一化(注意:训练数据和测试数据都要进行)
(4)网格搜索对三个参数(weights、p、n_neighbors)查找最优值。
(1)knn算法生成器
(2)打印最有参数和最好的预测率
(3)对测试数据集里面的测试数据进行预测
#从sklearn导入鸢尾花数据集
from sklearn import datasets
#加载数据集
iris=datasets.load_iris()
# print(iris)
#获取数据集的特征矩阵和标签向量,并存储
X_iris=iris.data
y_iris=iris.target
#对数据集进行训练数据和测试数据划分,测试部分用来进行预测
from sklearn.model_selection import train_test_split
#train_test_split划分数据,返回四个值,对应如下
X_train,X_test,y_train,y_test=train_test_split(X_iris,y_iris,test_size=0.10)
#均值方差法进行数据归一化
from sklearn.preprocessing import StandardScaler
#生成对象
std=StandardScaler()
#fit生成均值和方差
std.fit(X_train)
#存放均值的成员变量 std.mean_
#存放方差的成员变量std.scale_
#对训练数据和测试数据进行归一化
X_t