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

购物网站开发 webstorm揭阳seo快速排名

购物网站开发 webstorm,揭阳seo快速排名,网站开发导航,cname wordpress文章目录 一、什么是K近邻算法二、KNN算法流程总结三、Scikit-learn工具1、安装2、导入3、简单使用 三、距离度量1、欧式距离2、曼哈顿距离3、切比雪夫距离4、闵可夫斯基距离5、K值的选择6、KD树 一、什么是K近邻算法 如果一个样本在特征空间中的k个最相似(即特征空…

文章目录

  • 一、什么是K近邻算法
  • 二、KNN算法流程总结
  • 三、Scikit-learn工具
    • 1、安装
    • 2、导入
    • 3、简单使用
  • 三、距离度量
    • 1、欧式距离
    • 2、曼哈顿距离
    • 3、切比雪夫距离
    • 4、闵可夫斯基距离
    • 5、K值的选择
    • 6、KD树

一、什么是K近邻算法

如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

二、KNN算法流程总结

  • 1、计算已知类别数据集中的点与当前点之间的距离
  • 2、按距离递增排序
  • 3、选取与当前距离最小的k个点
  • 4、统计前k个点所在的类别出现的频率
  • 5、返回前k个点出现频率最高的类别作为当前点的预测分类

三、Scikit-learn工具

1、安装

pip3 install scikit-learn

2、导入

import sklearn

3、简单使用

在这里插入图片描述

三、距离度量

1、欧式距离

欧式距离是最容易直观理解的距离度量方法,我们小学、初中、高中接触到的两个点在空间中的距离一般都是值欧式距离。
在这里插入图片描述

2、曼哈顿距离

在这里插入图片描述

3、切比雪夫距离

在这里插入图片描述

4、闵可夫斯基距离

在这里插入图片描述

5、K值的选择

在这里插入图片描述

6、KD树

import numpy as np
# 自己实现kd树
# 一、构建kd树
# 1.确定根据哪一个维度进行划分,求方差,方差越大,数据越分散
# 2.以哪个点为切面,求中位数,离中位数越近的点作为根节点
# 3.比中位数的该维度小的放左边,大的放右边
# 4.重复以上步骤,所有的点就都在树中了
class KdNode(object):def __init__(self, node_data, split_index, left, right):self.node_data = np.array(node_data) # 节点的数据self.split_index = split_index # 分割的维度的序号self.left = left # 左节点self.right = right # 右节点class KdTree(object):split_index_list = np.array([])data = np.array([])rootNode = Nonedef __init__(self, data):self.k = len(data[0]) # 获取数据的维度self.data = np.array(data) # 所有的数据# 获取分割的维度顺序数组self.getSplitIndexList()# 构建树self.rootNode = self.createNode(0, self.data)def getSplitIndexList(self):# 获取方差排序后的下标的数组,最后[::-1来反转]self.split_index_list = np.argsort([np.var(self.data[:, (i)]) for i in range(self.k)])[::-1]def closest_to_median_index(self, array):median = np.median(array)diff = np.abs(array - median)return diff.argmin()  # 返回第一个最小差值的索引def createNode(self, index, dataList):if len(dataList) == 0:return Nonesplit_index = self.split_index_list[index]split_next = (index + 1) % self.k# 获取分割维度的中位数下标data_index = self.closest_to_median_index(dataList[:,(split_index)])# 获取该位置的数据rootData = dataList[data_index]# 删除找到的这个节点dataList = np.delete(dataList, data_index, 0)# 获取左侧的所有数据leftData = dataList[dataList[:,(split_index)] <= rootData[split_index]]# 获取右侧所有的数据rightData = dataList[dataList[:,(split_index)] > rootData[split_index]]return KdNode(rootData, split_index, self.createNode(split_next, leftData), self.createNode(split_next, rightData))
http://www.dtcms.com/wzjs/131218.html

相关文章:

  • 二手交易平台的网站怎么做网络推广方法有哪些
  • 有什么网站可以接淘宝设计单做关键词排名优化公司外包
  • wordpress网站如何制作百度推广代运营
  • 网站字体规范搜狗站长平台打不开
  • 创意设计说明范文网络seo软件
  • 微信到wordpress郑州seo代理公司
  • 推广联盟网站怎么做网游百度搜索风云榜
  • 网站网页相关概念微信小程序开发公司
  • wordpress模仿b站的主题百度推广的广告真实可信吗
  • 南通做网站推广的公司信息流优化师是什么
  • 网页设计建网站流程成都有实力的seo团队
  • 山东省和住房建设厅网站网页模板网站
  • 做高端网站的网络公司企业宣传ppt
  • 好商网推广网站排名优化seo教程
  • 深圳响应式网站建设哪家好品牌推广外包公司
  • 富阳网站seo价格网站怎么添加外链
  • 四川建网站seo软文推广
  • 视频网站开发背景电视剧排行榜
  • 福州市建设局网站太原网站建设方案咨询
  • 公司建网站费用怎么做分录湘潭关键词优化服务
  • 合肥网站制作哪家有名搜索引擎营销的6种方式
  • 怎样登网站阿里云万网域名注册
  • 都网站建设国际重大新闻事件10条
  • 嘉兴网站制作建设提高工作效率心得体会
  • 怎么做淘宝客导购网站莱阳seo排名
  • 青海网站 建设中国网络优化公司排名
  • 个人网站心得中国互联网协会官网
  • 平谷网站建设服务百度浏览器手机版
  • 昆山做网站怎么做泰安网站制作推广
  • 网站建设 创新百度竞价点击价格公式