首页 分享 基于逻辑回归的鸢尾花分类预测

基于逻辑回归的鸢尾花分类预测

来源:花匠小妙招 时间:2026-05-03 18:05
基于逻辑回归的分类预测 1 逻辑回归的介绍和应用 1.1 逻辑回归的介绍 1.2 逻辑回归的应用 2 学习目标 3 代码流程 4 算法实战 4.1 Demo实践 Step1:库函数导入 Step2:模型训练 Step3:模型参数查看 Step4:数据和模型可视化 Step5:模型预测 4.2 基于鸢尾花(iris)数据集的逻辑回归分类实践 Step1:库函数导入 Step2:数据读取/载入 Step3:数据信息简单查看 Step4:可视化描述 Step5:利用 逻辑回归模型 在二分类上 进行训练和预测 Step6:利用 逻辑回归模型 在三分类(多分类)上 进行训练和预测 5 重要知识点 6 总结

1 逻辑回归的介绍和应用

    逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在 深度学习 相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。

1.1 逻辑回归的介绍

    普通的线性回归是利用各个自变量对因变量的取值进行建模,而逻辑回归则是利用自变量对因变量取值的概率建模。对于逻辑回归,最为突出的两点就是其模型简单和模型的可解释性强。
逻辑 回归模型 的优劣势:

优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低; 缺点:容易欠拟合,分类精度可能不高

1.2 逻辑回归的应用

    逻辑回归模型广泛用于各个领域,包括 机器学习 ,大多数医学领域和社会科学。例如,最初由Boyd 等人开发的创伤和损伤严重度评分(TRISS)被广泛用于预测受伤患者的死亡率,使用逻辑回归 基于观察到的患者特征(年龄,性别,体重指数,各种血液检查的结果等)分析预测发生特定疾病(例如糖尿病,冠心病)的风险。逻辑回归模型也用于预测在给定的过程中,系统或产品的故障的可能性。还用于市场营销应用程序,例如预测客户购买产品或中止订购的倾向等。在经济学中它可以用来预测一个人选择进入劳动力市场的可能性,而商业应用则可以用来预测房主拖欠抵押贷款的可能性。条件随机字段是逻辑回归到顺序数据的扩展,用于自然语言处理。

    逻辑回归模型现在同样是很多分类算法的基础组件,比如 分类任务中基于GBDT算法+LR逻辑回归实现的信用卡交易反欺诈,CTR(点击通过率)预估等,其好处在于输出值自然地落在0到1之间,并且有概率意义。模型清晰,有对应的概率学理论基础。它拟合出来的参数就代表了每一个特征(feature)对结果的影响。也是一个理解数据的好工具。但同时由于其本质上是一个线性的分类器,所以不能应对较为复杂的数据情况。很多时候我们也会拿逻辑回归模型去做一些任务尝试的基线(基础水平)。

2 学习目标

了解 逻辑回归的理论 掌握逻辑回归的sklearn函数调用使用并将其运用到鸢尾花数据集预测

3 代码流程

Part1 Demo实践 Step1:库函数导入 Step2:模型训练 Step3:模型参数查看 Step4:数据和模型可视化 Step5:模型预测 Part2 基于鸢尾花(iris)数据集的逻辑回归分类实践 Step1:库函数导入 Step2:数据读取/载入 Step3:数据信息简单查看 Step4:可视化描述 Step5:利用 逻辑回归模型 在二分类上 进行训练和预测 Step5:利用 逻辑回归模型 在三分类(多分类)上 进行训练和预测

4 算法实战

4.1 Demo 实践

Step1:库函数导入

## 基础函数库 import numpy as np ## 导入画图库 import matplotlib.pyplot as plt import seaborn as sns ## 导入逻辑回归模型函数 from sklearn.linear_model import LogisticRegression

python

123456789 Step2:模型训练

