基于鸢尾花(iris)数据集的回归分类实践——二分类及多分类

本文使用鸢尾花数据集进行机器学习实践,包括二分类和多分类任务。通过逻辑回归模型进行训练和预测,二分类任务中实现全部正确预测。而在三分类任务中,由于类别特征的模糊性,测试集准确度达到86.67%。
摘要由CSDN通过智能技术生成

鸢尾花数据集概括。
本次我们选择鸢花数据(iris)进行方法的尝试训练,该数据集一共包含5个变量,其中4个特征变量,1个目标分类变量。共有150个样本,目标变量为 花的类别 其都属于鸢尾属下的三个亚属,分别是山鸢尾 (Iris-setosa),变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica)。包含的三种鸢尾花的四个特征,分别是花萼长度(cm)、花萼宽度(cm)、花瓣长度(cm)、花瓣宽度(cm),这些形态特征在过去被用来识别物种。
在这里插入图片描述
代码部分

导入库

##  基础函数库
import numpy as np 
import pandas as pd

## 绘图函数库
import matplotlib.pyplot as plt
import seaborn as sns

数据读取/载入

## 我们利用 sklearn 中自带的 iris 数据作为数据载入,并利用Pandas转化为DataFrame格式
from sklearn.datasets import load_iris
data = load_iris() #得到数据特征
iris_target = data.target #得到数据对应的标签
iris_features = pd.DataFrame(data=data.data, columns=data.feature_names) #利用Pandas转化为DataFrame格式

浏览数据

## 利用.info()查看数据的整体信息
iris_features.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 4 columns):
 #   Column             Non-Null Count  Dtype  
---  ------             --------------  -----  
 0   sepal length (cm)  150 non-null    float64
 1   sepal width (cm)   150 non-null    float64
 2   petal length (cm)  150 non-null    float64
 3   petal width (cm)   150 non-null    float64
dtypes: float64(4)
memory usage: 4.8 KB
## 利用.head() 查看头部数据
iris_features.head()
	sepal length (cm)	sepal width (cm)	petal length (cm)	petal width (cm)
0	5.1	                3.5	                1.4	                0.2
1	4.9	                3.0	                1.4	                0.2
2	4.7	                3.2	                1.3	                0.2
3	4.6	                3.1	                1.5	                0.2
4	5.0	                3.6	                1.4	                0.2
# 利用.tail()尾部 查看头部数据
iris_features.tail()
        sepal length (cm)	sepal width (cm)	petal length (cm)	petal width (cm)
145	    6.7	                3.0	                5.2	                2.3
146	    6.3	                2.5	                5.0	                1.9
147	  	6.5	                3.0	                5.2	                2.0
148	    6.2	                3.4	                5.4	                2.3
149	    5.9	                3.0	                5.1	                1.8
## 其对应的类别标签为,其中0,1,2分别代表'setosa', 'versicolor', 'virginica'三种不同花的类别。
iris_target
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
## 利用value_counts函数查看每个类别数量
pd.Series(iris_target).value_counts()
2    50
1    50
0    50
dtype: int64
## 对于特征进行一些统计描述
iris_features.describe()
        sepal length (cm)	sepal width (cm)	petal length (cm)	petal width (cm)
count	150.000000	        150.000000	        150.000000	        150.000000
mean	5.843333	        3.057333	        3.758000	        1.199333
std	    0.828066	        0.435866	        1.765298	        0.762238
min	    4.300000	        2.000000	        1.000000	        0.100000
25%	    5.100000	        2.800000	        1.600000	        0.300000
50%	    5.800000	        3.000000	        4.350000	        1.300000
75%   	6.400000	        3.300000	        5.100000	        1.800000
max	    7.900000	        4.400000	        6.900000	        2.500000

可视化

## 合并标签和特征信息
iris_all =
  • 6
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你在学习Python数据分析的时候,是否遇到过在这些问题? 别慌!这些都是数据科学入门常见问题。从入门到上手再到解决实际问题,数据科学看似复杂,但如果你掌握了正确的学习方法,完全可以极速入门。 【职场人进阶必备  数据分析/挖掘一点通】 如今的职场上,90%以上的岗位都会涉及数据问题。 以产品文案岗位为例,在一个新产品推向市场之前,文案需要考虑: 此时,可以关注一下市场上已有的相关产品推广数据,如:哪些文案打开率更高?哪些文案转化更好?目标用户的购买习惯如何? 以此作为下一步工作开展的依据,对产品文案工作者来说,可以少走很多弯路。 学会数据分析/挖掘,等于站巨人的肩膀上工作,轻松且高效。 【爬虫、数据分析、数据挖掘知识点三合一】数据问题一网打尽 本课程将知识点悉数融入实战项目,不空谈语法,帮助学员在实践中获取知识,目标是:让学员能自主完成数据采集、数据分析与数据挖掘。 学习完本课程,你可以熟练掌握: 【实战案例超实用,轻松拥有“睡后收入”!】 本课程以股票案例为主线,串联爬虫、数据分析以及数据挖掘多个知识点。 通过实战案例演练,你可以全面掌握股票收益的分析和预判方法,在收获新技能的同时,也有机会获得“睡后收入”! 四大优势: 三重权益:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值