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

逻辑回归分析实战(根据鸢尾花的性质预测鸢尾花类别)

紧接着上过一个线性回归模型(一元线性回归模型实战)

 一元线性回归模型和逻辑回归模型是统计学中常见的两种回归模型,它们有以下几点不同之处:

1. 目标变量类型:一元线性回归模型适用于连续型目标变量,即预测一个数量;而逻辑回归模型适用于二分类目标变量,即预测一个属于两个类别的概率。

2. 输出类型:一元线性回归模型的输出是一个连续的数值,表示目标变量的预测值;而逻辑回归模型的输出是一个概率值,表示目标变量属于某个类别的概率。

3. 假设函数形式:一元线性回归模型假设自变量与因变量之间存在线性关系,通过拟合一条直线来描述它们之间的关系;逻辑回归模型则假设自变量与因变量之间存在一种S形曲线的关系,通过拟合一个Sigmoid函数来描述它们之间的关系。

4. 参数估计方法:一元线性回归模型通常使用最小二乘法来估计模型参数,目标是最小化实际值与预测值的差异;逻辑回归模型则使用最大似然估计法来估计参数,目标是最大化观测数据的概率。

总的来说,一元线性回归模型适用于预测连续型变量的数值而逻辑回归模型适用于二分类问题,预测目标变量属于两个类别的概率。

代码展示

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
import numpy as npx = load_iris().data
y = load_iris().target# 将x和y合并在一起
combined_data = np.concatenate((x, y.reshape(-1, 1)), axis=1)# 保存合并后的数据到文件
np.savetxt('combined_data.txt', combined_data, fmt='%f', delimiter=',')# print("语义:",x,"标签:",y)
# 具体来说,`load_iris().data`将返回Iris数据集中的特征数据,它是一个二维数组,每一行代表一个样本,每一列代表一个特征。
# `load_iris().target`将返回Iris数据集中每个样本的目标分类标签。在Iris数据集中,一共有3个不同的类别,分别代表3种不同的鸢尾花。x_train, x_test, y_train,y_test = train_test_split(x, y, test_size=0.29,random_state=0)
# 具体来说,`train_test_split()`函数可以将数据集划分为训练集和测试集,其中`x`是特征数据,`y`是目标标签。
# `test_size`参数指定了测试集所占的比例,这里设置为0.29,意味着将29%的数据用作测试集,剩下的71%用作训练集。
# `random_state`参数用于设置随机种子,以确保划分结果的可重现性。
# 划分后的训练集包含`x_train`和`y_train`,测试集包含`x_test`和`y_test`。您可以在后续的建模和评估过程中使用这些数据集。
# 例如,在使用逻辑回归模型进行训练和预测时,可以这样使用划分后的数据集:#对数据标准化处理
sc = StandardScaler()x_train = sc.fit_transform(x_train)
x_test = sc.fit_transform(x_test)#训练逻辑回归模型,并对测试集进行测试
model = LogisticRegression()
model.fit(x_train, y_train)pred_data = sc.fit_transform( [[combined_data[54,0],combined_data[54,1],combined_data[54,2],combined_data[54,3]]] )
print("使用逻辑回归模型的预测类别为:",model.predict(pred_data))
print("他的真是标签为:",combined_data[54,4])print("逻辑回归分类的准确率为:%4.4f"%model.score(x_test,y_test))

http://www.lryc.cn/news/98993.html

相关文章:

  • 【每日一题】2050. 并行课程 III
  • 【kubernetes系列】kubernetes之使用kubeadm搭建高可用集群
  • SpringBoot 快速实现 IP 地址解析
  • 【云原生】Docker镜像的创建,Dockerfile
  • 了解Unity编辑器之组件篇Event(七)
  • bash: 睡觉的冒号;是不是两个点?
  • 揭秘爱数AnyShare认知助手:大模型深度产品化,深化人与机器的“分工协作”
  • ad+硬件每日学习十个知识点(10)23.7.21
  • RCU 使用及机制源码的一些分析
  • 【第二套】Java面试题
  • CSS3 实现边框圆角渐变色渐变文字效果
  • 第二天 kali代理配置
  • stable-diffusion-webui汉化教程
  • 热备盘激活失败导致raid5阵列崩溃的服务器数据恢复案例
  • 【ribbon】Ribbon的负载均衡和扩展功能
  • 数据链路层是如何传递数据的
  • 积分规划:构建全面的会员积分管理系统
  • amd的cpu有哪些型号(amd的cpu系列介绍)
  • 网络安全(黑客)自学——从0开始
  • uniapp使用uni-swipe-action后右侧多了小于1px的间隙
  • 随手笔记——演示如何提取 ORB 特征并进行匹配
  • Python访问者模式介绍、使用
  • 深度学习实际使用经验总结
  • 【广州华锐互动】AR智慧机房设备巡检系统
  • 关于Ubuntu 18.04 LTS环境下运行程序出现的问题
  • 「苹果安卓」手机搜狗输入法怎么调整字体大小及键盘高度?
  • 【人工智能】神经网络、前向传播、反向传播、梯度下降、局部最小值、多层前馈网络、缓解过拟合的策略
  • 一个tomcat部署两个服务的server.xml模板
  • CentOS 7安装Docker
  • Nginx前端部署