KNN算法项目实战之酒的分类

加载数据集

from sklearn.datasets import load_winewine_dataset = load_wine()

在这里插入图片描述

数据集有什么?

在这里插入图片描述

data:数据

target:目标分类

target_names:目标分类名称

DESCR:数据描述

features_names:特征变量名称

查看数据集大小:
在这里插入图片描述

数据准备

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_splitwine_dataset = load_wine()
X_train, X_test, y_train, y_test = train_test_split(wine_dataset["data"], wine_dataset["target"], random_state=0)

KNN 训练模型

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifierwine_dataset = load_wine()
X_train, X_test, y_train, y_test = train_test_split(wine_dataset["data"], wine_dataset["target"], random_state=0)knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)

使用模型对测试数据集进行预测

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifierwine_dataset = load_wine()
X_train, X_test, y_train, y_test = train_test_split(wine_dataset["data"], wine_dataset["target"], random_state=0)knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)print(knn.score(X_test, y_test))

分数只有0.75,比较低。
在这里插入图片描述

邻居数量调整成4的时候,分数会变成0.77,稍微高一点点:
在这里插入图片描述

对新酒进行预测

特征变量表如下:
在这里插入图片描述

编写代码,进行预测:

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import numpy as npwine_dataset = load_wine()
X_train, X_test, y_train, y_test = train_test_split(wine_dataset["data"], wine_dataset["target"], random_state=0)knn = KNeighborsClassifier(n_neighbors=4)
knn.fit(X_train, y_train)print(knn.score(X_test, y_test))new_point = [[13.2,2.77,2.51,18.5,96.6,1.04,2.55,0.57,1.47,6.2,1.05,3.33,820]]
X_new = np.array(new_point)
prediction = knn.predict(X_new)
print(prediction)

在这里插入图片描述

查看分类名称:

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import numpy as npwine_dataset = load_wine()
X_train, X_test, y_train, y_test = train_test_split(wine_dataset["data"], wine_dataset["target"], random_state=0)knn = KNeighborsClassifier(n_neighbors=4)
knn.fit(X_train, y_train)print(knn.score(X_test, y_test))new_point = [[13.2,2.77,2.51,18.5,96.6,1.04,2.55,0.57,1.47,6.2,1.05,3.33,820]]
X_new = np.array(new_point)
prediction = knn.predict(X_new)
print(prediction)print(wine_dataset["target_names"][prediction])

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024自学网络安全的三个必经阶段(含路线图)_网络安全自学路线

一、为什么选择网络安全? 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地,网络安全行业地位、薪资随之水涨船高。 未来3-5年,是安全行业的黄金发展期,提前踏入…

从零入门激光SLAM(十六)——卡尔曼滤波基础

一、卡尔曼滤波简介KF 卡尔曼滤波器(Kalman Filter)是一种用于估计动态系统状态的递归算法。它通过结合系统的动态模型和噪声观测数据,提供对系统状态的最优估计。卡尔曼滤波器广泛应用于信号处理、控制系统、导航、计算机视觉等领域。 卡尔…

SHELL编程(一)

目录 一、 Linux操作系统(一)内核与操作系统(二)操作系统的功能 二、Linux高级命令(一) 离线安装 dpkg1. 安装2. 使用3. 查看安装详细信息4. 安装路径5. 不完全删除6. 完全删除 (二)…

买了个彩票,哈哈哈哈哈。

买了个彩票-双色球,发现挺有意思的。 索性把双色球的所有期的中奖号码的数据都爬了下来,03至今,21年了。txt文本,6.5MB大小。 大家有啥好的建议,分析一下数据呢。

数据结构链表详解(不仅顺序表可以,我链表也可以)

目录 顺序表的缺点: 链表 链表的概念及其结构 链表的分类 链表的实现 链表形式: 节点的创建: 链表的增删: 尾插 头插 尾删 头删 查找 打印 链表的重点 1、尾删:则是需要找到尾节点,进行删除 2、头删&a…

同为代码签名证书,OV和EV的区别在哪?

代码签名证书是用于为软件开发者提供的数字签名认证服务,它有助于保护软件的安全性和开发者的声誉,OV代码签名和EV代码签名有什么区别呢,如何选择? 代码签名证书查看https://www.joyssl.com/certificate/select/code_signing.htm…

微分阻尼作用的理解

