您当前的位置: 首页 >  算法

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

k近邻算法api初步使用

IT之一小佬 发布时间:2021-03-04 23:50:39 ,浏览量:0

k近邻算法api初步使用 机器学习流程复习:

  • 1.获取数据集
  • 2.数据基本处理
  • 3.特征工程
  • 4.机器学习
  • 5.模型评估
1 Scikit-learn工具介绍

  • Python语言的机器学习工具
  • Scikit-learn包括许多知名的机器学习算法的实现
  • Scikit-learn文档完善,容易上手,丰富的API
  • 目前稳定版本0.19.1
  • 【优势:1.文档多,且规范;2.包含的算法多;3.实现起来容易】
1.1 安装
pip3 install scikit-learn==0.19.1

安装好之后可以通过以下命令查看是否安装成功

import sklearn
  • 注:安装scikit-learn需要Numpy, Scipy等库
1.2 Scikit-learn包含的内容

  • 分类、聚类、回归
  • 特征工程
  • 模型选择、调优
2 K-近邻算法API
  • sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)  【n_neighbors是固定变量,不能改变,一般选择奇数不选择偶数】
    • n_neighbors:int,可选(默认= 5),k_neighbors查询默认使用的邻居数
3 案例 3.1 步骤分析
  • 1.获取数据集
  • 2.数据基本处理(该案例中省略)
  • 3.特征工程(该案例中省略)
  • 4.机器学习
  • 5.模型评估(该案例中省略)
3.2 代码过程
  • 导入模块
from sklearn.neighbors import KNeighborsClassifier
  • 构造数据集
x = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
  • 机器学习 -- 模型训练
# 实例化API
estimator = KNeighborsClassifier(n_neighbors=2)
# 使用fit方法进行训练
estimator.fit(x, y)

estimator.predict([[1]])

示例代码:

from sklearn.neighbors import KNeighborsClassifier

#  构造数据集
x = [[0], [1], [2], [3]]  # 二维列表,认为0,1为0类别,认为2为1类别,认为3为1类别
y = [0, 0, 3, 4]

#  机器学习--模型训练
#  实例化一个API
estimator = KNeighborsClassifier(n_neighbors=2)  # 参考两个数据
#  使用fit方法进行训练
estimator.fit(x, y)

#  预测其值
ret = estimator.predict([[1]])
print(ret)

运行效果:

4 小结
  • 最近邻 (k-Nearest Neighbors,KNN) 算法是一种分类算法,

  • 1968年由 Cover 和 Hart 提出,应用场景有字符识别、文本分类、图像识别等领域。

  • 该算法的思想是:一个样本与数据集中的k个样本最相似,如果这k个样本中的大多数属于某一个类别.

  • 实现流程

    1)计算已知类别数据集中的点与当前点之间的距离

    2)按距离递增次序排序

    3)选取与当前点距离最小的k个点

    4)统计前k个点所在的类别出现的频率

    5)返回前k个点出现频率最高的类别作为当前点的预测分类

  •  
关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0396s