首页 > 分享 > 机器学习之KNN算法

机器学习之KNN算法

最新推荐文章于 2022-10-11 15:59:29 发布

cccccccaaaaaaaaa 于 2020-04-24 22:22:47 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

在这里插入图片描述
在这里插入图片描述
2 电影类型分析:见下图
k = 1 爱情片
k = 2 爱情片
……
k = 6 无法确定
k = 7 动作片

如果取的最近的电影数量不一样?会是什么结果? k 值取得过小,容易受到异常点的影响 k 值取得过大,样本不均衡的影响 结合前面的约会对象数据,分析K-近邻算法需要做什么样的处理 无量纲化的处理 标准化 123456

在这里插入图片描述
由于异常数据和某些数据过大影响整体的分类,所以需要对数据无量纲化处理,使得数据鲁棒性高且公平

3.API
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm=‘auto’)
n_neighbors:k值
在这里插入图片描述
3.案例分析
在这里插入图片描述

from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier def knn_iris(): """ 用KNN算法对鸢尾花进行分类 :return: """ # 1)获取数据 iris = load_iris() # 2)划分数据集 x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22) # 3)特征工程:标准化 transfer = StandardScaler() x_train = transfer.fit_transform(x_train) x_test = transfer.transform(x_test) # 4)KNN算法预估器 estimator = KNeighborsClassifier(n_neighbors=3) estimator.fit(x_train, y_train) #相当于把训练集特征值和目标值的模型存在estimator中 # 5)模型评估 # 方法1:直接比对真实值和预测值 y_predict = estimator.predict(x_test) #对测试集的特征值进行预测 print("y_predict:n", y_predict) print("直接比对真实值和预测值:n", y_test == y_predict) #将测试集的目标值与预测值进行比较 # 方法2:计算准确率 score = estimator.score(x_test, y_test) #将测试集的数据和训练集数据进行比较计算,得到一个准确率 print("准确率为:n", score) return None

12345678910111213141516171819202122232425262728293031323334353637

注意看训练测试时先看是train还是test,然后x是特征值,y是训练值
在这里插入图片描述

相关知识

【机器学习】KNN算法实现鸢尾花分类
【机器学习】KNN算法实现手写板字迹识别
【机器学习】基于KNN算法实现鸢尾花数据集的分类
【10月23日】机器学习实战(一)KNN算法:手写识别系统
原生python实现knn分类算法(鸢尾花数据集)
Knn算法实现鸢尾花分类
【python机器学习】KNN算法实现回归(基于鸢尾花数据集)
python机器学习
KNN算法实现鸢尾花数据集分类
基于机器学习的鸢尾花数据集的三分类算法的实现 C++

网址: 机器学习之KNN算法 https://m.huajiangbk.com/newsview854479.html

所属分类:花卉
上一篇: 基于注解形式Excel导入功能
下一篇: K近邻学习