机器学习day2

devtools/2024/11/14 15:17:51/

一、KNN算法简介

 KNN 算法,或者称 k最邻近算法,是 有监督学习中的分类算法 。它可以用于分类或回归问题,但它通常用作分类算法

二、KNN分类流程

1.计算未知样本到每一个训练样本的距离

2.将训练样本根据距离大小升序排列

3.取出距离最近的 K 个训练样本

4.进行多数表决,统计 K 个样本中哪个类别的样本个数最多

5.将未知的样本归属到出现次数最多的类别

三、KNN回归流程

1.计算未知样本到每一个训练样本的距离

2.将训练样本根据距离大小升序排列

3.取出距离最近的 K 个训练样本

4.把这个 K 个样本的目标值计算其平均值

5.作为将未知的样本预测的值

四、KNN算法中K的选择

K值过小,过拟合(模型更易受到异常点影响)

K值过大,欠拟合

五、KNN算法API使用

1.分类问题

scikit-learn中,可以使用KNeighborsClassifier类来实现KNN分类。以下是一个简单的示例:

# 导包
from sklearn.neighbors import KNeighborsClassifier# 导数据
x = [[0, 1, 3], [1, 3, 2], [2, 4, 5], [3, 6, 4]]
y = [0, 0, 1, 1]# 实例化对象
model = KNeighborsClassifier(n_neighbors=3) #参数n_neighbors指定了在预测时使用的邻居数量# 训练(-->评估)
model.fit(x, y) #fit计算每个数据点之间的距离# 预测
myret = model.predict([[4, 3, 7]])print(f'预测值:{myret}')

2.回归问题

对于回归问题,scikit-learn提供了KNeighborsRegressor类。以下是一个简单的示例:

# 导包
from sklearn.neighbors import KNeighborsRegressor
# 导数据
x = [[1, 2, 3], [2, 4, 5], [2, 3, 6], [4, 5, 1]]
y = [0.1, 0.2, 0.3, 0.4]
# 实例化对象
model = KNeighborsRegressor(n_neighbors=3)
# 训练
model.fit(x, y)
# 评估
mypre = model.predict([[2, 6, 3]])
print(f"预测值:{mypre}")

http://www.ppmy.cn/devtools/18358.html

相关文章

leetcode hot100_part25

2024/4/23 56.合并区间 略 189.轮转数组 使用额外数组 遍历老数组,每个位置的元素放到新数组的位置(取余)。 环状替换 这个思路也想到了但是没想出来。 也就是连续跳,从i位置跳到它应该在(取余后)的位置x,再从x位…

信号的调幅(AM)、调频(FM)与调相(PM)对频谱结构的影响(找找复刻电赛D题的伙伴)

0.目录 (1)调制与解调的基本概念 (2)调幅对频谱结构的影响 (3)调频信号幅值变化对频谱结构的影响 (4)调频信号频率变化对频谱结构的影响 (5)调幅调频信号…

【Linux】小知识点温习---命令

许多常见命令会用,但是很少注意他们的区别;亦或在学习中使用较少,容易忘记,今天做一个回顾。 ls系列 -a:显示所有文件(包括隐藏文件) -l:将文件以竖列形式显示 -i:显示文件的inode编号 pwd 显…

数字藏品:重塑艺术与科技的新媒介

数字藏品,这个新兴的词汇,正在逐渐渗透到我们的日常生活中。它不仅是一种新的艺术表达方式,更是一种科技与艺术相结合的全新媒介。那么,数字藏品究竟是什么呢? 首先,我们需要明确一点,数字藏品并…

5个神级点赞技巧,引爆你的快手作品热度!

在快手这个短视频平台,点赞是衡量作品是否受到欢迎的重要指标之一。一个视频能否成为热门话题,往往与其获得的点赞数密切相关。因此,掌握如何提高作品的点赞数,对每个创作者来说都至关重要。今天,我要与大家分享一些提…

Windows 安全中心:页面不可用 你的 IT 管理员已限制对此应用的某些区域的访问,并且你尝试访问的项目不可用。有关详细信息,请与 IT 支持人员联系。

问题 1:Windows 安全中心提示:【页面不可用 你的 IT 管理员已限制对此应用的某些区域的访问,并且你尝试访问的项目不可用。有关详细信息,请与 IT 支持人员联系。】 修复 Microsoft.SecHealthUI 方法 1:命令自动重装安…

如何重置vcenter网页登录密码

重置VMware vCenter Server的网页登录密码可以通过多种方法实现,以下是针对不同场景下的操作步骤: 1. 对于vCenter Server Appliance (VCSA): 重置root账户密码: 方法1:通过紧急shell 当忘记root密码时,需要通过紧急…

vscode在json文件中添加注释

1.在设置中输入关联文件,点击添加项; 2.