机器学习鸢尾花各种模型准确率对比

流程

  1. 获取数据集
  2. 导入需要的包
  3. 读取数据
  4. 划分训练集和测试集
  5. 调用各种模型
  6. 比较准确率

获取数据集

链接:https://pan.baidu.com/s/1RzZyXsaiJB3e611itF466Q?pwd=j484 
提取码:j484 
--来自百度网盘超级会员V1的分享

导入需要的包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import matplotlib as mpl
## 设置属性防止中文乱码
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False

# 导入各种模型 svm,knn,RidgeClassifier(),LogisticRegression(逻辑回归)
# 支持向量机分类svc,最近邻居 knn,lr逻辑回归,rc
# SVM=Support Vector Machine 是支持向量
# SVC=Support Vector Classification就是支持向量机用于分类,这里是分类问题所以引入SVC
# SVR=Support Vector Regression.就是支持向量机用于回归分析
from sklearn.linear_model import LogisticRegression,RidgeClassifier
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
# 到这里四种方式引入完毕
# 引入sklearn的划分训练集和测试集合
from sklearn.model_selection import train_test_split
# 计算模型准确率
from sklearn.metrics import accuracy_score`在这里插入代码片`

读取数据

iris_data=pd.read_csv('iris.csv', usecols=[ 1, 2, 3, 4,5])

划分训练集和测试集

