【kneighborsclassifier 函数及其参数介绍】

文章目录

  • 一、kneighborsclassifier是什么?
  • 二、使用步骤
  • 三、kneighborsclassifier函数及其参数详解
    • 1. 参数说明

一、kneighborsclassifier是什么?

kneighborsclassifierscikit-learn 库中 K-近邻算法的实现,用于分类任务。KNN 算法的基本思想是给定一个样本数据集,对于每个输入的新数据点,找到其在样本数据集中最近的 K 个数据点,根据这 K 个邻居的类别来预测新数据点的类别。


二、使用步骤

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report, confusion_matrix
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris# 载入数据
iris = load_iris()
X = iris.data
y = iris.target# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
scaler = StandardScaler()
scaler.fit(X_train)X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
# 初始化KNN分类器
knn = KNeighborsClassifier(n_neighbors=5)# 训练模型
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)# 分类报告
print(classification_report(y_test, y_pred))# 可视化混淆矩阵
confusion = confusion_matrix(y_test, y_pred)
plt.matshow(confusion)
# 设置中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 在每个单元格中添加数字
for i in range(confusion.shape[0]):for j in range(confusion.shape[1]):plt.text(x=j, y=i, s=str(confusion[i, j]), va='center', ha='center', color='red')plt.colorbar()
plt.ylabel('实际类型')
plt.xlabel('预测类型')
plt.title('混淆矩阵')
plt.show()

三、kneighborsclassifier函数及其参数详解

1. 参数说明

  • n_neighbors: 用于指定邻居的数目,默认值是 5。
  • weights: 用于确定邻居对预测的贡献。可以是 ‘uniform’(默认值,表示所有邻居的权重相同),‘distance’(邻居的权重与距离成反比),或者用户自定义的权重函数。
  • algorithm: 用于计算最近邻居的算法。可选值有 ‘auto’(默认值,根据数据选择最佳算法),‘ball_tree’,‘kd_tree’,以及 ‘brute’。
  • leaf_size: 用于指定 BallTree 或 KDTree 中叶节点的大小,默认值是 30。影响树的构建和查询速度。
  • p: 用于指定距离度量的方法。p=2 是欧氏距离,p=1 是曼哈顿距离。
  • metric: 用于指定距离度量,默认值是 ‘minkowski’。
  • metric_params: 用于指定距离度量的附加参数,默认是 None。
  • n_jobs: 用于指定并行运行的作业数量。-1 表示使用所有的处理器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爽!强化学习+注意力机制,吞吐量提升了10多倍!

通过引入注意力机制,强化学习模型不仅能够更加高效地处理复杂的环境和任务,还能在学习和决策过程中实现更高的精度和适应性。 因此这种结合迅速成为了各大领域的研究热点,而且已经在实际应用中有了显著的性能提升。比如分散式强化学习框架SA…

在嵌入式商用里面哪款RTOS(实时操作系统)比较多人用?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 传统的RTOS和嵌入式Linu…

JWT原理与在身份验证中的应用

JWT原理与在身份验证中的应用 大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨JWT(JSON Web Token)的原理及其在身份验证中的广泛应用。 JWT简介 JWT是一种…

Qt中使用MySQL数据库详解,好用的模块类封装

本文将详细介绍如何在Qt应用程序中集成MySQL数据库,并封装实现好用的mysql数据库操作类。包括环境准备、连接数据库、执行查询及异常处理等关键步骤,同时包含mysql驱动的编译。分享给有需要的小伙伴,喜欢的可以点击收藏。 目录 环境准备 项…

javaSE期末练习题

文章目录 前言一、程序控制1.顺序结构问题描述解题思路题解 2.选择结构2.1 题1问题描述解题思路题解 2.1 题2问题描述解题思路题解 3.循环结构3.1 阶乘的求取问题描述解题思路题解 3.2 水仙花数问题描述解题思路题解 二、数组三、类与对象1.类与对象1.1圆类问题描述解题思路题解…

从云原生视角看 AI 原生应用架构的实践

本文核心观点: 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。AI 原生应用对网关的需求超越了传统的路…

使用myCobot和OAK-D OpenCV DepthAI摄像头制作一个可以在眼前始终享受视频的手机支架!

引言 由于YouTube和Netflix的出现,我们开始躺着看手机。然而,长时间用手拿着手机会让人感到疲劳。这次我们制作了一个可以在你眼前保持适当距离并调整位置的自动移动手机支架,让你无需用手拿着手机。请务必试试! 准备工作 这次我们…

