基于LogisticRegression的鸢尾花分类

简介: LogisticRegression中文叫做逻辑回归,是一种基础、常用的分类方法。2018年8月24日笔记1.数据集Iris(鸢尾花)数据集是多重变量分析的数据集。

LogisticRegression中文叫做逻辑回归,是一种基础、常用的分类方法。

2018年8月24日笔记

1.数据集

Iris(鸢尾花)数据集是多重变量分析的数据集。
数据集包含150行数据,分为3类,每类50行数据。
每行数据包括4个属性:Sepal Length(花萼长度)、Sepal Width(花萼宽度)、Petal Length(花瓣长度)、Petal Width(花瓣宽度)。可通过这4个属性预测鸢尾花属于3个种类的哪一类。
样本数据局部截图:

img_6d28d040e19ed7ed2c87d8b48d20b8c7.png
Iris.png

获取150个样本数据的3种方法:
1.完整的样本数据Iris.csv文件下载链接: https://pan.baidu.com/s/16N0ivGWFrmc73ustPLWPZA 密码: ugun
2.数据集链接: https://gist.github.com/curran/a08a1080b88344b0c8a7
3.在sklearn的skleanrn库中自带了iris数据集,可以导入sklearn库的datasets文件,调用datasets文件中的load_iris方法就可以获得iris数据集。
本文采用的是第3种方法,直接从sklearn库中获取数据。

2.观察数据

鸢尾花数据集详细中文解释链接:http://sklearn.apachecn.org/cn/0.19.0/datasets/index.html#iris
网页中内容如下图所示:

img_bc46758276b75c0deb80660f50011936.png
image.png

查看数据集对象的属性和方法,代码如下:

from sklearn.datasets import load_iris
dir(load_iris())

上面一段代码的运行结果如下:

['DESCR', 'data', 'feature_names', 'target', 'target_names']

查看数据集的描述,即打印数据集对象的DESCR属性,代码如下:

from sklearn.datasets import load_iris
print(load_iris().DESCR)

与上图中文文档的图对照阅读,可以加强对数据集的理解。
上面一段代码的运行结果如下图所示:


img_c4549b60bd49dc052be41632731a0e29.png
image.png

将150个样本4个特征组成的矩阵赋值给变量X,变量X为大写字母的原因是数学中表示矩阵使用大写字母。
将150个样本1个预测目标值组成的矩阵赋值给变量y。
载入数据集的代码如下:

from sklearn.datasets import load_iris
X = load_iris().data
y = load_iris().target

3.逻辑回归模型

利用交叉验证方法得出模型得分。
代码如下:

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import ShuffleSplit

logisticRegression_model = LogisticRegression()
cv_split = ShuffleSplit(n_splits=5, train_size=0.7, test_size=0.2)
score_ndarray = cross_val_score(logisticRegression_model, X, y, cv=cv_split)
print(score_ndarray)
score_ndarray.mean()

上面一段代码的运行结果如下图所示:


img_2877de3a351b9339aa8559c03f3a7896.png
交叉验证.png
目录
相关文章
|
云安全 监控 安全
聊聊公有云的安全性
聊聊公有云的安全性
|
前端开发 JavaScript
Layui之组件的基本使用及案例演示1
Layui之组件的基本使用及案例演示1
333 0
|
9月前
|
弹性计算 运维 监控
云端资源的“诊疗大师”——阿里云云服务诊断评测
阿里云推出的云服务诊断工具是一款强大的“云端资源诊疗大师”,旨在提高故障排查效率,保障业务连续性和稳定性。该工具包含“健康状态”和“诊断”两大核心功能,能够实时监控云资源的健康状态,并通过智能诊断功能帮助用户迅速识别和解决潜在问题。此外,即将推出的“一键诊断”功能将进一步简化问题排查过程,让用户能够一次性解决所有云资源的问题。
|
9月前
|
设计模式 API C#
桥接模式(Bridge Pattern)
桥接模式是一种结构型设计模式,通过将抽象部分与实现部分分离,使它们可以独立变化,从而提高系统的灵活性和扩展性。主要角色包括抽象化、扩展抽象化、实现和具体实现。适用于多变化维度的系统,如跨平台开发、图形系统等。优点是分离抽象与实现,减少子类数量;缺点是增加了复杂性和理解难度。
304 2
|
11月前
|
机器学习/深度学习 算法 5G
|
11月前
|
机器学习/深度学习 C# 索引
HashMap的容量为什么一定是2^n?
`HashMap` 的容量设计为 `2^n` 主要出于三个考虑:1) 位运算效率高,通过 `(hash & (capacity - 1))` 快速计算索引;2) 元素分布均匀,减少哈希冲突,提高性能;3) 扩容时只需检查最高位,简化重分布过程,提升扩容效率。初始容量为 `1 << 4`(16),扩容以2倍递增。
281 0
HashMap的容量为什么一定是2^n?
|
11月前
|
移动开发 Linux PHP
群雄逐鹿,谁主沉浮?三国战纪H5游戏详细图文架设教程
群雄逐鹿,谁主沉浮?三国战纪H5游戏详细图文架设教程
|
Linux Windows 网络安全
阿里云服务器如何上传下载文件
1、链接到公网ip 2、使用rz、sz语法进行上传、下载   如果没有rz、sz,则给服务器里安装这两个包 yum install lrzsz 安装完毕即可使用rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
7731 1
|
数据安全/隐私保护 C语言
【C语言】getchar和putchar函数详解:字符输入输出的利器
【C语言】getchar和putchar函数详解:字符输入输出的利器
1323 0
|
资源调度 JavaScript 开发工具
vue3 + TS + elementplus + pinia实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容
vue3 + TS + elementplus + pinia实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容
713 0