x = iris_data[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']]        		
r = iris_data['species']   
x_train, x_test, r_train, r_test = train_test_split(x, r, random_state=0)

调用各种模型

SVC

# svc训练
svm = SVC(C=1, kernel='linear')

## 模型训练
svm.fit(x_train, r_train)

KNN

# knn训练
knn = KNeighborsClassifier(n_neighbors=1)
# 模型训练
knn.fit(x_train, r_train)

逻辑回归和RidgeClassifier

# 逻辑回归和RidgeClassifier训练
lr = LogisticRegression()
rc = RidgeClassifier()
# 模型训练
lr.fit(x_train, r_train)
rc.fit(x_train, r_train)

得到四个模型的测试集合准确度

# 得到4个模型测试集准确率
svm_score2 = accuracy_score(r_test, svm.predict(x_test))

lr_score2 = accuracy_score(r_test, lr.predict(x_test))

rc_score2 = accuracy_score(r_test, rc.predict(x_test))

knn_score2 = accuracy_score(r_test, knn.predict(x_test))
print(svm_score2)
print(lr_score2)
print(rc_score2)
print(knn_score2)
#0.9736842105263158
#0.9736842105263158
#0.7631578947368421
#0.9736842105263158

绘图比较

# 绘图得到四个对比数据
x_tmp = [0,1,2,3]
# y_score1 = [svm_score1, lr_score1, rc_score1, knn_score1]
y_score2 = [svm_score2, lr_score2, rc_score2, knn_score2]

plt.figure(facecolor='w')
# plt.plot(x_tmp, y_score1, 'r-', lw=2, label=u'训练集准确率')
plt.plot(x_tmp, y_score2, 'g-', lw=2, label=u'测试集准确率')
plt.xlim(0, 3)
plt.ylim(np.min((np.min(y_score1), np.min(y_score2)))*0.9, np.max((np.max(y_score1), np.max(y_score2)))*1.1)
plt.legend(loc = 'lower right')
plt.title(u'鸢尾花数据不同分类器准确率比较', fontsize=16)
plt.xticks(x_tmp, [u'SVM', u'Logistic', u'Ridge', u'KNN'], rotation=0)
plt.grid()
plt.show()

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET基于WEB的选课系统

摘要 设计本系统的目的是对选课信息进行管理。学生选课系统维护模块主要完成的是系统管理与维护功能。课题研究过程中,首先对系统管理模块进行了详尽的需求分析,经分析得到系统管理模块主要完成如下的功能:用户基本信息、选课信息的录入,查看…

SpringBoot 配置 jedis 来连接redis

Maven依赖 首先配置 maven依赖,这个依赖,要结合自己的springboot 的版本去选, 如果想要看自己的springboot 版本 在 启动类中去 加入,这两行代码 String version SpringBootVersion.getVersion(); log.info("***SpringBo…

Node.js 基础学习

文章目录 1. Node.js1.1 是什么?1.2 作用 2. 命令行工具2.1 命令的结构2.2 常用命令 3. Node.js 注意点3.1 Node.js 中不能使用DOM 和BOM 的API3.2 Node.js 中顶级对象叫做global 4. Buffer4.1 Buffer 特点4.2 Buffer 创建方式4.3 Buffer 操作与注意点 5. 计算机基础…

Flask:URL与视图的映射

默认端口号80、443 blog_id 限制数据类型的话(int) 除此之外别的数据类型也可以,或者多个(用any) /book/list?page6

spring boot后端开发基础

spring boot后端开发基础 Spring Boot一、开发步骤二、Web分析三、跨域问题四、HTTP协议五、Web服务器六、响应前端请求七、springboot常用注解创建一个简单的RESTful API服务层和数据访问层配置类和Bean定义响应体和路径变量 Spring Boot 一、开发步骤 创建项目 添加依赖 项…

三大层次学习企业架构框架TOGAF

前言 对于一名架构师来讲,如果说编程语言是知识库层次中的入门石,那么企业架构框架则相当于知识库层次中的金字塔尖。如果想成长为企业级的架构师,企业架构框架是必须要攀登的高塔。 目前国内绝大多数企业采用TOGAF标准,因此我们…

浅谈rDNS在IP情报建设中的应用

在当今数字化世界中,互联网已经成为人们日常生活和商业活动中不可或缺的一部分。在这个庞大而复杂的网络生态系统中,IP地址是连接和识别各种网络设备和服务的基础。然而,仅仅知道一个设备的IP地址并不足以充分理解其在网络中的角色和行为。为…

wps屏幕录制怎么用?分享使用方法!

数字化时代,屏幕录制已成为我们学习、工作和娱乐中不可或缺的一部分。无论是制作教学视频、分享游戏过程,还是录制网络会议,屏幕录制都能帮助我们轻松实现。WPS作为一款功能强大的办公软件,其屏幕录制功能也备受用户青睐。本文将详…

创新指南|利用 AI 工具转变您的内容策略

内容策略涉及规划、创建和管理内容。无论您是在策划博客文章、社交媒体更新还是网站内容,精心制定的内容策略是营销活动成功的关键。然而,如果没有合适的工具,维持强大的内容策略可能会具有挑战性。这就是人工智能(AI) 工具发挥作用的地方&am…

Python 将PowerPoint (PPT/PPTX) 转为HTML格式

PPT是传递信息、进行汇报和推广产品的重要工具。然而,有时我们需要将这些精心设计的PPT演示文稿发布到网络上,以便于更广泛的访问和分享。本文将介绍如何使用Python将PowerPoint文档转换为网页友好的HTML格式。包含两个示例: 目录 Python 将…

聚观早报 | 华为Pura70系列先锋计划;月之暗面升级Kimi

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月19日消息 华为Pura70系列先锋计划 月之暗面升级Kimi OPPO Find X7将推白色版本 波士顿动力推出人形机器人 v…

liqo学习及安装,k8s,kubernetes多集群互联

先按照官方的教程在虚拟机安装学习 在开始以下教程之前,您应该确保您的系统上安装了以下软件: Docker,容器运行时。Kubectl,Kubernetes 的命令行工具。 curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.…

使用Docker部署开源建站工具—Halo,并实现个人博客公网访问

目录 推荐 前言 1. Docker部署Halo 1.1 检查Docker版本 如果未安装Docker可参考: 已安装Docker步骤: 1.2 在Docker中部署Halo 2. Linux安装Cpolar 2.1 打开服务器防火墙 2.2 安装cpolar内网穿透 3. 配置Halo个人博客公网地址 4. 固定Halo公网…

前端CSS中“:hover”伪类选择器的使用

前端CSS中“:hover”伪类选择器的使用 一、前言二、改变链接的属性1.源码12.源码1运行效果 三、改变图片的属性1.源码22.源码2运行效果 四、改变卡片的属性1.源码32.源码3运行效果 五、结语六、定位日期 一、前言 在css中的:hover(悬停)伪类…

有交互作用的正交实验设计及数据分析

文章目录 一、认识有交互作用的正交试验1.1 交互作用1.2 问题假设1.3表头设计 参考“十二五”普通高等教育本科规划教材《实验设计与数据处理》 一、认识有交互作用的正交试验 1.1 交互作用 交互作用在实验设计中是指两个或多个因素在一起作用时对实验结果产生的影响&#xf…

OpenHarmony鸿蒙南向开发案例:【智能燃气检测设备】

样例简介 本文档介绍了安全厨房案例中的相关智能燃气检测设备,本安全厨房案例利用轻量级软总线能力,将两块欧智通V200Z-R/BES2600开发板模拟的智能燃气检测设备和燃气告警设备组合成。当燃气数值告警时,无需其它操作,直接通知软总…

如何用 AI 工具做数据分析与可视化?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 万字长文,助力你用 AI 提升科研效率。 2024 年 4 月 14 日,应武汉大学信息管理学院的邀请,我和北京大学步一老师给几…

STM32学习和实践笔记(17):STM32外部中断(EXTI)的整体介绍

1.外部中断介绍 1.1 EXTI简介 STM32F10x外部中断/事件控制器(EXTI)包含多达 20 个用于产生事件/中断请求的边沿检测器。(事件与中断的区别,可参看STM32---中断与事件的区别_中断和事件的区别-CSDN博客) 具体有哪些&a…

Android JetPack Compose+Room----实现搜索记录功能

文章目录 需求概述功能展示实现搜索功能使用的技术1.Android Jetpack room2.Android JetPack Compose 代码实现编写搜索界面接入Room实现搜索功能的管理引入依赖定义包结构定义操作表的Dao类定义数据库的基础配置定义数据库的Dao管理类使用数据库升级 源码地址 需求概述 搜索功…

人工智能论文GPT-3(2):2020.5 Language Models are Few-Shot Learners;微调;少样本Few-Shot (FS)

2 方法Approach 我们的基本预训练方法,包括模型、数据和训练,与GPT-2中描述的过程相似,只是模型规模、数据集规模和多样性,以及训练时长有所扩大,相对简单直接。 我们使用的上下文学习也与GPT-2相似,但在…
最新文章