先说阻尼的作用,阻尼能够缩短系统整定时间,减小系统响应的振动幅度。 1、CODESYS位置式PID(完整ST源代码) CODESYS位置式PID(完整ST源代码)_codesys pid功能块-CSDN博客文章浏览阅读1.2k次,点赞2次,收藏2次。CODESYS增量式PID完整源代码请参看下面文章链接:CODESYS增量式…

什么是等保测评?等保测评必须进行吗?

等保测评,全称为信息安全等级保护测评,是指对信息系统安全等级保护状况进行测试评估的活动。它是根据国家信息安全等级保护规范规定,由具有相应资质的测评机构,按照相关管理规范和技术标准进行的,目的是验证信息系统是…

Minecraft 我的世界服务器Java版开服联机教程

本教程使用Paper核心开服 1、进入控制面板 1.2、第一次购买服务器会安装游戏端,大约5分钟左右,如果长时间处于安装状态请联系客服 2、开启服务器 2.1、等待出现同意Minecraft EULA 协议时,点击“我接受” 2.2、等待running出现服务器就打开了…

栈和队列(1)

现在是个激动人心的时刻,因为我们来到了栈和队列的章节。 栈是一种特殊的线性表,只允许在一端进行插入和删除操作。进入数据插入和删除的一端叫作栈顶,另一端称为栈底。具有后进先出的特点。 压栈:数据的插入操作叫作进栈/入栈/…

【GESP】2023年12月图形化三级 -- 小杨做题

小杨做题 【题目描述】 为了准备考试,小杨每天都要做题。第 1 天,小杨做了 a a a 道题,第 2 天,小杨做了 b b b

vue-pure-admin项目内复制文字粘贴到word中之后存在边框问题

vue-pure-admin项目内复制文字粘贴到word中之后存在黑色边框是由于reset.scss文件内设置了通配符的border样式 修改前 代码 *, ::before, ::after {box-sizing: border-box;// 添加这个样式会导致复制的文字粘贴到word中带有边框问题border-color: currentColor;border-styl…

MIRO时,修改页签“采购订单参考”的数量时,金额不自动计算

MIRO 发票校验时,进入到如下界面,系统参考采购订单自动带出已经收货的金额和数量。 此时如果想要修改数量时,有些用户账号下,金额不自动计算,但是有些用户账号下,数量更改时,系统自动计算和建议…

FreeRTOS中断管理

文章目录 前言一、ISR的API函数二、切换任务 前言 在RTOS中,需要应对各类事件。这些事件很多时候是通过硬件中断产生。 假设当前系统正在运行Task1任务,用户按下了按键,触发了按键中断。触发中断后: 硬件负责: CPU跳到…

决策规划仿真平台的搭建

以下内容笔记据来自于b站up主忠厚老实的老王,视频;链接如下: 自动驾驶决策规划算法第二章第一节 决策规划仿真平台搭建_哔哩哔哩_bilibili 使用到的软件有matlab、prescan、carsim以及visual stadio。 我电脑上软件的版本是matlab2022a&am…

Java | 增强for底层工作机制

✍🏼作者:周棋洛,bilidown开发者。 ♉星座:金牛座 🏠主页:我的个人网站 🌐关键:Java 增强for 工作机制 目录 引言增强for循环语法增强for工作机制探究简单总结1.对于实现了Iterable接…

威纶通触摸屏下载项目文件后,文本都变成了框框的解决办法

威纶通触摸屏下载项目文件后,文本都变成了框框的解决办法 我们在用Easy builder pro编辑某些项目的情况下,编译没问题,为什么下载到触摸屏之后,文本都变成了框框了呢? 分析:: 不能正常显示文本的原因是字体文件缺失。 解决办法: 如下图所示,在Easy builder pro软件中,…

nginx反向代理kafka集群实现内外网隔离访问 —— 筑梦之路

背景说明 我们在使用Kafka客户端连接到Kafka集群时,即使连接的节点只配置了一个集群的Broker地址,该Broker将返回给客户端集群所有节点的信息列表。然后客户端使用该列表信息(Topic的分区信息)再与集群进行数据交互。这里Kafka列表…

街道治安新利器:EasyCVR智能视频管理方案助力城市安全新高度

一、背景分析 随着城市化进程的加快和社会治安形势的日趋复杂,街道治安管理面临着前所未有的挑战。对于街道治安的管理,面临着街道上机动车、非机动车违停、游商摊贩、垃圾堆积、人员监管等问题,既影响市容市貌,又有安全隐患。传…