修改预测函数

简介: 【7月更文挑战第22天】修改预测函数。

修改预测函数
def predict_math(X, xtrain, ytrain):

  # 求L2距离
  distances = [sqrt(np.sum((X_train - X) ** 2)) for X_train in xtrain]
  # 对数组进行排序,返回的是值的索引值
  nearest = np.argsort(distances)
  # 取出前3个离得最近的点的标签
  k = 3
  topK_y = [ytrain[i] for i in nearest[:k]]
  # 计数,取到键值对。键:标签;值:个数
  votes = Counter(topK_y)
  # 在键值对中值最多的键
  print(votes.most_common(1)[0][0])

  # 得到最接近的3个点的索引值
  k = 3
  topK_X = nearest[:k]
  for i in range(3):
       # 绘制预测点与最接近的3个点连成的直线
       plt.plot([X[0], xtrain[topK_X[i]][0]], [X[1], xtrain[topK_X[i]][1]])
       # 绘制预测点与最接近的3个点之间的长度
       plt.annotate("%s"%round(distances[topK_X[i]], 2),
                          xy=((X[0] + xtrain[topK_X[i]][0]) / 2,(X[1] + 

xtrain[topK_X[i]][1]) / 2))
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.scatter(x_train[y_train == 0, 0], x_train[y_train == 0, 1], marker="*")
plt.scatter(x_train[y_train == 1, 0], x_train[y_train == 1, 1], marker="^")
plt.scatter(x_train[y_train == 2, 0], x_train[y_train == 2, 1], marker="s")
plt.scatter(x_test[0], x_test[1], marker="o")
plt.show()
在输出所属类别的基础上绘制预测点与最接近的3个点连成的直线,并标出它们的距离,KNN结果如图所示。

KNN结果

目录
相关文章
|
资源调度 开发者
Vue2选择器(Select)
这是一个基于Vue3的选择器组件(VueAmazingSelector),已在npm上发布,方便快捷地通过`yarn add vue-amazing-selector`进行安装。此组件允许全局或局部注册,并提供了丰富的自定义属性,如选项数据、选择器文本字段名、值字段名、默认文字、禁用状态、清除功能等。同时,它还支持调整选择框的尺寸和下拉项数量,并附有详细的使用示例和代码片段,便于开发者快速集成和定制。
272 1
Vue2选择器(Select)
|
12月前
|
数据挖掘
置信区间与预测区间:数据科学中的不确定性量化技术深度解读
本文深入探讨了统计学中两个常见但容易混淆的不确定性量化工具:置信区间和预测区间。
1115 1
置信区间与预测区间:数据科学中的不确定性量化技术深度解读
|
关系型数据库 MySQL 分布式数据库
ES如何做到亿级数据查询毫秒级返回
ES如何做到亿级数据查询毫秒级返回
233 0
|
人工智能 架构师 测试技术
【云故事探索】NO.7:「越用越上瘾」,中华财险60%研发人员用通义灵码提效
保险业被视为社会“稳定器”与经济“助推器”,正快速数字化转型。中华联合财产保险股份有限公司运用“云+大模型”技术革新业务,通过阿里云的通义灵码大幅提升编码效率,近60%的研发人员采用,采纳的生成代码占比约20%,显著提升了团队创新能力与代码质量,并积极探索大模型在更多垂直业务场景的应用。
【云故事探索】NO.7:「越用越上瘾」,中华财险60%研发人员用通义灵码提效
|
Kubernetes 应用服务中间件 nginx
基于容器化的Web服务器管理
【8月更文第28天】随着云原生技术的发展,容器化已经成为部署和管理应用程序的标准方式之一。Docker 和 Kubernetes 等工具提供了强大的容器管理和编排能力,使得开发者能够轻松地部署、扩展和维护 Web 服务器。本文将详细介绍如何使用 Docker 和 Kubernetes 实现 Web 服务器的容器化部署,并提供详细的步骤和代码示例。
503 1
|
前端开发
Bootstrap样式(下)
Bootstrap样式(下)
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 取消挂载 umount命令使用教程
【Shell 命令集合 磁盘管理 】Linux 取消挂载 umount命令使用教程
813 1
|
移动开发 Linux 数据安全/隐私保护
【教程】cocos2dx资源加密混淆方案详解
【教程】cocos2dx资源加密混淆方案详解
164 1
|
存储 缓存 算法
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)(下)
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)
199 0