机器学习之KNN
1.环境
anaconda3,python3.8,jupyter,机器学习框架:sklearn,python第三方库:numpy、sklearn、pandas等
2.步骤
加载数据集(Iris鸢尾花数据集)from sklearn.datasets import load_iris
将数据集按照3:1的比例分成训练集和数据集 from sklean.model_selection import train_test_spilt
实例化一个KNN对象 from sklearn.neighbors import KNeighborsClassfier; knn=KNeighborsClassfier(n_neighbors=5)
利用训练集构造一个KNN模型 knn.fit(X_train,y_train)
利用测试集测试模型的精度 predict_accuracy=knn.score(X_test,y_test)
利用一个新的样本输出该样本的预测输出值 X_new = np.array([[5,2.9,1.0,0.2]]); y_new = knn.precdict(X_new),注意新样本必须是一个二维nd.array数组
3.KNN思想:给定一个新样本x,在训练集中找到与新样本最近的k个样本,这k个样本中最多的输出值(标签)即是x的预测输出值(预测标签)
4.pandas数据可视化 import pandas as pd
将numpy中的nd.array转换成pandas中的DataFrame以便数据可视化
iris_dataframe = pd.DataFrame(X_train,columns=irsi_dataset['feature_names'])
创建散点图矩阵:pd.plotting.scatter_matrix()