python人工智能,分类例解

2023-11-03

分类是一种常见的机器学习算法,是一种有监督的算法。简单说就是给出学习集数据都是带标签的,通过训练学习集数据获得模型,对未来给出的实际数据,根据模型进行分类。这里采用K最近邻算法(KNN,K-nearest neighbour)

KNN算法非常直观,容易理解,就是寻找K个距离最近的邻居,看这K个近邻中哪个分类标签多,样本就归于哪类。

下面以一个对学生文理、综合分类问题进行实例操作。

数据文件是一个学生成绩及分类表,样式如下

ID yingyu yuwen shuxue ClassifyResult
0 0 80 80 79 3
1 1 99 89 60 1
2 2 60 78 90 2
3 3 90 70 88 3
4 4 66 77 88 2

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

import pandas as pd

from sklearn import neighbors

df = pd.read_csv('student.csv')

train_x = df.iloc[0:80,2:4# 取数据集前80条记录的语文,数学成绩作为训练集输入

train_y = df.iloc[0:804# 取数据集前80条记录的标签值,即分类值作为训练集的输出

model = neighbors.KNeighborsClassifier() # 创建最近邻模型

model.fit(train_x, train_y) # 指定输入输出,创建模型

test_x = df.iloc[80:1002:4]# 取测试集输入

test_y = df.iloc[80:1004].values #取测试集输出,并将数据框转换成数组

test_p = model.predict(test_x)

print(test_p)

print(test_y)

rate = model.score(test_x,test_y) # 记算预测结果的正确率

print('预测结果的正确率是{0:*^10}'.format(rate))

  运行结果如下:

[3 1 1 3 3 3 1 1 3 2 2 3 1 3 1 3 3 3 3 1]
[2 3 3 3 3 3 1 1 2 2 2 3 1 3 1 3 1 1 3 3]
预测结果的正确率是***0.65***

此次预测的正确率为0.65,并不是很高,主要是输入训练文件质量不高造成的。但这个小程序实现了KNN分类算法的全部功能,还是值得借鉴的

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

python人工智能,分类例解 的相关文章

  • celery任务eta已关闭,使用rabbitmq

    我使用教程中的默认设置和在 ubuntu 上运行的rabbitmq 使 Celery 任务正常进行 当我毫不延迟地安排任务时 一切都很好 但是当我给他们一个预计时间时 他们会被安排在未来 就好像我的时钟在某个地方关闭了一样 下面是一些请求任
  • 在二维数组中进行所有可能的组合

    我正在尝试制作具有所有可能组合的 4x4 16 像素黑白图像数组 我制作了以下数组作为模板 template 0 0 0 0 start with all white pixels 0 0 0 0 0 0 0 0 0 0 0 0 然后我想迭
  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • 在 SQLAlchemy 中,过滤器是在连接之前还是之后应用?

    使用 SQLAlchemy 我执行如下查询 import models as m import sqlalchemy as sa s session maker q s query m ShareCount m Article join m
  • 学习Python中的解析器

    我记得我读过有关解析器的内容 您只需提供一些示例行 它就知道如何解析某些文本 它只是确定两条线之间的差异 以了解可变部分是什么 我以为它是用 python 写的 但我不确定 有谁知道那是什么图书馆吗 可能你的意思是模板制作器 http co
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • 如何在plotly(python)中的刻度标签和图形之间添加空格?

    如果我使用绘图创建水平条形图 则每个条形的标签都与图表相对应 我想在标签和图表之间添加一些空间 填充 边距 我怎样才能做到这一点 Example import plotly offline as py import plotly graph
  • DataFrame.loc 的“索引器太多”

    我读了关于切片器的文档 http pandas pydata org pandas docs stable advanced html using slicers一百万次 但我从来没有理解过它 所以我仍在试图弄清楚如何使用loc切片Data
  • Asyncio:从未检索到任务异常的怪异

    假设我有一个简单的代码 import asyncio async def exc print 1 0 loop asyncio get event loop loop create task exc try loop run forever
  • Python 中“is”运算符的语义是什么?

    如何is运算符确定两个对象是否相同 它是如何工作的 我找不到它的记录 来自文档 http docs python org reference datamodel html 每个对象都有一个身份 一个类型 和一个值 对象的身份 一旦发生就永远
  • 如何在Python中手动对数字列表进行排序?

    规格 Ubuntu 13 04 Python 3 3 1 背景 Python的初学者 遇到了这个 手动排序 问题 我被要求做的事情 让用户输入 3 个数值并将它们存储在 3 个不同的变量中 不使用列表或排序算法 手动将这 3 个数字从小到大
  • 使用 python 从 CSV 创建字典

    我有一个 CSV 格式的文件 其中 A B 和 C 是标题 我如何以Python方式将此CSV转换为以下形式的字典 A 1 B 4 C 7 A 2 B 5 C 8 A 3 B 6 C 9 到目前为止我正在尝试以下代码 import csv
  • 机器学习的周期性数据(例如度角 -> 179 与 -179 相差 2)

    我使用 Python 进行核密度估计 并使用高斯混合模型对多维数据样本的可能性进行排名 每一条数据都是一个角度 我不确定如何处理机器学习的角度数据的周期性 首先 我通过添加 360 来删除所有负角 因此所有负角都变成了正角 179 变成了
  • Kivy TextInput 水平和垂直对齐(文本居中)

    如何在 Kivy 的 TextInput 中水平居中文本 I have the following screen But I want to centralize my text like this 这是我的 kv 语言的一部分 BoxLa
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • 将 str.contains 映射到 pandas DataFrame

    python 初学者 我正在寻找创建字符串的字典映射以及关联的值 我有一个数据框 想要创建一个新列 如果字符串匹配 则会将该列标记为 x df pd DataFrame comp dell notebook dell notebook S3
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • python 中的 F 字符串前缀给出语法错误[重复]

    这个问题在这里已经有答案了 我有一个名为 method 的变量 它的值是 POST 但是当我尝试运行时print f method method is used 它不断在最后一个双引号处给出语法错误 我找不到它这样做的原因 我正在使用 py
  • 将二进制数据视为文件对象?

    在此代码片段 由另一个人编写 中 self archive是一个大文件的路径并且raw file是以二进制数据形式读取的文件内容 with open self archive rb as f f seek offset raw file s
  • 美丽的汤刮 - 登录凭据不起作用

    尝试使用登录凭据抓取页面 payload email gmail com password urls login url https www spotrac com signin url https www spotrac com nba

随机推荐

  • C++模版深度解析

    在C 发明阶段 C 之父Stroustrup和贝尔实验室的C 小组对原先的宏方法进行了修订 对其进行了简化并将它从预处理范围移入了编译器 这种新的代码替换装置被称为模板 而且它变现了完全不同的代码重用方法 模板对源代码重用 而不是通过继承和
  • 支持向量机SVM

    文章目录 SVM简单理解 SVM代码实现 导入数据集 SVM实现 画出支持向量 总结 SVM简单理解 在下二维平面存在以下数据点 不同颜色代表不同类别 现在需要画一条直线 想将两个类别分别开来 当有新数据加入时 根据这条直线 也能将新数据正
  • Vue:ElementUI怎么引入外部svg图标

    推荐阿里巴巴图标库 命令行运行npm install svg sprite loader 创建icons svg文件夹 将svg文件放在该文件夹下面 在components文件夹中创建svgiconfont vue文件 文件内容
  • 【啃书】《智能优化算法及其MATLAB实例》例7.2模拟退火算法进行函数寻优

    文章目录 问题描述 仿真过程 matlab源码 问题描述 仿真过程 matlab源码 该脚本要命名为func2 m 适应度函数 function value func2 x y value 5 cos x y x y y y y value
  • postgresql优化案例三:recheck cond

    文章目录 1 SQL语句 2 查看改善前执行计划 3 解决方案 3 1增加work mem的size 3 2 创建合适的索引 4 改善后执行计划 1 SQL语句 delete from sap dispatchingd hist a whe
  • 使用 VBA 自动化 Chrome / Edge

    介绍 Internet Explorer classic 下称IE 是基于ActiveX技术的 对于 Webscraping 或从 VBA 等 OLE 感知编程语言进行测试等任务 自动化 IE 非常容易 但微软将在不久的将来终止对 IE 的
  • C# 定义宏

    define ENABLE TEST 必须在 using 的上方定义 using System Collections using UnityEngine public class TestDefine MonoBehaviour void
  • 通配符*和?的区别

    通配符 和 的区别是 可以用来代替零个 单个或多个字符 而 仅可以使用代替一个字符 表示匹配的数量不受限制 而 的匹配字符数则受到限制
  • 17:UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence

    菜鸟学python习题17运行错误 我的 直接在open里加了一个 errors ignore 即可 第一个人 使用python的时候经常会遇到文本的编码与解码问题 其中很常见的一种解码错误如题目所示 下面介绍该错误的解决方法 将 gbk
  • Rocketmq机制回顾总结

    1 应用场景如解耦 削峰填谷 异步处理 分布式事务中间协调 2 nameserver producer broker consumer 3 brokerName brokerId brokerRole Namesrvaddr常用配置参数 4
  • mysql查询语句group by 语句报错

    高版本的mysql 在查询语句时 有group by 会报错 报错信息如下 gt 1055 Expression 40 of SELECT list is not in GROUP BY clause and contains nonagg
  • [nifi] 数据管理分发工具

    官方文档 Apache NiFi 运行 HOME bin run nifi bat 打开网页 127 0 0 1 nifi 账号密码 HOME logs nifi app log 找到如下字段 开始界面 简单实例 1 本地 gt 本地 2
  • sqlplus,imp 等命令无效解决

    今天我在数据库上准备导入数据 但在输入sqlplus nolog 时报出 sqlplus 不是有效的内部命令 解决方案 在oracle ora92 bin 下找到了 sqlplus imp exp 等命令 点开可以执行 也可以在dos下进入
  • C# 算法系列 - 贪婪算法(背包问题)

    using System namespace ConsoleApp1 class Program static void Main string args 贪婪算法 背包问题 背包问题 Knapsack problem 是一种组合优化的NP
  • React 第七章 条件渲染

    根据条件渲染不同组件 可以实现组件的显示与隐藏 第一种 在函数内部通过属性props条件的判断 返回不同的组件 进行控制显示隐藏 如果返回null则表示不展示隐藏 1 条件渲染 function UserGreeting props ret
  • 银河麒麟软件源更新

    银河麒麟有用软件源 1 银河麒麟系统无法更新下载软件 原因是软件源失效 2 需要更换有效的软件源 3 修改软件源地址 在etc apt 的sources list文件里添加镜像源 deb http archive ubuntu com ub
  • js 在元素前后添加元素

    在元素前后添加创建的元素 话不多说 直接上代码 div div
  • axios上传formdata失败以及nodejs接受formdata失败

    axios上传formdata失败以及nodejs接受formdata失败 今天用nodejs写一个上传图片的功能 因为这个功能是用在vue中的 我首先在nodejs服务器上用jquery的ajax写好了这个功能 可是移植到vue中却出现了
  • 怎么查mac电脑是不是正品_mac电脑怎么投屏 教你选择适合自己的Mac投屏软件

    mac上有什么好的投屏软件嘛 苹果手机ios投屏到mac用哪款投屏软件 mac投屏ipad该用哪款软件怎么操作 macdown小编给大家介绍的这几款Mac投屏软件 各有各的特色 总有一款适合你投屏 1 AIrServer 7 for Mac
  • python人工智能,分类例解

    分类是一种常见的机器学习算法 是一种有监督的算法 简单说就是给出学习集数据都是带标签的 通过训练学习集数据获得模型 对未来给出的实际数据 根据模型进行分类 这里采用K最近邻算法 KNN K nearest neighbour KNN算法非常