python 简单k近邻分类器的实现

2023-11-13

(1)问题:

在此使用k近邻算法实现一个简单分类器。

其中model.xls表样式如下表1所示:

表1:model.xls数据表

分析:①数据存放在model.xls中,需要利用panda数据,对数据进行切片为指标和结果。

②切片后的数据类型为dataframe类型,需要转换为列表才能对数据进行处理。

③利用sklearn.neighbors的KNeighborsClassifier实现一个简单的k近邻分类器。

④利用该k近邻分类器对原指标数据进行预测。

⑤计算出分类器的准确率。

代码如下:

import pandas as pd #导入数据分析库Pandas
from sklearn.neighbors import KNeighborsClassifier #导入k近邻分类器KNeighborsClassifier

inputfile = 'model.xls' #输入数据路径,需要使用Excel格式;

data = pd.read_excel(inputfile, header=None) #读入数据

#切出指标数据片,并转换为列表
datas_frame_index = data.iloc[1:292,0:3] 
datas_list_index = datas_frame_index.values.tolist()
# print(datas_list_index)

#切出结果数据片,并转换为列表
datas_frame_result = data.iloc[1:292,3]
datas_list_result= datas_frame_result.values.tolist()
# print(datas_list_result)

x=datas_list_index #指标
y=datas_list_result #结果
 
neigh=KNeighborsClassifier(n_neighbors=5)  #最近的五个点是哪类则归为哪类
neigh.fit(x,y) #放入原因和结果,构造k近邻分类器
 
predict_array =neigh.predict(datas_list_index)  #对原指标数据进行预测
# print(predict_array)
# print(type(predict_array))

#计算分类器准确率
count = 0
for i in range(291):
#     print(predict_array[i])
    if predict_array[i]==datas_list_result[i]:
        count = count + 1
rate_correct = count/291*100
print(f'分类器准确率为{rate_correct}%')

其中datas_list_index如下图1所示,datas_list_result如下图2所示:

 图1 datas_list_index

  图2 datas_list_result

运行结果截图,如下图3所示:

 图3 运行结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 简单k近邻分类器的实现 的相关文章

  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp

