Python学习系列文章:👉 目录 👈
一、K-近邻算法概述
K-紧邻算法(K Nearest Neighbor,简称 KNN)Cover 与 Hart 提出的机器学习中比较经典的算法之一,简单定义如下:
如果一个样本在特征空间中的 k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
通过这种方式,我们就能对样本进行分类。
举个例子,判断4号是男是女?
人物 | 头发 | 指甲 | 步长 | 声音 | 性别 |
---|---|---|---|---|---|
1号 | 长 | 长 | 短 | 轻柔 | 女 |
2号 | 短 | 短 | 长 | 粗犷 | 男 |
3号 | 长 | 短 | 长 | 粗犷 | 男 |
4号 | 长 | 短 | 短 | 轻柔 | ? |
K-近邻算法便是如此,通过已有的一系列的、数据,判断未知的那个是什么类别。
二、api 的初步使用
1. Scikit-learn 简介及安装
Scikit-learn 是 Python 的一个机器学习工具,包括分类、聚类、回归、特征工程、模型选择、调优等等功能。
pip install scikit-learn #电脑装有 Python2 的可能要用 pip3
安装完后便可以开始使用。
2. K-近邻算法 api 及使用
① api
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)
- n_neighbors:int,可选(默认为 5),表示查询默认使用的邻居数
② 简单使用
Ⅰ、使用步骤
1.获取数据集
2.数据基本处理
3.特征工程
4.机器学习
5.模型评估
Ⅱ、代码示例
① 导入模块
from sklearn.neighbors import KNeighborsClassifier
② 构造数据集
x = [[0], [1], [2], [3]]
y = [0, 1, 1, 1]
③ 机器学习(模型训练)
# 实例化API
estimator = KNeighborsClassifier(n_neighbors=2)
# 使用fit方法进行训练
estimator.fit(x, y)
# 预测
print(estimator.predict([[1]])) # 0