电脑文件自动备份:构建坚不可摧的数据防护网

在数字化浪潮的推动下,电脑已成为我们日常生活和工作中不可或缺的一部分,它承载着海量的个人信息、工作文档、学习资料等重要数据。然而,随着数据量的不断膨胀,数据安全问题也日益严峻。硬盘故障、系统崩溃、病毒攻击、人为误操作…

Echarts-仪表盘

1.案例一 1.1代码 option = {"series": [{"type": "gauge", "startAngle": 180, "endAngle": 0, "min": 0, "max": 100, "radius": "100%","center": ["50%"…

【中项第三版】系统集成项目管理工程师 | 第 2 章 信息技术发展

前言 第2章对应的内容大概率仅考察选择题,通读教程,速战速决。选择题分值预计在2-5分,属于必考的知识点。 2.1 信息技术及其发展 信息技术是在信息科学的基本原理和方法下的关于一切信息的产生、信息的传输、信息的发送、信息的接收等应用技…

Python中函数参数的传递技巧

刚开始接触Python时,你可能会因为函数参数传递的问题而感到困惑。理解位置参数和关键字参数的区别,并学会如何限定参数传递方式,可以帮助你有效避免常见的错误。 在这篇文章中,我们将介绍一种特殊的语法——使用斜杠(…

2Python的Pandas:读取数据

1.读取Excel文件 1.1.读取数据 import pandas as pd# Excel 文件的 URL 或本地路径 url "https://www.gairuo.com/file/data/dataset/team.xlsx"# 使用 Pandas 的 read_excel 函数读取数据 try:df pd.read_excel(url)print(df.head()) # 打印 DataFrame 的前几行…

k8s公网集群安装(1.23.0)

网上搜到的公网搭建k8s都不太一致, 要么说的太复杂, 要么镜像无法下载, 所以写了一个简洁版,小白也能一次搭建成功 使用的都是centos7,k8s版本为1.23.0 使用二台机器搭建的, 三台也是一样的思路1.所有节点分别设置对应主机名 hostnamectl set-hostname master hostnamectl set…

简述设计模式-代理模式

概述 代理模式:一个类代表另一个类的功能。代理模式通过引入一个代理对象来控制对员对象的访问。 举个例子,就像明星都有经纪公司,商业合作都是直接和经济公司沟通,不会直接和明星沟通。 律师和委托人就是代理关系,…

域名可用性查询的步骤

在互联网时代,拥有一个独特的域名是至关重要的。域名不仅代表了您的在线身份,也是您品牌、个人或企业在数字世界中的门面。域名的可用性查询是注册域名前的关键步骤,本文将详细介绍如何进行域名可用性查询,并提供一些有用的技巧和…

使用Python实现日历生成器

文章目录 准备工作实现步骤1. 导入calendar模块2. 获取用户输入3. 生成并打印日历完整代码示例 扩展功能 在这个技术博客中,我们将探索如何使用Python来创建一个简单的日历生成器。这个日历生成器将能够根据用户输入的年份和月份,生成并显示该月的日历。…

Promise,async/await的运用

一,了解Promise Promise是异步编程的一种解决方案,它是一个对象,可以获取异步操作的消息,它的出现避免了地狱回调。 (1)Promise的实例有三个状态: Pending(进行中) Re…

如何找BMS算法、BMS软件的实习

之前一直忙,好久没有更新了,今天就来写一篇文章来介绍如何找BMS方向的实习,以及需要具备哪些条件,我的实习经历都是在读研阶段找的,读研期间两段的实习经历再加上最高影响因子9.4分的论文,我的秋招可以说是…

C - Popcorn(abs358)

题意&#xff1a;有n个摊子&#xff0c;m个爆米花&#xff0c;想花费最少去的店铺买到所有的口味的爆米花&#xff0c;找到每一列都为‘o’的最少行数。 分析&#xff1a;用dfs寻找最少路径 #include<bits/stdc.h> using namespace std; typedef long long ll; char x;…

后台运行大师:HarmonyOS 3.0中如何轻松设置APP常驻后台

有不少人想要让某些常用的APP直接挂在后台&#xff0c;减少应用程序自动关闭的情况。这种需求&#xff0c;其实就是希望APP能够“保持在后台运行”。 本篇文章用14张图片、7大步骤&#xff0c;讲解手机如何将某个APP保持在后台运行。图片直接使用的是华为手机HarmonyOS 3.0的手…