当前位置: 首页 > news >正文

【机器学习】鸢尾花分类-逻辑回归示例

这段代码是一个完整的示例,展示了如何使用逻辑回归对鸢尾花数据集进行训练、保存模型,并允许用户输入数据进行预测。以下是对这段代码的总结:

功能: 这段代码演示了如何使用逻辑回归对鸢尾花数据集进行训练,并将训练好的模型保存到文件中。然后,它允许用户输入新的鸢尾花特征数据,使用保存的模型进行预测,并输出预测结果。

步骤概述:

  1. 加载数据和预处理: 使用 Scikit-Learn 中的 datasets 模块加载鸢尾花数据集,并提取前两个特征。然后,划分数据集为训练集和测试集,并对特征数据进行标准化处理。

  2. 训练和保存模型: 创建逻辑回归模型,并在训练集上训练模型。训练完成后,使用 joblib 库将训练好的模型保存到文件中。

  3. 预测: 使用保存的模型,接受用户输入的鸢尾花特征数据(花萼长度和花萼宽度),将其组织成特征向量,然后进行预测。

  4. 结果输出: 根据预测结果输出对应的分类标签,指示预测的鸢尾花属于 Setosa 类别还是非 Setosa 类别(Versicolor 或 Virginica)。

使用方法: 运行代码后,它会首先训练模型并将其保存。然后,你可以输入新的鸢尾花特征数据以进行预测,系统将输出预测结果。

注意事项: 这个示例使用了 joblib 库来保存和加载模型,你也可以使用其他库如 pickle。此外,这个示例演示了逻辑回归在一个简单数据集上的应用,实际应用中可能需要更多的数据处理、模型调优和评估步骤。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
import joblib  # 用于保存和加载模型
def train_logistic_regression():# 加载鸢尾花数据集iris = datasets.load_iris()# 只使用前两个特征以方便可视化X = iris.data[:, :2]  # 将标签转换为二分类问题y = (iris.target != 0).astype(int)  # 划分数据集为训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 特征标准化scaler = StandardScaler()X_train = scaler.fit_transform(X_train)X_test = scaler.transform(X_test)# 创建逻辑回归模型model = LogisticRegression()# 在训练集上训练模型model.fit(X_train, y_train)# 保存训练好的模型joblib.dump(model, 'logistic_regression_model.pkl')def predict_with_saved_model():# 加载保存的模型model = joblib.load('logistic_regression_model.pkl')# 用户输入特征数据sepal_length = float(input("Enter sepal length: "))sepal_width = float(input("Enter sepal width: "))input_data = np.array([[sepal_length, sepal_width]])# 进行预测prediction = model.predict(input_data)if prediction[0] == 0:print("Predicted class: Setosa")else:print("Predicted class: Non-Setosa (Versicolor or Virginica)")# 训练模型并保存
train_logistic_regression()# 使用保存的模型进行预测
predict_with_saved_model()
输出结果:

Enter sepal length: 5
Enter sepal width: 7
Predicted class: Non-Setosa (Versicolor or Virginica)

备注

在这个示例中,sepal length(花萼长度)和 sepal width(花萼宽度)是用于输入的特征。这些特征是鸢尾花数据集中的两个测量值。这些测量值的单位是厘米(cm)。

对于鸢尾花数据集中的这两个特征,以下是一些参考值范围:

sepal length: 大约为 4.3 至 7.9 厘米。
sepal width: 大约为 2.0 至 4.4 厘米。
请注意,这些参考值是基于鸢尾花数据集的统计信息,并且会根据具体数据而有所变化。当你输入新的花萼长度和花萼宽度值进行预测时,请确保输入的值在合理的范围内。


相关文章:

【机器学习】鸢尾花分类-逻辑回归示例

这段代码是一个完整的示例,展示了如何使用逻辑回归对鸢尾花数据集进行训练、保存模型,并允许用户输入数据进行预测。以下是对这段代码的总结:功能: 这段代码演示了如何使用逻辑回归对鸢尾花数据集进行训练,并将训练好的…...

Flink CDC介绍

1.CDC概述 CDC(Change Data Capture)是一种用于捕获和处理数据源中的变化的技术。它允许实时地监视数据库或数据流中发生的数据变动,并将这些变动抽取出来,以便进行进一步的处理和分析。 传统上,数据源的变化通常通过…...

Java集合sort排序报错UnsupportedOperationException处理

文章目录 报错场景排查解决UnmodifiableList类介绍 报错场景 我们使用的是PostgreSQL数据库,存储业务数据,业务代码使用的是Spring JPA我们做的是智慧交通信控平台,有个功能是查询展示区域的交通态势,需要按照不同维度排序展示区…...

安防监控/磁盘阵列存储/视频汇聚平台EasyCVR调用rtsp地址返回的IP不正确是什么原因?

安防监控/云存储/磁盘阵列存储/视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RT…...

Spring boot开启定时任务

