重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这期内容当中小编将会给大家带来有关python中K-NN算法的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的沧源网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
1、定义
如果⼀个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某⼀个类别, 则该样本也属于这个类别。(起源:KNN最早是由Cover和Hart提出的一种分类算法);俗话就是:根据“邻居”来推断出你的类别。
2、基本流程
(1)计算已知类别数据集中的点与当前点之间的距离2)按距离递增次序排序
(2)选取与当前点距离最小的k个点
(3)统计前k个点所在的类别出现的频率
(4)返回前k个点出现频率最高的类别作为当前点的预测分类
3、实例
代码涉及sklean库,需要安装sklearn库。
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier # 1.获取数据 iris = load_iris() # 2.数据基本处理:训练集的特征值x_train 测试集的特征值x_test 训练集的⽬标值y_train 测试集的⽬标值y_test, ''' x: 数据集的特征值 y: 数据集的标签值 test_size: 测试集的⼤⼩, ⼀般为float random_state: 随机数种⼦,不同的种⼦会造成不同的随机采样结果。 相同的种⼦采样结果相同 ''' x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22) # 3.特征工程 - 特征预处理 transfer = StandardScaler() x_train = transfer.fit_transform(x_train) x_test = transfer.transform(x_test) # 4.机器学习-KNN # 4.1 实例化一个估计器 estimator = KNeighborsClassifier(n_neighbors=5) # 4.2 模型训练 estimator.fit(x_train, y_train) # 5.模型评估 # 5.1 预测值结果输出 y_pre = estimator.predict(x_test) print("预测值是:\n", y_pre) print("预测值和真实值的对比是:\n", y_pre==y_test) # 5.2 准确率计算 score = estimator.score(x_test, y_test) print("准确率为:\n", score)
上述就是小编为大家分享的python中K-NN算法的作用是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。