当前位置: 首页 > wzjs >正文

南通开发区:高质量发展百度seo搜索引擎优化方案

南通开发区:高质量发展,百度seo搜索引擎优化方案,wordpress 社会化评论插件,成品短视频app的推荐功能一、简介 K最近邻(K-Nearest Neighbors, KNN)​ 是一种简单且直观的监督学习算法,适用于分类和回归任务。其核心思想是:​相似的数据点在特征空间中彼此接近。KNN通过计算新样本与训练数据中各个样本的距离,找到最近的…

一、简介

K最近邻(K-Nearest Neighbors, KNN)​ 是一种简单且直观的监督学习算法,适用于分类和回归任务。其核心思想是:​相似的数据点在特征空间中彼此接近。KNN通过计算新样本与训练数据中各个样本的距离,找到最近的K个邻居,并根据这些邻居的标签进行预测。

对于分类任务:新样本的类别由K个最近邻居中多数决定

对于回归任务:新样本的输出值由K个最近邻居的平均值决定

二、算法步骤

1.计算距离:

比如传入一个点,先计算这个点于所有样本的距离

2.选择K值

选取距离这个点最近的K个点

3.投票或者加权平均

如果是分类任务,那么就统计K个邻居中的类别数量,拥有最多点的类别就是这个点的类别。如果是回归任务:计算K个邻居的的平均值,这个值就是这个点的值

三、距离计算公式

1.欧式距离:

适用于连接特征

 2.曼哈顿距离:

适用于高维数据或稀疏数据,因为那样计算简单

 

四、K值的选择

1.如果k过小,模型对噪声敏感,容易过拟合。

2. 如果k过大,模型过于平滑,可能欠拟合。

3.最好的办法是通过交叉验证来选择最优的k值

五、KNN代码

import numpy as np
from collections import Counter
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScalerclass KNN:def __init__(self, k=5, distance_metric='euclidean'):self.k = kself.distance_metric = distance_metricdef fit(self, X, y):self.X_train = Xself.y_train = ydef predict(self, X_test):predictions = []for x in X_test:# 计算距离if self.distance_metric == 'euclidean':distances = np.sqrt(np.sum((self.X_train - x) ​** 2, axis=1))elif self.distance_metric == 'manhattan':distances = np.sum(np.abs(self.X_train - x), axis=1)else:raise ValueError("Unsupported distance metric")# 获取最近的k个样本的索引k_indices = np.argsort(distances)[:self.k]# 获取这些样本的标签k_labels = self.y_train[k_indices]# 多数投票,如果是回归任务则代码是:predictions.append(np.mean(k_labels))most_common = Counter(k_labels).most_common(1)predictions.append(most_common[0][0])return np.array(predictions)# 测试代码
if __name__ == "__main__":# 加载数据iris = load_iris()X, y = iris.data, iris.target# 数据预处理scaler = StandardScaler()X = scaler.fit_transform(X)# 划分数据集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)# 训练模型knn = KNN(k=5, distance_metric='euclidean')knn.fit(X_train, y_train)# 预测y_pred = knn.predict(X_test)# 计算准确率accuracy = np.sum(y_pred == y_test) / len(y_test)print(f"准确率: {accuracy:.4f}")  # 准确率:0.9778

http://www.dtcms.com/wzjs/501830.html

相关文章:

  • 做网站互联网公司排名软文代写费用
  • 国外vps私人网站优化排名软件推广
  • 学校校园网站建设方案深圳网站关键词排名优化
  • 宁夏做网站建设公司百度引擎入口
  • 上海电子通科技网站建设网站下载
  • 手机网站页面布局游戏推广对接平台
  • 室内设计ppt模板免费东莞关键词排名快速优化
  • 宁波网站建设招商加盟输入关键词进行搜索
  • 宁波网站建设rswl百度关键词推广方案
  • 广西网站制作公司合肥网络优化推广公司
  • 东莞视频网站制作广州最新消息
  • 宜宾建设网国内好的seo
  • 临沂网站建设举措百度热搜关键词排名
  • wordpress站群 优化单个药品营销策划方案
  • 免费app制作工具湖南网站seo找行者seo
  • 武汉网站的制作市场推广计划怎么写
  • 网站建设伍金手指下拉7搜索引擎排名优化包括哪些方面
  • 江西求做网站百度平台商家客服电话
  • 想做网站怎么跟做网站的公司谈判百度搜索引擎的功能
  • 明年做那个网站致富seo是什么职位简称
  • 网站使用的主色调拉新推广渠道
  • 怎样推销网站建设软文营销成功案例
  • 昆明旅行社网站开发百度一下官网入口
  • 网站建设 中企动力泉州抖音搜索关键词推广
  • 柳州市建设投资开发公司网站深圳全网推互联科技有限公司
  • 广州网站建设解决方案百度站长平台如何添加网站
  • 陕西的网站建设公司哪家好seo优化推广
  • php网站搭建教程账号权重查询
  • 动态网站开发平台用什么好seo外包公司费用
  • 上海网站制作怎么选网站seo优化有哪些方面