Cron表达式生成器 基于接口的方式 使用Scheduled 注解很方便,但缺点是当我们调整了执行周期的时候,需要重启应用才能生效,这多少有些不方便。为了达到实时生效的效果,那么可以使用接口来完成定时任务,统一将定时器信…...

package.json相关知识记录

一、相关字段 npm官方字段介绍 🍧 bin   >   简单理解:指定命令的名称及路径   🍉 相当于想path中添加路径,局部安装是在./node_modules/.bin/,全局安装是在全局的bin目录   🍉 bin指定的文件必须…...

VueRouter使用详解(5000字通关大全)

Vue Router是一个官方的路由管理器,它可以让我们在Vue应用中实现单页面应用(SPA)的效果,即通过改变URL而不刷新页面来显示不同的内容。Vue Router可以让我们定义多个路由,每个路由对应一个组件,当URL匹配到…...

vue axios实现下载文件及responseType:blob注意事项

需要使用axios和js-file-download组件 npm install js-file-download --save npm install axios --save import fileDownload from fileDownload; // 引入fileDownload import axios from axios; // 引入axios axios({method: get,url: xxxxxxx,responseType: blob }).then(r…...

StringBuilder类分享(1)

一、StringBuilder说明 StringBuilder是一个可变的字符序列。这个类提供了一个与StringBuffer兼容的API,但不保证同步,即StringBuilder不是线程安全的,而StringBuffer是线程安全的。显然,StringBuilder要运行的更快一点。 这个类…...

Qt 打开文件列表选择文件,实现拖拽方式打开文件

1. 实现打开文件列表选择文件 1.1. 创建 Qt 工程,并添加几个简单控件 这里笔者选用的是 QMainWindow,创建好工程后在 ui 界面设计中添加 QLineEdit、QPushBtton至少这两个控件,如下图摆放。 1.2. 头文件中添加相关操作 在 mainwindow.h 中…...

[C/C++]天天酷跑游戏超详细教程-上篇

个人主页:北海 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C/C🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!&#x1f9…...

5G NR:RACH流程 -- Msg1之选择正确的PRACH时频资源

PRACH的时域资源是如何确定的 PRACH的时域资源主要由参数“prach-ConfigurationIndex”决定。拿着这个参数的取值去协议38211查表6.3.3.2-2/3/4,需要注意根据实际情况在这三张表中进行选择: FR1 FDD/SULFR1 TDDFR2 TDD Random access preambles can onl…...

在vue3项目中编辑的时候,解决对话框里边的数据和列表中的数据联动了。深复制

//分析原因是从列表中拿到的数据直接复制去修改就涉及到堆里变的内容是一样的&#xff0c;直接复制其实只是把引用地址赋值给变量了&#xff0c;解决方法是 浅复制和深复制。<!-- 审批流程管理 --> <template><div style"float: left; width: 250px;backgr…...

循环结构(个人学习笔记黑马学习)

while循环语句 在屏幕中打印0~9这十个数字 #include <iostream> using namespace std;int main() {int i 0;while (i < 10) {cout << i << endl;i;}system("pause");return 0; } 练习案例: 猜数字 案例描述:系统随机生成一个1到100之间的数字&…...

ceph中PGLog处理流程