##Demo演示LogisticRegression分类 ## 构造数据集 x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]]) y_label = np.array([0, 0, 0, 1, 1, 1]) ## 调用逻辑回归模型 lr_clf = LogisticRegression() ## 用逻辑回归模型拟合构造的数据集 lr_clf = lr_clf.fit(x_fearures, y_label) #其拟合方程为 y=w0+w1*x1+w2*x2

python

1234567891011 Step3:模型参数查看

## 查看其对应模型的w print('the weight of Logistic Regression:',lr_clf.coef_) ## 查看其对应模型的w0 print('the intercept(w0) of Logistic Regression:',lr_clf.intercept_)

python

12345

the weight of Logistic Regression: [[0.73455784 0.69539712]]
the intercept(w0) of Logistic Regression: [-0.13139986]

Step4:数据和模型可视化

## 可视化构造的数据样本点 plt.figure() plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis') plt.title('Dataset') plt.show()

python

12345

在这里插入图片描述

# 可视化决策边界 plt.figure() plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis') plt.title('Dataset') nx, ny = 200, 100 x_min, x_max = plt.xlim() y_min, y_max = plt.ylim() x_grid, y_grid = np.meshgrid(np.linspace(x_min, x_max, nx),np.linspace(y_min, y_max, ny)) #np.linspace生成x_min和x_max之间的等差数列,数列含有nx个元素 # predict是训练后返回预测结果,是标签值。predict_proba返回的是一个 n 行 k 列的数组, 第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行的概率和为1。 z_proba = lr_clf.predict_proba(np.c_[x_grid.ravel(), y_grid.ravel()]) z_proba = z_proba[:, 1].reshape(x_grid.shape) # 这里为什么要选0.5作为contour level呢?实际上,z_proba是一个2D概率数组。选0.5作为contour level,是显示了一个最公正的决策边界。选0-0.5之间的值,斜率不变,截距向下,反之-则相反 # controu level 不能小于0或大于1,因为概率是在0-1的开区间。 plt.contour(x_grid, y_grid, z_proba, [0.5], linewidths=2., colors='blue') plt.show()

python

12345678910111213141516171819

在这里插入图片描述

# 可视化决策边界:contour level调整 plt.figure() plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis') plt.title('Dataset') nx, ny = 200, 100 x_min, x_max = plt.xlim() y_min, y_max = plt.ylim() x_grid, y_grid = np.meshgrid(np.linspace(x_min, x_max, nx),np.linspace(y_min, y_max, ny)) #np.linspace生成x_min和x_max之间的等差数列,数列含有nx个元素 # predict是训练后返回预测结果,是标签值。predict_proba返回的是一个 n 行 k 列的数组, 第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行的概率和为1。 z_proba = lr_clf.predict_proba(np.c_[x_grid.ravel(), y_grid.ravel()]) z_proba = z_proba[:, 1].reshape(x_grid.shape) plt.contour(x_grid, y_grid, z_proba, [0.5], linewidths=2., colors='blue') # 设置不同的contour level,并设置透明度 contour02 =

python

12345678910111213141516

相关知识

鸢尾花逻辑回归实验报告重点难点 逻辑回归鸢尾花分类
基于鸢尾花(iris)数据集的逻辑回归分类实践
逻辑回归鸢尾花分类可视化
机器学习算法其一:鸢尾花数据集逻辑回归分类预测学习总结
基于Logistic回归模型对鸢尾花数据集的线性多分类
逻辑回归的多分类实战:以鸢尾花数据集为例
基于鸢尾花(iris,sklearn中自带的数据)数据集的逻辑回归分类实践
python鸢尾花数据集的分类问题 -- 逻辑回归问题研究
【机器学习】利用逻辑回归对iris鸢尾花数据集进行分类
鸢尾花分类:逻辑回归实战解析

网址: 基于逻辑回归的鸢尾花分类预测 https://www.huajiangbk.com/newsview2599836.html

所属分类:花卉
上一篇: 佳能打印机清零软件,基本支持所有
下一篇: 斑马打印机常见故障及解决办法

推荐分享