Python的Wine数据集分类scikit-learn和K近邻实验

一、题目

请使用scikit-learn库和K近邻分类器完成Wine数据集的分类,训练比例自定。(数据下载: https://archive.ics.uci.edu/ml/datasets/Wine)

二、题目分析

这道题目就是获取数据然后分类的过程。首先在网站上下载好数据。然后回到Pycharm导入实验所需要的sklearn包,分别导入数据模块、切分训练集、测试集模块等。然后通过datasets的load_iris方法获取数据,分别用iris_x和iris_y获取data和target数据。然后通过train_test_split方法得到训练后的数据。最后实例化KNN模型,放入训练数据进行训练并且打印预测内容即可。

三、代码

from sklearn import datasets      
from sklearn.model_selection import train_test_split    
from sklearn.neighbors import KNeighborsClassifier
iris = datasets.load_iris()
iris_x = iris.data
iris_y = iris.target
print(iris_x)
print(iris_y)
x_train, x_test , y_train, y_test = train_test_split(iris_x, iris_y, test_size = 0.3)
print(y_train)
print(y_test)
knn = KNeighborsClassifier()    
knn.fit(x_train, y_train)      
print(knn.predict(x_test))           
print(y_test)     

在这里插入图片描述

四、运行结果

在这里插入图片描述


K最近邻 (k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的 机器学习算法 之一。 该方法的思路是:在特征空间中,如果一个样本附近的k个最近 (即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。 用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

Scikit-learn(以前称为scikits.learn,也称为sklearn)是针对Python 编程语言的免费软件机器学习库 。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学库NumPy和SciPy联合使用。

NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

一个用python实现的科学计算,包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。

NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。

NumPy 的前身为 Numeric ,最早由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。

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

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

相关文章

[MEGA DEAL]完整的Java捆绑包(96%折扣)

深入了解编程奥德赛(58小时!),进入最常用的编程语言 嘿,怪胎, 本周,在我们的JCG Deals商店中 ,我们提供了另一个超值优惠 。 我们为The Complete Java Bundle提供96%的…

基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计

微信公众号:创享日记 发送:plc交通灯 获取完整论文报告(内含梯形图程序、无水印流程图等) 按照城市交通控制的需要,本文讨论了用PLC实现正常时序、急车强通2种控制方式,通过传感器与PLC完成对交通异常状况&…

Ollydbg使用教程学习总结(四)

解密系列之OD使用教程13——迷途 程序:XoftSpy41._96.exe 用PEID查看,是VC6编写的程序,用OD载入 获取文本框输入内容API:GetWindowTextA API下断方法: a.右键>查找>所有模块间的调用,直接输入API&am…

基于PLC高层楼房供水系统课程设计毕业设计

设计目的 (1)能够检测到水箱的水位并用指示灯显示。 (2)由检测到水箱的水位,实现3台电机的供水要求。 (3)设计plc程序。 设计要求 (1)确定输入/输出设备。 (…

【通信原理课程设计】8PSK调制解调技术的设计与仿真(MATLAB)

摘要 在数字信号的调制方式中8PSK是目前最常用的一种数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。调制技术是通信领域里非常重要的环节,一种好的调制技术不仅可以节约频谱资源而且可以提供良好的通信性能。8PSK调制是一种具有较高频带…

基于PLC四层电梯模型控制系统课程设计

总设计要求 1.1 电梯上行设计要求 ①当电梯停于1F或2F、3F时,4F呼叫,则上行到4F, 碰行程开关后停止。 ②当电梯停于1F或2F时,3F呼叫,则_上行到3F,碰行程开关后停止。 ③当电梯停于1F时,2F 呼叫…

ini配置文件的读写

很多时候,我们的程序运行前需要用户做一些相关的设置,而且我们总是需要把一些配置信息保存下来,那天一直在思考怎么解决这个问题,突然就想到了在一些软件安装目录下的ini文件,然后经过查找资料发现其实ini文件既方便又…

自定义jackson序列化_Jackson中的自定义反序列化程序和验证

自定义jackson序列化tl; dr:将输入验证添加到Jackson中的自定义json解串器中很重要。 在RHQ中,我们在几个地方使用了Json解析-直接在as7 / Wildfly插件中,或者通过RESTEasy 2.3.5间接在REST-api中使用,已经很繁重了。 现在&…

基于西门子PLC s7-200 的自动立体车库设计自动化设计(控制器步进电机直流电机)

本组的设计题目是《基于 PLC 的立体车库设计》,本组设计包括机械设计,电路设计以及程序设计。在设计中遇到了很多困难,参考了相关资料,与老师进行多次沟通,一边学习一边制作,以厂家资料为标准进行修改&…

在Java 8之前,您编写了几行代码来对对象集合进行排序?

在Java 8之前,您编写了几行代码来对对象集合进行排序? Java 8您需要多少个? 您可以在Java 8中用一行完成。 让我们看看下面的Employee类。 public class Employee {private String name;private Integer age;public Employee(String name,…

MFC无边框对话框实现拖动

解决无标题栏窗口的拖动问题有两种方案,一种方案是使用常规思路来处理鼠标拖拽事件,当窗口获得WM_LBUTTONDOWN(OnLButtonDown)时,通过设置标志并调用CWnd::SetCapture()函数来让当前窗口捕捉鼠标…

基于51单片机的8八路抢答器设计

基于51单片机的8路抢答器 具体功能: (1)主持人进行复位,依次显示8位选手的分数,8位选手分数显示结束后主持人方可按下开始按键; (2)主持人按下抢答开始按键,抢答者才可以…

基于51单片机的简易抢答器设计

基于51单片机的简易抢答器 具体功能: 1、主持人按下抢答开始按键,抢答者才可以开始抢答,数码管抢答倒计时20S。 2、抢答者按下按键,数码管显示抢答者的编号。 3、可以通过按键修改倒计时时间。 部分程序代码: #incl…

Word2019中Visio对象图片插入题注时自动删除标签与编号前的空格,编号后添加空格

问题引入 撰写论文时为了修改方便,通常以插入题注和交叉引用的方式来给图片标号,这样修改图片和图号后可以方便、自动地更新。 然而,Word在插入题注上从03到13一直没有针对中国用户优化。 插入题注的标签与编号间有一个空格,当…

【32位win7一键扫雷】32位win7系统自带扫雷游戏逆向分析之一键扫雷(附VS代码工程文件、可执行文件和OD分析缓存文件)

实现效果 视频地址:https://www.zhihu.com/zvideo/1373742900744974336 附一张扫雷自定义中难度最大时进行一键扫雷的截图,如下,24*30,共668颗雷。 前言 一直对逆向感兴趣,就拿最简单的扫雷开始,对于XP系统中的扫雷,雷的数目以及雷区的地址都是固定的,可以直接通过…

基于51单片机的智能电子秤设计课程设计毕业设计

微信公众号:创享日记 对话框发送:单片机电子秤 获取仿原理图、真源文件、源程序代码和论文报告等 由STC89C51单片机最小系统LCD1602液晶显示模块HX711AD模块LED模块蜂鸣器按键模块10kg压力传感器构成。 具体功能: 1、数码管显示当前的重量&a…

java文件序列化_通过快速Java和文件序列化加快速度

java文件序列化从Java的第一个版本开始&#xff0c;许多开发人员每天都在努力实现至少与C / C 一样好的性能。 JVM供应商正在通过实现一些新的JIT算法来尽力而为&#xff0c;但仍有许多工作要做&#xff0c;尤其是在我们如何使用Java方面。 例如&#xff0c;对象<->文件…

【黑客帝国数字雨屏保】基于Win32的黑客帝国数字雨屏幕保护程序(附VS工程代码文件和可执行文件)

运行效果 代码结构 //黑客帝国数字雨 花心胡萝卜 #包含 <windows.h> #包含 <stdlib.h>#define 时钟编号 1 #define 最大长度 25 //一个显示列的最大长度 #define 最小长度 8 //一个显示列的最小长度 // 类型定义 结构类型 _字符序列 {//整个当作屏幕的一个显示列…

TestContainers和Spring Boot

TestContainers太棒了&#xff01; 它提供了一种非常方便的方式来启动和清除JUnit测试中的Docker容器。 此功能对于将应用程序与实际数据库以及可使用docker映像的任何其他资源进行集成测试非常有用。 我的目标是演示使用TestContainers对基于JPA的Spring Boot Application进行…

【模式识别】信号检测实验及MATLAB仿真

一、 参数 高斯噪声均值 u = 0 u = 0 u=0,方差 σ = 1 \sigma =