随机推荐

  • 笔记本突然无线和有线都不能使用

    记录下 昨天突然电脑wifi和插网线均不能上网 或者说没有任何反应 后 查看驱动情况发现带黄色感叹号 于是 去官网下载各种驱动 或者还原驱动到最初版本均不能解决问题 遂认为有可能网卡坏了 然后JD买了外置网卡 也不能解决 后采用驱动精灵中找
  • casset setup驱动下载_如何安装驱动程序

    驱动程序到底是什么 这是一个跟自然世界很难找到对照的事物 实在要找的话好比是翻译 电脑的硬件设备跟软件之间的翻译 例如摄像头 需要安装驱动程序才能工作 摄像头作为硬件能识别的是很底层的硬件指令 而电脑操作系统应用软件处于系统的上层 他们之间
  • JAVA——形参和返回值

    形参和返回值 1 1 类名作为形参和返回值 方法的形参是类名 其实需要的是该类的对象 方法的返回值是类名 其实返回的是该类的对象 1 2 抽象类名作为形参和返回值 方法的形参是抽象类名 其实需要的是该抽象类的子类对象 方法的返回值是抽象类名
  • startThreadPool调用流程

    ProcessState self gt startThreadPool 1 startThreadPool 的主要作用是 ProcessState cpp 调用spawnPooledThread true 2 spawnPooledThr
  • CSND文章阅读数自动增加

    原理 通过不断刷新网页来实现阅读数增加 import time from selenium import webdriver 自动刷新网页 def refresh url 驱动要自己去下载 具体方法CSDN一堆 下载谷歌浏览器驱动后需要把驱
  • Python 第2章 基本数据类型课后习题参考答案

    第2章课后习题参考答案 一 单选题 Python 中 0 和 0 0 的区别是 答案为B A 大小不同 B 类型不同 C 进制不同 D 完全一样 以下不是 Python 数据类型名称的是 答案为D A int B float C list
  • 深度学习可视化工具FiftyOne介绍

    FiftyOne是用于构建高质量数据集和计算机视觉模型的开源工具 由Python语言实现 最新发布版本为v0 14 0 它的License是Apache 2 0 源码位于https github com voxel51 fiftyone F
  • 积分商城能给商家带来哪些帮助?

    说起积分商城 不少人都大概接触过 甚至使用过 最常见的 例如我们使用的手机号码就有积分商城的存在 通过充值话费 会累积一定的消费积分 而这些积分通常在手机营业厅APP上可以查询到其作用 早期的积分商城玩法较少 如今已经变得很成熟 常见的有积
  • python里object是什么类型_Python object类中的特殊方法

    python版本 3 8 class object The most base type del obj xxx或delattr obj xxx 时被调用 删除对象中的一个属性 def delattr self args kwargs re
  • (Ubuntu Linux)Conda安装Pytorch2.0-Python3.8-Cuda11.7

    Ubuntu Linux Conda安装Pytorch2 0 Python3 8 Cuda11 7 一 安装Anaconda 安装包下载 https repo anaconda com archive 1 选择合适的安装包 每个版本中对应不
  • AppScan安全漏洞报告

    1 会话cookie 中缺少HttpOnly 属性 修复任务 向所有会话cookie 添加 HttpOnly 属性 解决方案 过滤器中 Java代码 HttpServletResponse response2 HttpServletResp
  • Linux-DM9000C网卡移植(详解)

    上一节 我们学习了 网卡驱动介绍以及制作虚拟网卡驱动 http www cnblogs com lifexy p 7763352 html 接下来本节 学习网卡芯片DM9000C 如何编写移植DM9000C网卡驱动程序 1 首先来看DM90
  • spring boot 的 ApplicationContext 及 getbean

    在spring中 我们通过如下代码取得一个spring托管类 ApplicationContext ac new FileSystemXmlApplicationContext applicationContext xml ac getBe
  • 红日安全vulnstack-ATT&CK实战系列 红队实战(四)

    一 介绍 下载地址http vulnstack qiyuanxuetang net vuln detail 6 strusts漏洞利用phpmyadmin getshell tomcat 漏洞利用 docker逃逸 ms14 068 ssh
  • AutoScraper——爬虫神器

    AutoScraper是一个自动化的爬虫工具 非常智能 而且使用简单便捷 AutoScraper 是使用 Python 实现的 Web 爬虫 兼容 Python 3 能快速且智能获取指定网站上的数据 在github上具有4 8K githu
  • springboot结合redis(保存用户登录信息)

    一 导入包
  • 1.计算机图形学 实验 线条(利用C语言图形函数绘图)

    1 修改例1的代码 改变顶点个数 要求50个顶点 使得得到的图形更逼近于正圆 在实验报告中给出完整的代码和对应的运行结果截图 include
  • 用python比较大小

    1 比较 ax lt xa 的大小 代码为 print ax lt xa 结果为True print ord a print ord x 字符串是通过ASCII表来进行顺次为比较大小 2 is与 的区别 print 1 is True 为F
  • Java为什么不能写大型游戏?

    所谓大游戏 一般指端游 必须是C 没办法 C 和java的效率还是有很大差距的 基本上所有东西都可以用java开发 但是java致命的一点就是不能直接操作内存 只能安装虚拟机 这就造成了java的开发有很多局限性 但是java提供了本地方法
  • python 简单k近邻分类器的实现

    1 问题 在此使用k近邻算法实现一个简单分类器 其中model xls表样式如下表1所示 表1 model xls数据表 分析 数据存放在model xls中 需要利用panda数据 对数据进行切片为指标和结果 切片后的数据类型为dataf