正文 struct pg_log_entry_t {ObjectModDesc mod_desc; //用于保存本地回滚的一些信息&#xff0c;用于EC模式下的回滚操作bufferlist snaps; //克隆操作&#xff0c;用于记录当前对象的snap列表hobject_t soid; …...

macOS使用命令行连接Oracle(SQL*Plus)

Author: histonevonzohomail.com Date: 2023/08/25 文章目录 SQL\*Plus安装下载环境配置 SQL\*Plus远程连接数据库参考文献 原文地址&#xff1a;https://histonevon.top/archives/oracle-mac-sqlplus数据库安装&#xff1a;Docker安装Oracle数据库 (histonevon.top) SQL*Plus…...

Mac下使用Homebrew安装MySQL5.7

Mac下使用Homebrew安装MySQL5.7 1. 安装Homebrew & Oh-My-Zsh2. 查询软件信息3. 执行安装命令4. 开机启动5. 服务状态查询6. 初始化配置7. 登录测试7.1 终端登录7.2 客户端登录 参考 1. 安装Homebrew & Oh-My-Zsh mac下如何安装homebrew MacOS安装Homebrew与Oh-My-Zsh…...

centos安装Nginx配置Nginx

1. 查看操作系统有没有安装Nginx which nginx 2. 使用epel的方式进行安装&#xff08;方法二&#xff09; 先安装epel sudo yum install yum-utils 安装完成后&#xff0c;查看安装的epel包即可 sudo yum install epel 3 开始安装nginx 上面的两个方法不管选择哪个&…...

Linux环境下搭建使用缓存中间件Redis

缓存中间件Redis搭建与使用 前言正文1 提供安装环境2 下载安装3 修改启动配置4 启动服务5 使用6 关闭服务7 卸载 前言 redis服务将在linux系统中部署&#xff0c;本文前提是已经搭建一个linux系统&#xff0c;并配置好网络等。使用vmware搭建一个linux系统&#xff0c;可以参考…...

Oracle 本地客户端连接远程 Oracle 服务端并使用 c# 连接测试

这里写自定义目录标题 前言Oracle 客户端安装先决条件下载 Oracle 客户端Oracle 客户端环境变量配置 PL/SQLPL/SQL 下载PL/SQL 配置 配置远程连接tnsnames.ora 文件配置 使用 PL/SQL 连接远程数据库使用 C# 远程访问 Oracle 数据库结语 前言 最近有一个需要使用本地的 Oracle …...

深拷贝和浅拷贝深入讲解

What? 浅拷贝和深拷贝发生在对象和对象之间&#xff0c;假设你需要将一个对象的值赋予给另一个对象&#xff0c;这个过程就叫做拷贝。那么拷贝的过程中&#xff0c;对象的属性中可能既有普通变量也有对象&#xff0c;能够复制后副本对象的引用指向新地址的就是深拷贝&#xff…...

PPTist免费在线演示文稿制作完全指南:从零到专业演示的终极教程

PPTist免费在线演示文稿制作完全指南&#xff1a;从零到专业演示的终极教程 【免费下载链接】PPTist PowerPoint-ist&#xff08;/pauəpɔintist/&#xff09;, An online presentation application that replicates most of the commonly used features of MS PowerPoint, al…...

FigmaCN中文界面本地化解决方案:解决设计师语言障碍的技术实现

FigmaCN中文界面本地化解决方案&#xff1a;解决设计师语言障碍的技术实现 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 对于中文设计师和开发团队来说&#xff0c;Figma作为一款国际…...

2026毕业季降AI工具排行榜,4款知网维普降AI软件横评

2026年毕业季过半&#xff0c;但还有大量同学的论文卡在AIGC检测这一关。知网在年初做了一次算法升级&#xff0c;维普、万方也在跟进&#xff0c;检测变得越来越严。论文一个字没改&#xff0c;去年12月查AI率18%能过&#xff0c;今年再查变成32%&#xff0c;很多同学就是栽在…...

非线性声学与强化学习融合的智能声学处理技术

1. 非线性声学与强化学习的融合框架解析在复杂声学环境中&#xff0c;传统线性声学模型往往难以应对高阶声学现象。非线性声学理论通过Westervelt方程和KZK方程等物理模型&#xff0c;能够准确描述声波在非线性介质中的传播特性。这些方程考虑了介质压缩性和边界反射等非线性效…...

告别HAL库延时:在STM32F103上基于CubeMX和LL库,打造更高效的SysTick延时方案

STM32F103高效延时方案&#xff1a;从HAL库到LL库的SysTick实战优化 在嵌入式开发中&#xff0c;精确的延时控制往往是项目成败的关键因素之一。许多STM32开发者最初接触的是HAL库提供的HAL_Delay()函数&#xff0c;它简单易用&#xff0c;但随着项目复杂度提升&#xff0c;特别…...

华为、华三、思科、锐捷网络设备远程登录配置

目录 一、华为Stelnet登录配置 二、华三Stelent登录配置 三、思科SSH登录配置 四、锐捷SSH登录配置 一、华为Stelnet登录配置 #查看SSH状态# [Server]dis ssh server status SSH Version : 2.0 SSH authentication timeout (Seconds) : 60 SSH authentication retries …...

论基于云原生数据库的企业信息系统架构设计

基于云原生数据库的企业架构随着云原生技术的全面普及&#xff0c;企业信息系统对架构的弹性伸缩、高可靠性、资源高效利用及敏捷迭代能力提出了更高要求。传统数据库存在的存储与计算耦合、扩展能力受限、运维成本高、故障恢复慢等痛点&#xff0c;已难以适配现代化企业的业务…...

湿敏电阻HR202/CM-R的两种驱动方案详解:IO充放电法 vs. 交流方波AD采样

湿敏电阻HR202/CM-R的两种驱动方案深度解析&#xff1a;从原理到实战选择 在环境监测和智能家居领域&#xff0c;湿敏电阻作为成本效益突出的湿度传感方案&#xff0c;其驱动电路的设计直接影响测量精度和系统稳定性。HR202和CM-R作为市面上常见的湿敏电阻型号&#xff0c;工程…...

从ADC采样到FFT分析:手把手教你用STM32F407的DSP库搞定频谱计算

从ADC采样到FFT分析&#xff1a;手把手教你用STM32F407的DSP库搞定频谱计算 在工业振动监测、音频信号处理和电源质量分析等场景中&#xff0c;频谱分析是理解信号特征的关键技术。STM32F407凭借其Cortex-M4内核和硬件FPU&#xff0c;配合CMSIS-DSP库&#xff0c;能够高效实现实…...